InfiniDB is a GPLv2 full open source MySQL wire compliant database. It uses the MySQL server as a frontend and the backend has been changed out and optimized for columnar storage. MyISAM and InnoDB tables are supported also, alongside the InfiniDB columnar tables. There is no limitations on the open source version and the enterprise support version. Use as many nodes and TB as you desire. If you are using MySQL now, you can drop in replace InfiniDB and should be able to connect through existing MySQL interfaces. Do recommend using the packaged cpimport utility of InfiniDB for loading data into the tables, it has been optimized for insertion into InfiniDB engine and is recommended to use instead of LOAD DATA.
btw, I am an architect for InfiniDB, so here is my bias, free to try, use and scale :)
Here is the example PHP from php.net running against my InfiniDB instance locally:
I changed in my php.ini to point to the mysql.sock in the InfiniDB install (I am running the PHP on the same server as the DB)
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-socket
mysql.default_socket = /usr/local/Calpont/mysql/lib/mysql/mysql.sock
Using this phptest.php (basically the copy from php.net with my own db and tables)
<?php
// Connecting, selecting database
$link = mysql_connect('localhost', 'root', '')
or die('Could not connect: ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('wide') or die('Could not select database');
// Performing SQL query
$query = 'SELECT count(*) FROM wide';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
// Printing results in HTML
echo "<table>
";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>
";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>
";
}
echo "\t</tr>
";
}
echo "</table>
";
// Free resultset
mysql_free_result($result);
// Closing connection
mysql_close($link);
?>
Then running:
[root@michael-vm2 tmp]# php phptest.php
Connected successfully<table>
<tr>
<td>100000</td>
</tr>
</table>
This is all off a stock install of InfiniDB. Just change your create statement to specify the engine=infinidb and you are good to go.
http://infinidb.co/