Skip to content
jaywong85 edited this page Jul 23, 2013 · 9 revisions

大部分用户都不会接触到它的底层存储结构,但理解他的存储结构有利于设计更高效的应用,最大化系统的性能。另一个需要用户了解底层存结构的原因是,当某些原因导致系统重大问题时,用户可能需要修复Wasp中的数据。此时用户就需要知道数据存在何处并且知道如何从HBase中访问其中的内容。当然这种情况不应当发生,但实际的系统中任何异常情况都是可能的。

wasp1
从图中可以看出Wasp处理了三种HBase表,一张表是用来存储实体数据的;一张用来存储写入日志;其他若干张表属于索引表。
这些表都由EntityGroup实际管理,而一台FServer中可以部署若干EntityGroup。这里有以下几个要点:
1 属于同一张表的EntityGroup使用相同的实体表与索引表。
2 父子表共享EntityGroup,一个EntityGroup只有一个Redo Log,即属于父子表关系的表是共享Redo Log的。
3 EntityGroup中使用HBase为存储。
写入操作必须强制带入均衡字段,系统会通过均衡字段来分配要写入的EntityGroup,即,插入或更新操作会转入负责的EntityGroup中继续操作。

Clone this wiki locally