之前我们陆续对
OLAP分析引擎的几款主流开源软件,都做了基本的介绍,今天的大数据学习分享继续,主要讲讲这几年的新晋热门OLAP分析引擎,ClickHouse。目前国内的互联网公司,腾讯、新浪、字节跳动等都用过。
ClickHouse背景
ClickHouse是由俄罗斯搜索引擎公司Yandex公司开源的OLAP数据库,性能表现优异,官方的基准测试中,平响速度是Hive的126倍,MySQL的429倍。
从2016年开源以来,受到的关注也不少,尤其在云产品、日志产品、银行数据分析等场景下,高性能表现非常受欢迎。
除了基础数据类型外,ClickHouse还提供了对复合数据类型的支持,像数组、元组、枚举和嵌套,通过array、json、tuple、set等复合数据类型,业务Schema能更灵活,更加契合OLAP的实际应用场景。
ClickHouse特点
①读多于写
在数据分析(OLAP)场景下,普遍的需求,通常是将数据批量导入后,进行任意维度的灵活探索、BI工具洞察、报表制作等。数据一次性写入后,分析师需要尝试从各个角度对数据做挖掘、分析,直到发现其中的商业价值、业务变化趋势等信息。这是一个需要反复试错、不断调整、持续优化的过程,其中数据的读取次数远多于写入次数。
②大宽表,读大量行但是少量列,结果集较小
在OLAP场景中,通常存在一张或是几张多列的大宽表,列数高达数百甚至数千列。对数据分析处理时,选择其中的少数几列作为维度列、其他少数几列作为指标列,然后对全表或某一个较大范围内的数据做聚合计算。这个过程会扫描大量的行数据,但是只用到了其中的少数列。而聚合计算的结果集相比于动辄数十亿的原始数据,也明显小得多。
③数据批量写入,且数据不更新或少更新
OLTP类业务对于延时(Latency)要求更高,要避免让客户等待造成业务损失;而OLAP类业务,由于数据量非常大,通常更加关注写入吞吐(Throughput),要求海量数据能够尽快导入完成。一旦导入完成,历史数据往往作为存档,不会再做更新、删除操作。
④无需事务,数据一致性要求低
OLAP类业务对于事务需求较少,通常是导入历史日志数据,或搭配一款事务型数据库并实时从事务型数据库中进行数据同步。多数OLAP系统都支持最终一致性。
⑤灵活多变,不适合预先建模
分析场景下,随着业务变化要及时调整分析维度、挖掘方法,以尽快发现数据价值、更新业务指标。而数据仓库中通常存储着海量的历史数据,调整代价十分高昂。预先建模技术虽然可以在特定场景中加速计算,但是无法满足业务灵活多变的发展需求,维护成本过高。
和MySQL支持多种存储引擎类似,ClickHouse也提供了丰富的表引擎,像合并树、外部存储、文件、接口等六大类20多种表引擎。
关于大数据学习,OLAP分析引擎ClickHouse,以上就为大家做了简单的介绍了。在企业级的应用场景当中,ClickHouse性能确实优异,但是也需要结合实际需求来做规划。成都加米谷大数据,专业
大数据培训机构,大数据开发、数据分析与挖掘,零基础班本月正在招生中,课程大纲及学习视频可联系客服领取!