我之前创建了一个项目,通过为每天创建一个表来存储RDMS中特定实体的每日数据,而不是在该表中存储当天的数据。
但现在我想将我的数据库从RDMS转移到HBase。所以我的问题是我是否应该创建一个表并存储该表中所有日期的数据,或者我应该使用我之前为每天创建单个表的概念。我想根据hbase的性能比较两种情况。 / p>
对不起,如果这个问题对你来说似乎很愚蠢。谢谢你
答案 0 :(得分:2)
如你所说,有2个选项
选项1:所有日期数据的单表
选项2:多个表
如果你有大量的单日数据,我更喜欢命名空间(在版本0.96中引入是一个非常重要的功能)和选项2。这也将支持多租户要求......
请参阅Hbase Book
- 命名空间是类似于关系数据库系统中的数据库的表的逻辑分组。这种抽象奠定了基础 即将推出的多租户相关功能:配额管理(HBASE-8410)
- 限制命名空间可以使用的资源量(即区域,表)。
- 命名空间安全管理(HBASE-9206) - 为租户提供另一级别的安全管理。
- 区域服务器组(HBASE-6721) - 可以将命名空间/表固定到 - RegionServers的子集上,从而保证课程级别为 隔离。
下面是命令w.r.t.命名空间
alter_namespace, create_namespace, describe_namespace, drop_namespace, list_namespace, list_namespace_tables
优势:
限制 :最终会有多个脚本来管理表而不是单个脚本(选项1)
有关详细信息,请查看hbase-series