使用PHP连接到Columnar数据库

时间:2014-03-18 14:46:52

标签: php mysql sql sql-server batch-file

SQL Server 2012引入了一种称为列存储索引的新索引类型和一次有效处理批量行的新查询运算符。这两个功能一起大大提高了典型数据仓库查询的性能,在某些情况下提高了两个数量级。本文概述了列存储索引和批处理模式处理的设计,并总结了该技术为客户提供的关键优势。它还强调了一些早期客户体验和反馈,并简要讨论了列存储索引的未来增强功能。

我的问题是:

有没有办法将PHP-Mysql demo连接到那种类型的db?

有很多引擎" MySql Based"如下

  • InfiniDB
  • Infobright的
  • MonetDB
  • ...... etc

有没有简单的PHP-Mysql入门?

2 个答案:

答案 0 :(得分:3)

InfiniDB是一个GPLv2完全开源的MySQL线程兼容数据库。它使用MySQL服务器作为前端,后端已更改并针对列式存储进行了优化。除了InfiniDB柱状表外,还支持MyISAM和InnoDB表。开源版本和企业支持版本没有限制。根据需要使用尽可能多的节点和TB。如果您现在使用MySQL,您可以直接替换InfiniDB,并且应该能够通过现有的MySQL接口进行连接。建议使用InfiniDB的打包cpimport实用程序将数据加载到表中,它已针对插入InfiniDB引擎进行了优化,建议使用而不是LOAD DATA。

顺便说一句,我是InfiniDB的架构师,所以这是我的偏见,可以自由尝试,使用和扩展:)

以下是来自php.net的示例PHP在本地运行我的InfiniDB实例:

我在php.ini中更改为指向InfiniDB安装中的mysql.sock(我在与DB相同的服务器上运行PHP)

; 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

使用这个phptest.php(基本上是来自php.net的副本,带有我自己的数据库和表格)

<?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>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// Free resultset
mysql_free_result($result);

// Closing connection
mysql_close($link);
?>

然后跑步:

[root@michael-vm2 tmp]# php phptest.php 
Connected successfully<table>
    <tr>
        <td>100000</td>
    </tr>
</table>

这完全取决于InfiniDB的库存安装。只需更改你的create语句来指定engine = infinidb,你就可以了。

http://infinidb.co/

答案 1 :(得分:-1)

好的,你找到了答案。 我是HP Vertica database的忠实粉丝,所以我建议你使用HP Vertica database,如果你想利用超快的速度。

Vertica是一个柱状数据库,可充分利用MPP Data Compression内联群集。
易于安装和维护。
 免费使用与Vertica相关的问题来打扰我

我建议您安装CE(社区版)并测试它,易于安装,它的操作系统是一个笑话! kkk我的意思是它的数据库类型,它自己动作。