当前位置:  首页  >  服务器技术  >  Linux/unix  >  Linux教程

配置访问列式数据库vertica的php环境

文章标题:配置访问列式数据库vertica的php环境。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类
    vertica是一个和Sybase IQ,infobright类似的列式数据库,没有用过Sybase IQ,就和infobright 3.4的社区版做了简单对比测试,在同样一个一亿条记录的表中,下面的查询:
    select count(*) from c_log group by level;
    vertica花了5秒,infobright花了2分20秒。
    测试表c_log的结构为
    CREATE TABLE c_log (
    uid varchar(20),
    cash integer,
    gold integer,
    level integer,
    rtime datetime,
    tid varchar(20),
    act varchar(50),
    item varchar(500),
    value integer,
    value2 integer,
    time datetime
    );
    同时infobright的社区版是不支持insert语句的,只能用LOAD语句来插入数据,也就是说社区版不支持同时插入和查询,不过infobright商业版是支持的。vertica没有这个问题,当然,vertica也是商业的,需要钱买,在他们的官网可以申请30天的试用license。
    php访问vertica不像访问infobright,infobright是兼容mysql协议的,直接用imysql或pdo_mysql就行。而vertica不兼容mysql协议,所以也就不能用php的mysql模块来访问了。
    vertica网站上的数据库驱动只有odbc和jdbc的,jdbc是java用的,对php来说,那就只能用odbc来访问了。
    在centos linux 5.x上用odbc,首先要安装unixODBC:
    yum install unixODBC
    然后到vertica官网下载odbc的驱动,注意要根据自己的平台来下载,我这边用的是64位的:
    tar -xvzf vertica_4.0.24_odbc_3.5_unixodbc_x86_64_linux.tar.gz
    cp include/verticaodbc.h /usr/include
    cp lib64/* /usr/lib64
    配置odbc:
    vi /etc/odbc.ini
    [ODBC Data Sources]
    VerticaDSN = "vertica"
    [VerticaDSN]
    Description = VerticaDSN ODBC driver
    Driver = /usr/lib64/libverticaodbc_unixodbc.so
    Database = dbname
    Servername = 192.168.1.10
    UserName =
    Password =
    Port = 5433
    ConnSettings =
    Locale = en_GB
    还要更改odbcinst.ini:
    vi /etc/odbcinst.ini
    [VerticaDSN]
    Description = ODBC for VerticaDSN
    Driver = /usr/lib64/libverticaodbc_unixodbc.so
    [ODBC]
    Threading = 1
    改完后可以用
    isql -v VerticaDSN username password
    不测试一下,是否可以访问数据库,能访问的话,说明在linux下的odbc配置成功了。

[1] [2] 下一页

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有