KDB数据库是一款时间序列数据库,被称为世界上最小且最快的数据库,具有非常高的性能和丰富高效的时间序列函数,由解释型语言、内存数据库、有序列表、面向表编程等部分组成,相比Mysql和Oracle数据库在时间序列数据上的处理有着强大的优势。
软件介绍
kdb+(基于q或者k语言的db, 增强版,也简称kdb)被官方称为世界上最快的时间序列数据库,它有非常高的性能和丰富高效的时间序列函数。列式存储的特性,使得对于某个列的统计分析操作异常方便。全球顶尖的投行、高盛、摩根、国内许多证券公司和私募基金也开始使用,在延迟性上有着苛刻要求的金融领域,kdb+有着独特的优势。
软件功能
1、内存数据库(In Memory Database),将数据放置在内存中
2、解释型语言(Interpreted)
3、有序列表(Ordered Lists), 实现高速处理数据的关键,区别于传统数据库。
4、赋值顺序(Evaluation Order)
5、面向表编程(Table Oriented)
6、面向列编程(Column Oriented)
7、强类型(Types)
软件特色
1.单体架构,轻松支持 billion以上数据
2.列式存储+内存数据库
3.灵活的Q语言,内置非常多的统计计算方法。
4.分布式扩展,无性能损耗
5.超低延迟+高并发支持
使用方法
1:K-DB启动
$kdboot -h
$kdboot
2:k-db关闭
$kddown
$kddown -h
3:k-DB登陆
$kdsql sys/kdb
4:k-db显示对象
sql>ls
5: k-db退出
sql>exit
6:k-db参数查看
sql>show parameter shm
7:k-db参数修改
vi kdb.tip ---大家看到这些参数修改,是不是和 oracle的pfile很想,很恐怖,能做到ORACLE一样的配置参数文件的
max_session_count=1500
total_shm_size=20g
memory_target=15g
8:k-db用户环境变量
cat .bash_profile
export KD_HOME=/home//kdb 11g/inspur
export KD_SID=kdb
export LD_LIBRARY_PATH=$KD_HOME/client/lib:$KD_HOME/lib
export PATH=$PATH:$KD_HOME/ bin:$KD_HOME/client/bin
9:增加表空间,redo,undo等竟然完全和oracle命令都一致
这点我有点很是意外,能做到如此完美,那以后K-DB数据库是不是完美兼容ORACLE,以后会ORACLE的人都能做KDB数据库
10:kdb甚至有些特性做的相当好,如多线程技术
安装(单机):环境变量的配置当然得添加用户组和用户了
#for kdb
export PATH
PATH=$PATH:$HOME/bin
export KD_SID=lott
export KD_HOME=/home/kdbapp/kdb11
export LD_LIBRARY_PATH=$KD_HOME/lib:$KD_HOME/client/lib
export PATH=$PATH:$KD_HOME/bin:$KD_HOME/client/bin
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export LANG=zh_CN.GBK
export KD_NLS_LANG=GBK
export KD_SQLPATH=/home/kdbapp/
alias kdsql='rlwrap kdsql'
config/目录下运行
./gen_tip.sh
修改配置
DB_NAME=kdb
LISTENER_PORT=8629
CONTROL_FILES="/kdbdata/lott/c1.ctl","/home/kdbdata/lott/c2.ctl"
DB_CREATE_FILE_DEST="/kdbdata/lott/"
#CERTIFICATE_FILE="/kdapp/kdb11/config/svr_wallet/kdb.crt"
#PRIVKEY_FILE="/kdapp/kdb11/config/svr_wallet/kdb.key"
#WALLET_FILE="/kdapp/kdb11/config/svr_wallet/WALLET"
MAX_SESSION_COUNT=200
TOTAL_SHM_SIZE=1G
MEMORY_TARGET=2G
nls_date_language=AMERICAN
要注意是需要版权文件的
∨ 展开