Hbase建模选择
日期 2017年3月17日 | HBase建模记录 |
OLTP 应用场景: | |
OLAP 应用场景: | |
语音分析系统的应用场景 | |
基于HBase的建模考虑 | |
1.话单为主来考虑hbase的rowkey的生成规则: | |
1.1 原始语音文件的命名规则 | |
dxaudio_$(ID)_$(CallNum)_$(CalledNum)_$(starttime)_$(stoptime)_$(Type)_$(rec).voc | |
表示规则: | |
$(ID)表示通话唯一标识; | |
$(CallNum)表示主叫号码 | |
$(CalledNum)表示被叫号码 | |
$(starttime)为通话开始时间; | |
| |
$(stoptime)为通话结束时间,型同$(starttime) | |
$(datetime)为文件生成时间,型同$(starttime),文件入库时间 | |
$(Type)表示信道类型,见附录B | |
$(rec)为流水号,从00000至99999循环使用 | |
相同$(datetime)的各个文件的$(rec)不相同 | |
1.2业务上支持的字段 | |
1.3 如何支持一条记录对不同结构的查询 | |
1.4 倒排索引&搜索引擎 | |
关键词查找的方法已经到了极限 | |
互联网上的资料生成索引,总共分为三步 | |
1)把资料编号; | |
2)把每篇资料内容切分成词 | |
3)把词和资料编号的对应关系处理成 词è编号列表的形式 | |
需考虑的问题: | |
1)资料(网页)收集的全、快、稳、新、 | |
2)建立索引时要考虑质量、效率、赋权、周期、时效性、资源消耗问题 | |
3)query的时候要考虑的问题 query分析、排序、筛选、展示、性能、、广告、推荐、个性化、 | |
统计 | |
4)整体上要考虑地域性、容灾、国际化、当地法律、返作弊、垂直需求、移动互联网等 | |
1.5开源搜索引擎技术 | |
1)Lucene, | |
他不是一个引擎产品而是一个类库,至今开源搜索引擎最好没有之一 | |
使用java语音开发 | |
基本涵盖了搜索引擎中的索引和检索两个核心部分的全部功能 | |
抽象程度较好 | |
2)solr | |
一个完整的搜索引擎产品 | |
底层是基于Lucene | |
3) elasticSearch | |
产品级开源项目, | |
底层基于Lucene | |
提供Restful API的服务 | |
Restful 就是直接通过HTTP协议收发请求和响应,接口比较清晰简单,是一种架构规则 | |
| |
结论: | |
搜索类应用程序的检索可以通过es来进行检索。 | |