我开始使用HBase,我想知道我设计的模型是否合适,如果是,如何改进服务器端的查询。
我想在HTML表格中显示一些用户信息,首次显示摘要信息,当您点击时,会显示详细信息。
这是模型:
SUMMARIZED_INFO_PER_USER:
Key Sum:1_Field1 Sum:1_Field2 Sum:2_Field1 Sum:2_Field2 ... Id:698745874588 Id:698745874580
90 Value11 Value12 Value21 Value22 ... 1 2
DETAILED_INFO:
Key Det:Field1 Det:Field2 Det:Field3 Det:Field4 ....
1 Value11 Value12 Value13 Value14
2 Value21 Value22 Value23 Value24
给定一个特定用户(90),我在汇总的详细信息表中有一个名为Id的列系列,其中时间戳作为列名称(受益于自动后代顺序),其具有详细信息Id(1,2 ... ),和第二个家庭(总和),其中有我希望在第一眼看到的字段。
此外,我还有第二个表格,其中将详细信息ID(1,2 ...)访问的所有详细信息存储为行。
我对这个模型的主要担忧是:
这是访问为用户保存的最后记录的最佳方式还是可以改进?
我目前正在为给定用户提供整行。然后我获取ID系列,读取最后10条记录,并按列名称获取此数据:[ID_VALUE]_Field1, [ID_VALUE]_Field2, and so on
。有没有办法在HBase中执行此操作,而不是在Java服务器中执行此操作?我想知道当用户有1m记录时会发生什么,会有1m(Id)+ Xm(Sum)列......
我害怕将这两个表合二为一,因为该表会在列中大量增加,但如果我将它保存在两个表中,则不会。我们有比用户更多的项目,所以我认为正常增长应该是行,而不是列。我错了吗?