前言
在技术角度看解决大数据场景下的高效数据筛选,统计和分析,在数万数据中,任意组合查询条件,筛选需要的数据,做到毫秒返回。
业务特点:
数据需要支持各种组合,要求低延迟。
数据规模大,亿级别数据,需要支持迭代扩展。
OLTP 和 OLAP
数据库适合OLTP,列式数据库适合OLAP。
用数据库搞OLAP遇到如下问题:
数据量膨胀后,查询和写入性能明显下降,一般采用分库分表方式应对。
数据量膨胀后,很难满足运营多角度查询的需求,非索引查询可能造成全表扫描,性能下降明显。
行式存储 和 列式存储
行式数据库适合近线分析,比如查询表中某几条符合条件的记录的所有字段场景。 列式数据库适合做数据统计,比如用户表可能存在几十个字段,但是在统计需求上只需要其中几个字段,如果式行式则需要全表扫描,比较出名的式HBase。
HBase的使用核心式对于RowKey的设计,一般把常用的筛选条件组合设计到rowKey中,通过rowKey的get和scan获取单条和多条查询。
领取专属 10元无门槛券
私享最新 技术干货