VoltDB学习笔记

ACID即是指在数据库管理系统(DBMS)中,事务(transaction)所具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。

目前主要有两种方式实现ACID:第一种是Write ahead logging,也就是日志式的方式。第二种是Shadow paging(在事务中,被事务影响的页从数据库文件复制到工作空间中,如易失存储器,并在该工作空间中进行修改。当事务提交,所有被事务修改的页从工作空间写入数据库文件的未使用页中。)。

建表时的主键索引不一定是voltdb里的表分区字段(Partitioning column),表分区字段是根据业务,频率来确定的,确定的表分区字段需要在项目定义文件中指明。

分表字段的建立规则:
1、任意的int或string型字段都可以作为分表字段,类似索引,从上下文看是全局的。
2、对于每一个表来说分表字段有且只能有一个,如果有两个或以上的字段需要作为分表字段,就用这些字段组合起来形成一个新字段来做。
3、分表字段不能为null,可以为empty或0,分表字段的值不需要唯一。

VoltDB里如果不在项目定义文件中特别指定一个表的表分区字段,则这个表默认被复制。

可以复制的表要满足的条件:Small, mostly read-only tables can be replicated

posted @ 2012-03-12 22:43  918xj  阅读(279)  评论(0编辑  收藏  举报