使用java将Mysql数据库转换为Nosql hbase

使用java将Mysql数据库转换为Nosql hbase,java,mysql,sql,hbase,nosql,Java,Mysql,Sql,Hbase,Nosql,我想将此关系“1到多”转换为Nosql hbase,员工可以有0个或多个订单 如果HBase要检索一名员工的所有订单,您可以使用以下行键结构: RowRey = ShardKey + EmployeeID + OrderID 其中,ShardKey是(EmployeeID%地区数)。这允许在区域服务器之间高效地分发数据,以避免热点。可以有两列族。在第一列中,行的族列可以与顺序表中的列相同。第二列中的值将与Employee表中的值相同。由于这些数据的更新率不同,建议将它们分开保存 列族是一个特定

我想将此关系“1到多”转换为Nosql hbase,员工可以有0个或多个订单

如果HBase要检索一名员工的所有订单,您可以使用以下行键结构:

RowRey = ShardKey + EmployeeID + OrderID
其中,
ShardKey
是(EmployeeID%地区数)。这允许在区域服务器之间高效地分发数据,以避免热点。可以有两列族。在第一列中,行的族列可以与顺序表中的列相同。第二列中的值将与Employee表中的值相同。由于这些数据的更新率不同,建议将它们分开保存

列族是一个特定于HBase的概念,在其他RDBMS应用程序中找不到。对于同一区域,不同的列族将数据存储到不同的文件中,并且可以进行不同的配置。具有相同访问模式和相同格式的数据应分组到同一列族中。作为有关格式的示例,如果除了每个客户的个人资料照片的图像文件外,还需要存储客户个人资料的大量文本元数据信息,则可能需要将它们存储到两个不同的列族中:一个是压缩的(其中存储所有文本信息),另一个是未压缩的(将存储图像文件的位置)。例如,关于访问模式,如果一些信息大部分是读取的,几乎从未写入过,而一些信息大部分是写入的,几乎从未读取过,则可能需要将它们分为两个不同的列族。如果要存储的不同列具有相似的格式和访问模式,请将它们重新组合到同一列fam中伊莉

但为了保持简单,您可以使用下面的行键将员工数据保存在单独的表中

RowRey = ShardKey + EmployeeID