Java HBase数据模型的改进
我开始使用HBase,我想知道我设计的模型是否合适,如果合适,如何改进服务器端的查询 我想在HTML表格中显示一些用户信息,第一次显示汇总信息,单击时显示详细信息 这就是模型: 每个用户的汇总信息:Java HBase数据模型的改进,java,database-design,hbase,Java,Database Design,Hbase,我开始使用HBase,我想知道我设计的模型是否合适,如果合适,如何改进服务器端的查询 我想在HTML表格中显示一些用户信息,第一次显示汇总信息,单击时显示详细信息 这就是模型: 每个用户的汇总信息: Key Sum:1_Field1 Sum:1_Field2 Sum:2_Field1 Sum:2_Field2 ... Id:698745874588 Id:698745874580 90 Value11 Value12 Value21 Value22
Key Sum:1_Field1 Sum:1_Field2 Sum:2_Field1 Sum:2_Field2 ... Id:698745874588 Id:698745874580
90 Value11 Value12 Value21 Value22 ... 1 2
Key Det:Field1 Det:Field2 Det:Field3 Det:Field4 ....
1 Value11 Value12 Value13 Value14
2 Value21 Value22 Value23 Value24
详细信息:
Key Sum:1_Field1 Sum:1_Field2 Sum:2_Field1 Sum:2_Field2 ... Id:698745874588 Id:698745874580
90 Value11 Value12 Value21 Value22 ... 1 2
Key Det:Field1 Det:Field2 Det:Field3 Det:Field4 ....
1 Value11 Value12 Value13 Value14
2 Value21 Value22 Value23 Value24
给定一个特定的用户(90),我在汇总的详细信息表中有一个名为Id的列族,该列族的列名为反向时间戳(以受益于自动派生顺序),该列族具有详细信息Id(1,2…),第二个列族(Sum)具有我希望在第一个外观中显示的字段
此外,我还有第二个表,其中我将细节Id(1,2…)访问的所有细节信息存储为行
我对这种模式的主要担忧是:
- 就性能而言,这是访问为用户保存的最后记录的最佳方法还是可以改进的方法
- 我目前正在为给定用户获取整行。然后我获取ID族,读取最后10条记录,并按列名将此数据作为:
[ID\u VALUE]\u Field1、[ID\u VALUE]\u Field2,依此类推。有没有办法在HBase中而不是在Java服务器中实现这一点?我想知道当一个用户有1m条记录时会发生什么,会有1m(Id)+Xm(Sum)列
- 我害怕将这两个表合并在一个表中,因为表在列中会增长很多,但是如果我将它保留在两个表中,它就不会增长。我们的项目比用户多,所以我认为正常的增长应该是行,而不是列。我错了吗