使用PHP连接到Columnar数据库

SQL Server 2012 introduces a new index type called a column store index and new query operators that efficiently process batches of rows at a time. These two features together greatly improve the performance of typical data warehouse queries, in some cases by two orders of magnitude. This paper outlines the design of column store indexes and batch-mode processing and summarizes the key benefits this technology provides to customers. It also highlights some early customer experiences and feedback and briefly discusses future enhancements for column store indexes.

My Question is:

Is there any way to connect PHP-Mysql demo to that type of db?

There is lot of engines "MySql Based" as follows

  • InfiniDB
  • Infobright
  • MonetDB
  • ... etc

Is there any simple getting started with PHP-Mysql?

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/

Ok got an answer for you . I am a big fan of HP Vertica database, so i would recommend you use HP Vertica database if you want to make use of blazing speed.

Vertica is a Columnar Database that make full use of MPP,Data Compression, inline Clustering.
Is easy to install and maintain.
Fell free to bother me with Vertica related questions

I suggest you install the CE(comunity edition) and test it , is easy to install and it's operation system are a joke ! kkk i mean it's nood type of database , it act on it's own.