Hi again!

There were several questions on the mailing list, which I try
to answer:

- The MySQL manual says that you can convert between different table
types using ALTER TABLE, the same should hold for the Innobase table type,
though I must admit I have not yet tested it. ALTER TABLE is a high-level
function, which should be taken care in MySQL code higher than the
the table handler.

- There is a Win NT version of MySQL/Innobase, and also Win95/98 version
should work, but I have not tested it lately. I have developed Innobase
on Win NT, and therefore the NT version should be in teh best shape of
all versions.

- There is currently no website dedicated to Innobase. I have left
registration application for www.innobase.net, and a page should appear
there in a few days. The website www.innobase.com is not my website,
that is a German IT consultant firm specializing in Baan services.
In MySQL manual, Section 8.6, on the MySQL website you can read
some technical info about Innobase.

- The origin of the Innobase database is in my work at University
of Helsinki 1993-95. I studied how the performance of traditional
disk-based relational databases could be improved. I wrote the
100 000 lines of code in Innobase during the next 3 years. When I
was looking at commercializing my engine, it caught my eye that free
databases are catching steam. I started collaborating with MySQL AB
last September.

- Innobase engine has not been used in applications yet. I have run
MySQL tests and my own multithreaded stress tests on MySQL/Innobase,
and it seems to work, but the final word of course will come from
the people who will use it in real-world applications.
       I have designed Innobase so that it should be easy to maintain
and debug: there are lots of comments in the source code, and in the
full debug version there are lots of assertions: in that version it
spends some 99 % of CPU time doing consistency checks to data structures.
       I have also written memory debugging to Innobase: it can notice
memory leaks and overwrites. Semaphores in Innobase are ranked in
the order they should be acquired when code is processed: the debug
version constantly checks that the order is obeyed. The debug version
also automatically detects deadlocks of threads, and prints diagnostic
information about them (of course these deadlocks should not occur
if the correct semaphore acquisition order is obeyed).

- The main strengths of Innobase should lie in its speed and also
in transaction management. To my knowledge MySQL/Innobase is the
fastest relational transactional disk-based database engine
currently existing. In transaction management an innovation is to
store row-level locks as a bitmap: the locks fit in a space so small
that lock escalation is not needed in real-world applications.
        Query processing in Innobase is optimized with an adaptive hash
index mechanism: the database constantly checks if it would benefit
from building partial hash indexes to the data existing in the buffer
pool. The mechanism is such that it can use the hash index also
to search for right places to insert index records for new rows:
thus the hash indexes also speed up insertions to normal B-tree
indexes.

But, now I will continue with my porting project to Alpha 64-bit Linux.
I will report to the mailing list tomorrow what is the release status
then :).

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