优炫数据库支持行存储和列存储引擎可以同时工作,支持单机与MPP部署方式,适用 OLTP/OLAP混合业务场景。
什么情况下会用到列存?概括为三点:
1
针对OLAP类型的表,行数特别大(百万、千万甚至上亿);
2
关键业务以查询为主;
3
查询每次查询涉及列数较少(占总列数的10%左右或更低);
所以,存储数据读取效率不高,执行速度较慢,又不能满足业务需求,推荐使用列存功能。
优炫数据库支持列存储,支持列存数据的索引、约束、清理、并行扫描、分区、并发与日志等功能。
数据按列存储,单独存放,在某些场景下可大幅降低系统 I/O(如:宽表情况下的聚合运算在某个或某几个列上)。数据类型一致,特征相似,支持高效压缩,降低磁盘空间,实现高效聚合。数据在读取过程不产生冗余数据,适合于在少量列上计算数据聚集的数据仓库负载,或需要对单列定期更新但不修改其他列的情况。
用法介绍
初始化集群
./initdb -D column -W
Enter new superuser password:
Enter it again:
/*输入一个新的管理员口令*/
启动数据库服务
./ux_ctl start -D ../column
连接数据库
./uxsql -d uxdb
Password:
/*输入初始化时设置的口令 */
创建列存表
//创建普通列存表
createtabletable_name(idint,nametext,ageint)with(orientation=column, appendonly=true);
//创建带约束的列存表
createtableproducts(product_noint,nametext,pricenumericCONSTRAINTpositive_priceCHECK(price>