12.10.3 事件表
首先我们给出时间表在RDBMS中的表结构,如表12-20所示。
上述事件表存储了所有用户所发生的事件信息,包括事件名称和事件发生的时间。HBase一般针对某一特殊的应用存储数据,因此我们需要首先确定用户的需求。假如用户的需求描述如下:查询某一用户最近发生的10个事件。那么,RDBMS的SQL查询语句如下:
SELECT A_Id, A_UserId, A_Name, A_Time From Action WHERE A_UserId=*ORDER BY A_Time DESC LIMIT 10
在HBase中为了加快数据的查询速度,现在需要将数据以用户聚簇的方式存放,并且按照事件发生的时间倒序排列。那么在HBase中将有下面的存储模式,如表12-21所示。
从上表中可以看出,数据已经按照要求聚簇存放,查询速度必然要优于RDBMS。