您的位置:首页 > 数据库

工作记录:南大gbase数据库的安装与postgresql数据库的对比(1)

2015-12-06 13:33 1141 查看
在一年多的现场工作中,我体会到了一个好的数据库对于一个系统的意义的重大,我这一直用的是postgresql数据库,对于它的体会好的地方我不说了,不好的地方就是在于查询慢,占用空间大,不支持HA方式部署(最致命),对于我来说,一个数据库好不好还要看其稳定性,是否免费(当然这个是收费的),带着这些问题,开始学习gbase数据库。

1、先不拿过来就安装,先谈谈查阅文档后的感受:

我用了一天的时间在网上查阅一些gbase的介绍以及官方文档。官方文档中宣扬其gbase最大的优势就是查询快、提高了I/O性能、高并发、基本可以与mysql等数据库无缝对接、并减少了物理硬盘的占用,gbase的核心功能官方文档列出了十项核心功能,什么列存储行存储、透明压缩啥的我懒得去看,单纯的只看与现有数据库的对比:
是否支持集群:gbase 8a mpp cluster 白皮书中介绍的是分布式节点+共享存储的方式,这种方式够用了,也是主流的解决方案,但从我的理解并没有解决我所苦恼的两台PC Server 实现数据实时同步的问题,不知道是否支持;
JDBC与JDK的兼容性:1.5以上,够用了;
主流框架的支持:hibernate写了,mybatis没提;
安全性:说实话这个真不太懂;
稳定性:这个要看长时间的实用,但文档中的数据备份和恢复什么的跟postgresql差别不大,都是几条命令;
http://www.07net01.com/program/85842.html
看了是一个网友对比oracle 11g和gbase的文章写的不错,并且提出oracle、db2、sqlserver等都是传统行式存储,用于事务型处理的,所以,在海量数据查询方面
不占优势,对比oracle 11g,GBase8a的查询效率比Oracle11g普遍快3~5倍以上 好吧
我信你的,完美PK掉oracle,对于我来说并不是查询快就够的,文档看的差不多了,实际安装一下看看。
2、安装:
文档中的安装过程还是很简单的,但是在安装文档中漏掉了几个关键步骤,需要在安装过程中自己摸索,文档中有的我就不再描述了,现将遇到的问题分享一下:

问题1:启动报错1:
[gbase@gbase bin]$ ./gbase.server start

grep: /config/gbase_8a_.cnf: 没有那个文件或目录

grep: /config/gbase_8a_.cnf: 没有那个文件或目录

./gbase.server: line 50: /bin/gs_print_defaults: 没有那个文件或目录

Error - /config/gbase_8a_.cnf was not found! Please make sure Express installation completed and activated successfully.

原因:通过查看gbase.server文件中(下图)发现需要配置环境变量,但文档中并未提及

41 # If you change base dir, you must also change datadir. These may get

42 # overwritten by settings in the GBase configuration files.

43

44 conf=$GBASE_BASE/config/gbase_8a_$GBASE_SID.cnf

45 logfile=`grep log-error $conf | cut -d '=' -f 2`

46 port=`grep port $conf | sed q | cut -d '=' -f 2`

47

48 basedir=$GBASE_HOME

49 password=1

50 $GBASE_HOME/bin/gs_print_defaults gbased > $HOME/.gs

51 datadir=`sed '/--datadir/!d' $HOME/.gs | awk -F"=" '{print $2}'`

解决办法:按下图配置环境变量(实例名填写安装时设置的,没有就默认gbase8a)即可:

export GBASE_BASE=/home/gbase/GBase

export GBASE_HOME=/home/gbase/GBase/server

export GBASE_SID=test

问题2:启动报错2:
[root@gbase bin]# su gbase

[gbase@gbase bin]$ ./gbase.server start

Starting GBase.151206 12:51:57 [ERROR] /home/gbase/GBase/server/bin/gbased: Can't create/write to file '/home/gbase/GBase/log/test/gbased.pid' (Errcode: 13)

151206 12:51:57 [ERROR] Can't start server: can't create PID file: Permission denied

.........................................

问题原因:进入到该目录,发现权限不够
[gbase@gbase bin]$ cd /home/gbase/GBase/log/test/

bash: cd: /home/gbase/GBase/log/test/: 权限不够

解决办法:使用root将该文件夹权限归属为gbase
[root@gbase log]# chown gbase ./test/

[root@gbase log]# ll

总用量 4

drwxrwxr-x. 2 gbase root 4096 12月 6 12:51 test

再执行启动命令:
[gbase@gbase bin]$ ./gbase.server start

Starting GBase.[确定]

这并没有启动成功,通过查看status发现并没有启动成功,这是最致命的第三个错误:
[gbase@gbase bin]$ ./gbase.server status

GBase is not running, but PID file exists[失败]

原因:通过查看志可观察到,license是无效的,其实我根本就没有license:
151206 13:15:25 [Note] ==================================

151206 13:15:25 [Note] tcmalloc enabled

151206 13:15:25 [Note] aggressive_decommit disabled

151206 13:15:25 [ERROR] (GBA-01LC-0003) Invalid License

于是我在南大官网上在线申请了一个试用license,同时,可以线下发邮件申请,现在能做的只有等待,哈哈,洗洗睡吧,等license到了再来分享!

以上只是基于一个小程序员的理解,对于数据库的专业性不强,欢迎拍砖!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: