Introduction & Definition
A database is the most vital system for a company as it stores mission
critical information. The continual failure of a company's database
system can only lead to the demise of the organisation - companies
cannot do business without a working system. A database management
system , or DBMS, gives the user access to their data and helps them
transform the raw data into information. These systems allow users to
create, update, and extract information from their databases. Compared
to a manual filing system, the biggest advantages of a computerized
database system are speed, accuracy, and accessibility. A database is a
structured collection of data. Data refers to the characteristics of
people, things, and events.
There are two main types of databases; relational and object
orientated databases. Relational databases are the most popular type
available in the commercial world. A relational database allows the
definition of data structures, storage and retrieval operations and
integrity constraints. In such a database the data and relations between
them are organised in tables. A table is a collection of records and
each record in a table contains the same fields. Certain fields may be
designated as keys, which means that searches for specific values of
that field will use indexing to speed them up.
The most popular database systems are based on the International
Standard Organisation (ISO) SQL specifications and ANSI SQL (American)
standards. The current specifications widely used in the industry are
ISO/ANSI SQL 1992. The upcoming standard is the SQL 1998/99 which is
also called SQL-3 is still under development.
MySQL
The first database application we'll look at is MySQL. MySQL
is a relational database management system that is a very fast,
multi-threaded, multi-user and robust SQL (Structured Query Language)
database server. MySQL is also Open Source which means that it´s
possible for everyone to use and modify its code. Having the source code available
means that developers can adapt the code to meet their specific
requirements without having to sign non-disclosure agreements.
MySQL has a good feature set including:
- fully multi-threaded using kernel threads. This means it easily
can use multiple CPUs if available.
- works on many different platforms with C, C++, Eiffel, Java, Perl,
PHP, Python and Tcl APIs.
- SQL functions are implemented through a highly-optimized class
library.
- a privilege and password system which is very flexible
and secure, and which allows host-based verification
- ODBC (Open-DataBase-Connectivity) support for Windows 95/8 (with
source).
- Handles large databases - tables with over a million rows have been
created with MySQL with no problems.
- Full support for several different character sets, including
ISO-8859-1 (Latin1), big5, ujis, and more. For example, the Scandinavian
characters `@ringaccent{a}', `@"a' and `@"o' are allowed in table and
column names.
With MySQL you can easily import Microsoft Access databases directly
to a Virtual Server. This just requires installing MySQL on the Virtual
Server and installing the supplied ODBC drivers. The MS Access databases
can then be used on the virtual server using MySQL. This means that
users can have Microsoft Access running on their PC as a nice front-end
with the power of MySQL on the Linux server.
The combination of PHP and MySQL is extremely powerful and makes for
an efficient way of creating web site administration tools. The
MySQL/PHP combination is ideally suited to solving those problems posed
by web site designs which just are not scalable, maintainable, or
technically feasible using conventional HTML authoring techniques.
Knitting together various Linux packages together represents the real
strength of Linux, only possible because of Open Source.
There are various types of commercial support available. There are
four different levels of support that TCX offer for business users. They
are: basic email support, extended email support, login support and
extended login support. The support costs between 170 Euro (for a basic
MySQL license) to 5000 Euro for one year extended login email support.
MySQL follows the Entry level SQL92. ODBC level 0-2 standard but it does
have a limited feature set compared with fully commercial relational
database systems. MySQL is a very fast and robust system, both essential
qualities for use in a business environment. Benchmarks have shown it to
be up to 5x quicker than db2. MySQL is a good choice for a database
back-end to a website and so has great potential in an Ecommerce
environment.
In short, MySQL is arguably the fastest SQL server available and comes
with quality commercial support. The program is still being actively
developed by TCX and they aim to make MySQL fully ANSI 92 / ANSI 99 compliant
in the future.
Oracle
Oracle Corporation is arguably the number one developer of database management
systems (DBMS) software in the world. Back in July 1998 they announced a
port of Oracle8 to the Linux operating environment. Oracle is a real
heavyweight relational database which is ideally suited for business
use and provides dot-coms and Independent Software Vendors
(ISVs) with a reliable, scalable, and secure Internet database based on
Linux, the low-cost operating system that has enjoyed an explosive
adoption rate among e-businesses.
Oracle is especially suited for e-business because it has
built-in analytical functions for data warehousing, Java 2, XML support,
and superior security that protects data in-storage and in-transit.
A summary of Oracle features is below:
- 100% ANSI/ISO SQL 92 Entry Level compliant - NIST tested
- Transactional Processing
- Large database support
- High availability - Online backup by file, tablespace, or database, online
recovery & mirrored, multi-segment, log files
- National Language Support
- Systems Management and Ease of Administration
- Concurrency control and declarative integrity constraints
- Programming Interfaces including JDBC and SQLJ for Java applications
Oracle is supported on Linux as on any other OS, with Oracle Worldwide
Support taking full responsibility for the Oracle product, in accordance
with the support contract. Oracle offer business users a wide variety
of support services including incident support, product support and a
premium support service.
Oracle allows easy integration with 3rd party products via industry
standard interfaces and tools. Additionally an advantage of Oracle is
that it is implemented on a wide range of operating systems, including
Linux, which gives clients a choice of which platform to use.
Furthermore Oracle implements row level locking which has performance
advantages over database systems that only implement page level locking.
With the commitment of Oracle to the database market, combined with the
rock stability of the Linux operating system this makes for an extremely
powerful combination.
DB2
Another commercial database that is ideally suited for e-business
is DB2. DB2 is produced by IBM and has been available for Linux since
late 1998. DB2 is a multimedia, Web-ready relational database management
system, strong enough to meet the demands of large corporations and
flexible enough to serve medium-sized and small businesses.
One of the key features of DB2 is its DB2 Control Center which offers
administrators an easy to use interface for maintaining databases that
can be run from any Java-enabled Web browser. Java developers are
catered by the DB2 Universal Database for Linux which offers support for
JDBC and SQLJ, and Net.Data allows for the creation of dynamic data driven
Web applications. Perl developers can also take advantage of the DB2 Universal
Database Perl driver for the Perl Database Interface.
DB2 has support for SQLJ which provides higher performance for Java database
applications. It exploits multiple processors of a symmetric multiprocessor
(SMP) machine to speed up the execution of a single SQL query. DB2 also has
support for Online Analytical Processing (OLAP) and Optimization Features.
Businesses can benefit from DB2 because it will easily allow them to
web-enable enterprise data and to provide transaction processing
IBM offer a wide variety of support contracts including classes at the customer
site. The classes cover such issues as Basic Administration, Advanced Administration,
Performance & Tuning, DB2 Connect and they can be specially tailored to fit a business
specific need.
According to IBM more than 70% of the world's major companies rely on DB2 to manage
their mission-critical business applications. DB2 supports millions of users and terabytes
of data in leading e-business applications worldwide. With this sort of usage, business
users can feel confident that DB2 under Linux will be extremely reliable. And with
the technical resources of IBM available, this makes for an extremely powerful
business package.
Informix Internet Foundation.2000
Informix Internet Foundation 2000 is another extremely high
quality commercial Linux relational database. It delivers a flexible, reliable and
easy to deploy Internet platform - a java toting, XML wielding,
object-relational database running on the Linux platform. The Linux version
is available at a heavily reduced price compared to the other platforms that
Informix is available for and commercial support is also available (although
this is not discounted).
Informix Internet Foundation.2000 is specifically designed to work the
way the Internet works: seamlessly integrating legacy data with new
content, and transparently supporting popular Internet development
standards such as Java, XML, and HTML. Dynamic companies are embracing the Internet
seeing it as a vital distribution channel for their products. Having a
web aware database is therefore going to be critical for businesses.
Internet Foundation.2000 consists of:
- Informix Dynamic Server.2000 (IDS.2000) - an industry-proven, no-compromise
database engine
- J/Foundation - integrates Java, the programming language of the Internet, with
an open, flexible, embedded Java Virtual Machine (JVM) environment
- Web DataBlade® module - provides a flexible way to transform business data
into content-driven applications
- Text DataBlade module - provides full-text searching directly inside the database
engine for documents and text fields in virtually any format that contains ASCII and
ISO characters
- Informix Office Connect - allows Excel developers without any knowledge of SQL or
understanding of database technology to create high-performance worksheet solutions
that incorporate Java
- Object Translator - an advanced solution for building object-relational mappings
that can be used to connect objects with enterprise data. Visual Basic or Java developers
deal with objects in the manner to which they are accustomed, without having to deal with
SQL programming via low-level APIs like ODBC or JDBC.
Informix Internet Foundation.2000 delivers a truly scalable platform
that grows with your business and adapts to your changing business
requirements in Web time. Informix provide their support services in
the name of TechInfo Center. This is an online information service
available 24 hours a day that provides support and product news.
PostgreSQL
PostgreSQL is another very sophisticated Object-Relational database
system that is available for the Linux platform. It offers multi-version
concurrency control, supporting almost all SQL constructs (including
subselects, transactions, and user-defined types and functions), and
having a wide range of language bindings available (including C, C++,
Java, perl, tcl, and python). Multi-version concurrency control is
important because it allows readers to continue reading consistent data
during writer activity and enables hot backups from while the
database stays available for queries.
PostgreSQL implements an extended subset of ANSI SQL and is highly
extensible offering user-defined operators, types, functions, and access
methods. There is a GUI FrontEnd Tool for PostgreSQL called pgaccess and
ODBC, UDBC, and JDBC drivers available. There are in fact two ODBC
drivers available, PsqlODBC and OpenLink ODBC. PostgreSQL has most
features present in large commercial DBMS's, like transactions,
subselects, triggers, views, foreign key referential integrity, and
sophisticated locking. It also can support extremely large databases e.g.
greater than 200 GB in size!
Like MySQL, PostgreSQL follows the 'Open Source Code development
model'. This helps to ensure that development of the package is
maintained, and commercial organisations can easily adapt the software
to meet their own specific requirements. There is a further advantage of
having an Open Source code database application. If a bug is found in a
non Open Source application a company typically can just report it to
the software house. It may only be large companies that can actually get
the software house to look at the problem and fix it.
PostgreSQL has been in development for over 10 years and represents a
mature product. This is an important consideration to a corporation who
cannot afford to trust their precious data to a product that has not
been extensively tested. Postgres has been used to implement many
different research and production applications. These include: a
financial data analysis system, a jet engine performance monitoring
package, an asteroid tracking database, a medical information database,
and several geographic information systems. Postgres has also been used
as an educational tool at several universities.
There is commercial support available for PostgreSQL from PostgreSQL
Inc. Support contracts range from a basic $200 package offering 30 day
install to a Platinum service costing £19,995.00 providing 1 year
unlimited support, and 24/7 telephone/email support. And PostgreSQL also
donate 25% of all service contract profits back to the development of
PostgreSQL, benefitting home and business users. The flexible support
contracts are effectively tailored to the size of the company.
PostgreSQL Inc also offer full database hosting.
Other databases
There are also a number of other high quality database systems for Linux
that deserve a mention. Firstly, Sybase have ported their Adaptive
Server Enterprise to the Linux platform. This offers a highly scalable,
high-performance database engine which is noted for its speed.
Commercial support is also offered. Other notable commercial databases
include SOLID, Empress and Adabas D.
A complete list of databases running under the Linux platform can be
found at linuxlinks.com.
|