从事数据库工作多年,目前看好分布式NeSQL/HTAP数据库在企业客户市场的发展。未来的主要方向是——致力于 NewSQL/HTAP 数据库的推广普及。
分类: Sybase
2013-05-03 14:34:00
IQ 16之前的版本对于一个表只能有一个写入者,不允许多个并发用户同时往一张表中写入数据。IQ 16.0目前在Simplex环境下通过使用新的"row-level versioning (RLV)" 数据存储(data store)可以执行实时行级DMLs (update、insert、delete)操作。当一个表注册到RLV data store时,多个用户能够并发向相同的表写入不同的记录行(对于相同记录的写操作将阻塞)。
SAP Sybase IQ 16引入的RLV Store是一种为高性能行级更新(row-level updates)而优化的内存数据存储(in-memory data store)。这个内存数据存储来自于SAP HANA内存数据库的Column Store技术。"RLV store"可以作为写活动的暂存区(staging area)。如果一个表允许RLV(row-level versioning),那么所有DMLs操作(LOAD TABLE、INSERT、UPDATE、DELETE)可以直接写到"RLV store"中。在"RLV store"中的内存数据(In-memory data in the RLV store)被定期地合并(merged)到IQ Main Store中。可以通过相应参数设置自动化合并操作,也可以在需要时通过手工命令启动合并操作。
"IQ Main Store" 是一种为高性能查询(读操作)优化的,而不是针对表写操作而优化的数据存储。"RLV Store"为IQ数据库增加了高性能写操作能力。你可以使用RLV技术联同已有的插入技术(比如,bulk loading)。例如,你的应用能够在上班时间进行实时更新操作;而在晚上执行绕过"RLV Store"的bulk load操作,直接装载被更新的到"IQ Main Store"中。
使用"RLV Store"并不需要额外的License,然而为了使用RLV(row-level versionning)需要注意:
* 只能在Simplex database环境下使用,不支持Mulitplex环境。
* 需要有一个RLV dbspace,并进行相应设置。
* row-level snapshot versioning必须被允许
* 在特定表或所有base表上,有被允许的RLV 存储
* 对于允许了RLV的IQ表,DDL的行为是不变的,即对于DDL操作来说(比如,在一个已有表上增加字段)仍然需要在相应表上
请求一个排它表锁。