Hi!

This is the first time I am posting to the MySQL mailing list. So let
us see if this message gets through.

Monty recommended that I should write to this list. I am currently
putting my database engine called Innobase under MySQL as a new
transactional table handler. It is projected to come out with MySQL
version 4 as free open source software.

The Windows and Linux versions of the combined MySQL/Innobase database
already work.

Innobase supports transactions, rollback, recovery, row-level locking,
and also consistent non-locking reads in the Oracle style. I noticed from
the messages posted yesterday to this list that the lack of transactions
has been a major complaint of some free database users about MySQL.
Transactions will come to MySQL with Innobase, and also with the Berkeley DB
handler, which is an alternative transaction-safe table handler
currently being installed under MySQL.

You will be able to use Innobase through MySQL by creating your
tables with CREATE TABLE FOO (....) TYPE = INNOBASE option. Otherwise
they will appear like any MySQL tables. Transaction commit and rollback
are done in MySQL through COMMIT and ROLLBACK commands.

Row-level locking is automatically performed in SQL commands like
INSERT and UPDATE. SELECTs will by default use the consistent
read mechanism, which means that no locks are placed, rather the SELECT
will read a consistent snapshot of the database at a point of
time. This means that Innobase is a multi-versioned database: it
stores old versions of rows as long as they might be needed in SELECTs.
The row-level locks in Innobase are next-key locks: this means that
transactions are serializable and so-called phantom rows will not appear.

SELECTs will have also options ...FOR UPDATE and ...IN SHARE MODE,
which mean that the SELECT places exclusive or shared locks on rows
it reads. These options are useful in some applications.

Innobase tables are placed in files you specify in the my.cnf file,
along with the file sizes. The files form an Oracle-style tablespace
where all Innobase tables and other data structures are stored.

The CPU performance of MySQL/Innobase should be the best of all
disk-based relational transactional databases. At least the simple
join and insert tests I have run suggest this.

A restriction currently is that a row in Innobase can be at maximum
7.5 kB long. BLOBS should appear some time in the future when I have
time to implement them.

If you readers of the MySQL mailing list have comments or questions
about this, I would be pleased to receive feedback on this mailing list.

Best regards,

Heikki Tuuri
Innobase Oy
Helsinki, Finland


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to