Mongodb Hbase数据应如何用于快速查询响应?
我有以下规则的情况:Mongodb Hbase数据应如何用于快速查询响应?,mongodb,hadoop,cassandra,hbase,Mongodb,Hadoop,Cassandra,Hbase,我有以下规则的情况: 用户一次只能在一个地点。如果用户A在场馆X报到,然后在 场地Y,他们不再在场地X 办理登机手续最多只能“持续”3小时。如果用户A在场馆X报到,然后 3个小时内什么都没有,他们已经不在X场地了 数据将使用Kafka和spark流解析成HBase 我想使用HBase,TTL为3小时,版本控制为1,满足上述条件。问题是,我不知道如何在HBase中组织数据以实现更快的查询响应,我应该使用带有场馆名称或场馆名称的单个列作为不同的列名吗 哪一个是更好的选择?为什么 需要执行的查询包括:
2.现在在场馆X有哪些用户?最有效的查询是基于HBase表的行键。 我会使用用户名作为行键,以便能够快速获取特定用户所在位置的信息。每行需要一列-地点
显然,要收集所有数据(查询2:在场馆X的用户是什么),您需要扫描整个(部分)表。所以它不会很有效率。如果您面临此类查询的性能问题,请查看HBase的二级索引。最有效的查询基于HBase表的行键。 我会使用用户名作为行键,以便能够快速获取特定用户所在位置的信息。每行需要一列-地点
显然,要收集所有数据(查询2:在场馆X的用户是什么),您需要扫描整个(部分)表。所以它不会很有效率。查看HBase的二级索引—如果您在此类查询中遇到性能问题。因此,为了解决上述情况,我建议使用两个表:
如果您需要更多详细信息,请告诉我。因此,为了解决上述情况,我建议有两个表:
如果您需要更多详细信息,请告诉我。预计有多少用户和多少场馆?什么是读写比?预计每秒有多少个请求?这是一个新的实时查询实现。目前一切都将减少,但预计每个公共场所都将成为一个场馆。预计有多少用户和多少场馆?什么是读写比?预计每秒有多少个请求?这是一个新的实时查询实现。现在一切都会变少,但希望每一个公共场所都能成为一个场所。这是一个不错的方法。但是你认为它值得两个表吗?这种非规范化的主要开销是更新。但据我所知,在您的案例中,更新是在测试期间同时进行的。因此,您可以在两个表中保持数据同步。所以,我认为这应该行得通。很好的方法。但是你认为它值得两个表吗?这种非规范化的主要开销是更新。但据我所知,在您的案例中,更新是在测试期间同时进行的。因此,您可以在两个表中保持数据同步。所以,我认为这应该行得通。