技术开发 频道

列存储数据库MonetDB的安装配置

  【IT168 技术】MonetDB是一个开源的高性能列存储数据库系统,比基于行存储的MySQL性能最多可提高10倍 , 参见 MonetDB的TPC-H 性能测试。 MonetDB目前仍然是一个学术机构的开源项目,差不多每6个月出一个Release,由于Bug众多并不推荐在生产环境中使用。

  关于列存储数据库(Column-oriented DBMS)参见Wikipedia . 近年来,从商业产品(Sybase IQ)到开源的BigTable类项目(HyperTable, Hbase, Cassandra等),列存储数据库在OLAP应用中的地位越来越突出。

  安装步骤(CentOS 5.2 x86_64),安装过程同时编译了MonetDB的Java和PHP客户端库:

  1、预先安装JDK, ANT和PHP

#wget http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.1-bin.tar.gz

  将它们加入执行路径,例如/etc/profile中加入

export JAVA_HOME=/usr/local/jdk1.6.0_06
export ANT_HOME
=/usr/local/apache-ant-1.7.0
export PATH
=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin:/usr/local/php-fcgi/bin

  配置完后,重新登录,确认相关可执行文件的路径:

# java -version
java version
"1.6.0_06"
Java(TM) SE Runtime Environment (build
1.6.0_06-b02)
Java HotSpot(TM)
64-Bit Server VM (build 10.0-b22, mixed mode)
# javac
-version
javac
1.6.0_06
# php
-config
Usage:
/usr/local/php-fcgi/bin/php-config [OPTION]
Options:
--prefix            [/usr/local/php-fcgi]
--includes          [-I/usr/local/php-fcgi/include/php -I/usr/local/php-fcgi/include/php/main -I/usr/local/php-fcgi/include/php/TSRM -I/usr/local/php-fcgi/include/php/Zend -I/usr/local/php-fcgi/include/php/ext -I/usr/local/php-fcgi/include/php/ext/date/lib]
--ldflags           [ -L/usr/kerberos/lib64]
--libs              [-lcrypt   -lcrypt -lrt -lldap -llber -lpng -lz -ljpeg -lcurl -lz -lresolv -lm -ldl -lnsl -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lcurl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv -ldl -lidn -lssl -lcrypto -lz -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt ]
--extension-dir     [/usr/local/php-fcgi/lib/php/extensions/no-debug-non-zts-20060613]
--include-dir       [/usr/local/php-fcgi/include/php]
--php-binary        [/usr/local/php-fcgi/bin/php]
--php-sapis         [cli cgi]
--configure-options [--prefix=/usr/local/php-fcgi --with-config-file-path=/usr/local/php-fcgi/etc --enable-sockets --enable-pcntl --enable-mbstring --with-iconv --with-gd --with-curl --with-zlib --with-jpeg-dir --with-ttf --with-ldap --with-gettext --enable-soap --with-xmlrpc --with-openssl --enable-fastcgi --enable-discard-path --enable-force-cgi-redirect]
--version           [5.2.6]
--vernum            [50206]

  2.从MonetDB主页下载 MonetDB-Jun2008-SuperBall.tar.bz2 (实际上从SourceForge)

tar xvjf MonetDB-Jun2008-SuperBall.tar.bz2
cd MonetDB
-Jun2008-SuperBall

  执行

./monetdb-install.sh --prefix=/opt/MonetDB --enable-sql --enable-optimize

  则安装编译MonetDB到/opt/MonetDB下。

  PHP扩展等会自动编译,生成于 /opt/MonetDB/lib/php/extensions/下。

  3. 启动MonetDB服务器的方法是

/opt/MonetDB/bin/mserver5 --dbinit="include sql;"

  4. 执行MonetDB 的SQL查询客户端

  /opt/MonetDB/bin/mclient -lsql --time

  具体SQL语法参见MonetDB的文档

  http://monetdb.cwi.nl/projects/monetdb/SQL/Documentation/index.html

0
相关文章