3.4-3.6 依据业务需求分析HBase的表设计
一、依据[话单]查询需求分析HBase的表设计

1、分析
用户需要进行实时的查询,那么这些数据是放在HBase当中的,每个客户每天接打电话至少20个左右,而通信公司拥有很多用户,每天产生的数据都是上亿条。
提取出需要的信息,主要包括以下几点:
自己的号码:telphone
拨打或接听时间:teltime
区域:area
主叫或被叫:active
对方的号码:phone
通话时长:talktime
通话模式(国内或国外):mode
费用:price
而大部分功能的查询条件分析如下:
telphone +(starttime - endtime),条件是:号码+开始时间——结束时间
2、设计Rowkey
条件在上一章提过:号码+开始时间——结束时间,那么设计Rowkey就是telphone(电话号码)+teltime(通话时间)
在表的Rowkey设计中:
核心思想:
依据Rowkey查询最快
在实际的应用当中,就是对Rowkey进行范围查询range,Rowkey通常都是多个字段组成的。
Rowkey是前缀匹配的
二、查询固定时间段,接到固定电话的次数
1、分析
新的需求(话单数据的查询) phone + time >>> 依据前面设计的表
使用filter
columnFilter ==========================================================
索引表/辅助表(主表) -- 功能 phone_time
比如:
182600937645_2015100100000 182600937645_2015102400000
列簇:info
列:
rowkey -> Get最快的数据查询 =========================================================
主表和索引表的数据 如何同步呢?????
>> 程序,事物
>> phoenix:Phoenix 基于Hbase给面向业务的开发人员提供了以标准SQL的方式对Hbase进行查询操作
>> JDBC方式,才能同步
创建索引表
>> solr
lily
cloudera search
3.4-3.6 依据业务需求分析HBase的表设计的更多相关文章
- HBase概念学习(八)开发一个类twitter系统之表设计
这边文章先将可能的需求分析一下,设计出HBase表,下一步再開始编写client代码. TwiBase系统 1.背景 为了加深HBase基本概念的学习,參考HBase实战这本书实际动手做了这个样例. ...
- HBase(八): 表结构设计优化
在 HBase(六): HBase体系结构剖析(上) 介绍过,Hbase创建表时,只需指定表名和至少一个列族,基于HBase表结构的设计优化主要是基于列族级别的属性配置,如下图: 目录: BLOOMF ...
- hbase snapshot 表备份/恢复
snapshot其实就是一组metadata信息的集合,它可以让管理员将表恢复到以前的一个状态.snapshot并不是一份拷贝,它只是一个文件名的列表,并不拷贝数据.一个全的snapshot恢复以为着 ...
- HBase之六:HBase的RowKey设计
数据模型 我们可以将一个表想象成一个大的映射关系,通过行健.行健+时间戳或行键+列(列族:列修饰符),就可以定位特定数据,Hbase是稀疏存储数据的,因此某些列可以是空白的, Row Key Time ...
- HBase原理、设计与优化实践
转自:http://www.open-open.com/lib/view/open1449891885004.html 1.HBase 简介 HBase —— Hadoop Database的简称,G ...
- 1 CRM需求分析,数据库表,录入数据
1.需求分析 CRM客户关系管理软件---> 学员管理 用户:企业内部用户 用户量: 业务场景: 2.数据库表设计 1 .表之间的对应关系 from django.db import model ...
- Hbase的rowkey设计
HBase的rowKey设计技巧 1.设计宗旨与目标 主要目的就是针对特定的业务模型,按照rowKey进行预分区设计,使之后面加入的数据能够尽可能的分散于不同的rowKey中.比如复合RowKey. ...
- 架构师必备:HBase行键设计与应用
首先要回答一个问题,为何要使用HBase? 随着业务不断发展.数据量不断增大,MySQL数据库存在这些问题: MySQL支持的数据量为TB级,不能一直保留历史数据.而HBase支持的数据量为PB级,适 ...
- MapReduce和Spark写入Hbase多表总结
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 大家都知道用mapreduce或者spark写入已知的hbase中的表时,直接在mapreduc ...
随机推荐
- wamp中apache2.4.9配置httpd.conf允许外部访问
安装最新的wamp后发现通过外部网络无法访问本机的apache.在网上查询了相关问题,所有的答案基本都是说在httpd.conf文件中加入语句Allow from all.但是这些对应的是ap ...
- ActionChains报错问题总结
在使用Python2.7+Selenium3.0.2+Firefox50.1时,鼠标事件ActionChains运行总是报错,报错信息如下: C:\Python36\python3.exe C:/Us ...
- JavaScript常用库
提供个学习几种库的url,记录下. 1.JavaScript简介 JavaScript是Netscape公司开发的一种脚本语言(scripting language).JavaScript的出现使得网 ...
- linux cat命令(转载)
来源:http://blog.sina.com.cn/s/blog_52f6ead0010127xm.html 1.cat 显示文件连接文件内容的工具: cat 是一个文本文件查看和连接工具. 查看一 ...
- 三星note3 N900刷机包 4.4.2 ZSUDNE3 官方原汁原味 稳定流畅
ROM介绍 此ROM基于最新的4.4.2 ZSUDNE3 制作,加入一些必要功能,其它性能基本与官方无差距,各方面感觉都非常不错了.此ROM本人自用,所以制作风格有点个人倾向.不论什么建议或者问题欢迎 ...
- Operation not permitted - /usr/bin/pod
问题描述:执行sudo gem install cocoapods, 提示出错:While executing gem ... (Errno::EPERM) Operation not per ...
- SE14 调整并激活数据库
一.使用SE14 激活并调整MARA 时的消息:(体验心惊肉跳,你就改改标准表试试.-增强也请小心谨慎) 使用检查: 调整并激活后的结果: 二.如果 运行时对象检查 出错误,参考 http://blo ...
- Safair 浏览器cllick事件不生效或者需要双击才生效
针对Safair 浏览器cllick事件不生效或者需要双击才生效的解决方案. 方法一:给元素加上cursor: pointer样式.(不生效) 方法二:ios事件机制不一样,将click事件改为mou ...
- Non-parseable POM C:\Users\admin\.m2\repository\org\springframework问题解决方案
现象: [INFO] Scanning for projects... [ERROR] [ERROR] Some problems were encountered while processing ...
- Mapper3中Example的高级使用方法
http://zhuangxiaoda.leanote.com/post/Mapper3%E4%B8%ADExample%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E6% ...