用于浏览数据的Hbase架构/行键设计?
我们计划在我们的一个项目中使用HBase 我们正在从内部系统获取一些浏览信息,数据格式如下 我们的要求是我们必须开发3种不同类型的搜索用于浏览数据的Hbase架构/行键设计?,hbase,Hbase,我们计划在我们的一个项目中使用HBase 我们正在从内部系统获取一些浏览信息,数据格式如下 我们的要求是我们必须开发3种不同类型的搜索 D IP+日期范围(开始日期和结束日期) S IP+日期范围(开始日期和结束日期) URL+日期范围(开始日期和结束日期) 我正在考虑创建3个HBase表,如 行键作为DestinationIP+DateTime 行键为SourceIP+DateTime 行键为URL+DateTime 如果我采用上述方法,存储这些数据将占用大量空间 S IP
S IP DateTime Method URL - ResponseCode - D IP -
176.204.134.111 20140421093842 GET http://googleads.g.doubleclick.net/pagead/adview?ai=CAbmt4K5UU47XB5GS8wPOi4C4CKH1-ZwCkbiU7inAjbcBEAEgptSKH1D0-ev7B2CRdsgBAakC4V3k_lZFkj6oAwHIA4oEqgSQAU_QtfygurroekV-h5dYCoVP70qKDV1sAkiI60NNZiQ1wICQkqb5XMC3TllLKrhD0KxX0kb9-LnGkCDTqGmDE3Do-UdLGIyluqQ7MwoAcuTJMUajYKOflKPd2ZDj6RlKUAI9pbdkb96-k-XTVpON9rjUM2vUkvjwW3BwSfQk656GjoyUcEwsjwWId7p7obHcTsAEqf_DzQKSBQQIBBgBkgUECAUYBJAGAdgGAoAHueeCC5gHAQ&sigh=7zrG0DRVvMA 0 TCP_MISS/200 - 173.194.66.155 - 0
2.50.165.129 20140421093842 GET http://www.alquds.co.uk/wp-content/uploads/2014/04/1217.jpg 0 TCP_MISS/200 - 46.165.251.78 - 0
对于上述要求,什么是好的模式设计?考虑使用,它针对小键值时间序列数据的存储进行了优化
即使您不选择使用它,也一定要阅读讨论其中涉及的架构设计决策。我们的数据不是时间序列数据。在这里,我们得到了数十亿行的源IP、目标IP、URL(高达2000Char),Datatime。我们希望基于1.)源IP+日期时间和2.)目标IP+日期时间和3.)URL+日期时间开发3个搜索。这种OpenTSDB设计对我们没有任何帮助。您通过时间戳记录和查询的事实向我表明,这是时间序列数据,即使您不选择那样查看它。不管是哪种方式,看看OpenTSDB:从您告诉我的情况来看,它听起来仍然很适合。我的URL列长度大约为2000个字符,如果我将URL+时间戳设置为ROWKEY,可以吗?还是会占用更多空间,性能会下降?因为在Hbase中的任何地方,他们都建议将行键保持尽可能小。请建议。将url放在行键的第一位,并使用前缀数据块编码器(
data\u block\u ENCODING=>hbase shell中的“prefix”
)