MySQL™ Database Server
Official MySQL™ website www.mysql.com
The MySQL database
server is the world's most popular open source database. Its architecture
makes it extremely fast and easy to customize. Extensive reuse of
code within the software and a minimalistic approach to producing
functionally-rich features has resulted in a database management
system unmatched in speed, compactness, stability and ease of deployment.
The unique separation of the core server from the storage engine
makes it possible to run with strict transaction control or with
ultra-fast transactionless disk access, whichever is most appropriate
for the situation. More
>>
Features
- ANSI SQL syntax support
-
The MySQL database server supports a broad subset of the ANSI
SQL 99 syntax, along with extra extensions such as the REPLACE statement and the LIMIT
clause for SELECT and DELETE.
Alternative syntaxes from other database systems are also supported,
to make porting applications easier.
Our coverage of the complete ANSI SQL 99 syntax is expanding,
with version 4.0 introducing support for the UNION statement.
- Cross-platform support
-
We provide optimised binaries for a wide range of platforms,
including Linux, Microsoft Windows, FreeBSD, Sun Solaris, IBM's
AIX, Mac OS X, HP-UX, AIX, QNX, Novell NetWare, SCO OpenUnix,
SGI Irix, and Dec OSF.
You can connect to a MySQL database server from all of the
major platforms, using nearly any programming language, with
our standard threadsafe client library or one of the products
in our Connector family of database drivers.
- Independent storage engines
-
MySQL database server's unique independent storage engines
let you choose the type of database storage that is most appropriate
for your particular needs. If you need row-level locking and
transaction support, you can use the InnoDB storage engine.
If your application doesn't require transactions, you can use
the MyISAM storage engine for maximum performance.
- Transactions
-
Using the InnoDB or Berkeley DB (BDB) storage engines, the
MySQL database server supports transactions. The InnoDB storage
engine also supports foreign key constraints.
- Flexible security system, including SSL support
-
The MySQL database server has an advanced permissions and security
system, including support for SSL transport-layer encryption.
As of version 4.0, the security system also allows you to limit
server resources on a per-user basis.
- Query caching
-
Version 4.0 of the server includes a new query cache, which
can significantly increase the performance of commonly-issued
queries, without requiring any special programming. Performance
can be increased by over 200% in typical usage.
- Replication
-
Using database replication, you can have many "slave" servers
running off a single "master" server for robustness and speed.
- Full-text indexing and searching
-
Full-text indexes allow you to search fields containing arbitrary
text for specific words and phrases, including relevance rankings.
With version 4.0, we've expanded the fulltext search to include
exact phrase matching and Boolean search operators, which allows
for even more fine-grained control over your search results.
- Embedded database library
-
Using the embedded database library (libmysqld), you can include
the full power of the MySQL database server into applications
and electronics devices, without your end-user having any awareness
of the underlying database. The embedded MySQL database is ideal
for use behind the scenes in Internet appliances, public kiosks,
turn-key hardware/software combination units, high performance
Internet servers, self-contained databases distributed on CD-ROM,
and more possibilities just waiting for you to invent them.
Benchmarks and Feature Comparisons
We're always looking to make our software better, and have been
running benchmark software that we've developed alongside industry-standard
benchmarks such as the ANSI SQL Standard Scalable And Portable (AS3AP)
benchmark. You can view and
compare the results on our website, or download the benchmark
software and run your own tests.
We've developed a feature comparison tool called crash-me,
which you can download and run against your own database server,
or use our online feature comparison tool to compare
the results we've collected from various databases. The tool identifies
gaps in functionality, limits to functionality, and has been known
to take down some servers with its aggressive tests (thus the name).
Upcoming Features
We have a top-notch database server, but we're not sitting still.
We have a large team of developers working to implement new features.
Here's a sample:
(Note that versions listed for when each feature will appear is
simply an estimate. We do not publish estimates as to when new versions
will be released, only that we strive to do so as soon as we can
without sacrificing our own high standards for quality. If there's
a feature you'd like to see finished sooner, or a feature not on
the list you'd like us to work on, you should look into our MySQL
enhancements and extensions consulting program.)
- Character set handling, with full Unicode support
-
While earlier versions of the database server can be set up
to support specific characters sets, version 4.1 adds support
for multiple character sets which can be set at the server,
database, table, or field level, as well as improved support
for converting between character sets. New character sets have
been added for storing Unicode data in the UCS2 and UTF8 encodings.
- Expanded support for subqueries
-
Subqueries allow you to use the result of one query as a component
of a larger query. The MySQL server already supports some forms
of this technique, such as INSERT INTO ... SELECT ...,
and this support will be expanded in version 4.1 to include
nested SELECT queries, which is one of the most-requested
features from our users.
- GIS (Geometrical data)
-
Version 4.1 includes support for a subset of the SQL92 with
Geometry Types environment proposed by the Open
GIS Consortium. This allows for efficiently storing and
manipulating spatial data, including geographic data.
- Multi-master replication
-
Multi-master replication will allow for a slave database server
to track data in multiple master databases. Support for this
feature will be included in version 5.0.
- Stored procedures and triggers
-
Stored procedures allow you to create functions and subroutines
that run on the server. This makes it possible to grant access
to specific queries without granting carte blance access to
the underlying data, or validate data in the database before
it is stored. Triggers can be configured to fire when certain
conditions are fulfilled.
The MySQL database server will provide hooks for implementing
stored procedures in multiple languages, as well as including
support for the Persistent Stored Modules syntax defined as
part of ANSI SQL-99.
Support for stored procedures and triggers will be introduced
in version 5.0.
- Views
-
Views allow you to configure alternative views of existing
tables without changing the underlying table structure. They
can be used to grant limited access to tables, or make it easier
to construct certain types of queries. Views are currently scheduled
to be supported in version 5.1.
|