Paul has released Version 0.95 of his PBXT MySQL Transactional Storage Engine.
Here is what I did to get it operational under CentOS 4.3.
su - useradd pbxt su - pbxt wget http://www.primebase.com/xt/download/mysql-4.1.16-pbxt-0.9.5.tar.gz tar xvfz mysql-4.1.16-pbxt-0.9.5.tar.gz cd mysql-4.1.16-pbxt-0.9.5 ./configure --with-debug=full --with-pbxt-storage-engine --without-query-cache --with-mysqld-user=pbxt --prefix=/home/pbxt/mysql make make install scripts/mysql_install_db cd /home/pbxt/mysql ./bin/mysqld_safe --user=pbxt --basedir=/home/pbxt/mysql &
Now, lets test and confirm PBXT is operational.
bin/mysql -uroot mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 1 to server version: 4.1.16-pbxt-0.9.5-debug Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql> show engines; +------------+---------+------------------------------------------------------------+ | Engine | Support | Comment | +------------+---------+------------------------------------------------------------+ | MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | | HEAP | YES | Alias for MEMORY | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | | MERGE | YES | Collection of identical MyISAM tables | | MRG_MYISAM | YES | Alias for MERGE | | ISAM | NO | Obsolete storage engine, now replaced by MyISAM | | MRG_ISAM | NO | Obsolete storage engine, now replaced by MERGE | | InnoDB | YES | Supports transactions, row-level locking, and foreign keys | | INNOBASE | YES | Alias for INNODB | | BDB | NO | Supports transactions and page-level locking | | BERKELEYDB | NO | Alias for BDB | | NDBCLUSTER | NO | Clustered, fault-tolerant, memory-based tables | | NDB | NO | Alias for NDBCLUSTER | | EXAMPLE | NO | Example storage engine | | ARCHIVE | NO | Archive storage engine | | CSV | NO | CSV storage engine | | BLACKHOLE | NO | Storage engine designed to act as null storage | | PBXT | YES | Super fast transactional, row-level locking engine | +------------+---------+------------------------------------------------------------+ 18 rows in set (0.00 sec)
Now to take if for a spin with the MySQL Sakila Sample Database. At this time I need a modified version of the schema, as the sample database is designed for Version 5.
Download sakila.mysql4 script.
Download sakila.pbxt.sql script.
bin/mysql -uroot mysql mysql> source sakila.mysql4 mysql> source sakila.pbxt.sql # NOTE: Alter table of film_text fails as expected due to FULLTEXT index mysql> show create table actor; mysql> exit;
A few warnings in my sakila.mysql4 script I’ll need to review, but it looks ok from an installation step. Now back to my tests that I’m writing to use the Sakila Sample Database which I was working on, so I can really test the ACID state and performance of PBXT.