ClickHouse(二)学习之OLAP
背景
- 在社会发展过程中,随着互联网和移动互联网,未来随着5G对于物联网推动,海量数据的存储和处理遇到的技术挑战会越来越大。这主要来自于数据的量级、产生速度、处理速度、准确率等方面考量。
而这些海量数据,从是否结构化来划分,可以分为结构化数据(存储于各类关系型数据库中的结构化数据)、半结构化数据(客户端和服务器端产生的大量日志文件)、非结构化数据(如社交app的图数据、视频、ppt、图片、word、音频等等形式的数据)。 - 而从16年俄罗斯的Yandex公司开源了他们处理结构化数据的大数据处理框架Clickhouse之后,由于其100–1000倍甚至更高的技术指标,在世界范围掀起研究和应用的热潮。国内腾讯、头条、携程等大量部署了clickhouse集群,几百到几千的节点来应对PB级别的海量结构化数据存储和分析。
- 大数据处理技术,公司级别应用,最后一般都是为BI也就是business intellegence 商业智能。而这种场景下,一般归属于OLAP。
1.OLAP是什么
- OLAP(online analyse process,俗称联机分析处理技术)是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(Fast Analysis of Shared Multidimensional Information),即共享多维信息的快速分析的特征。
- OLAP是基于数据库的,而数据库概念最初源于1962年Kenneth Iverson发表的名为“A Programming Language” (APL)的著作,它第一次提出了处理操作和多维变量的的数学表达式,后来APL语言由IBM实现。
- 数据库之父Edgar F. Codd提出了著名的关系数据模型理论《A Relational Model of Data for Large Shared Data Banks 》,为后面数据库发展奠定基础。
- 第一款OLAP产品Express于1975年问世,随着被Oracle收购后繁荣发展了30余年,最后由继任者Oracle 9i替代。这么多年过去,基本的OLAP理念和数据模型仍然未变。
- OLAP这个名词是数据库之父Edgar F. Codd于1993年在文章《Providing OLAP (On-Line Analytical Processing) to User-Analysts: An IT Mandate》提出,他总结了OLAP产品的12个原则,随后OLAP产品相继问世并逐渐形成今天的格局。
2. OLAP重要概念
- 数据立方体(Data Cube),多维数据模型作为一种新的逻辑模型赋予了数据新的组织和存储形式。并不是说数据维度像立方体一样只有x、y、z三个维度,而是由很多个数据维度,各个维度数据组合而成。这样多维度的数据存储和描述某一个事物可以让信息更加翔实和充分。在商业领域,多一个维度考量,就多一份胜算。
如下图,京东笔记本电脑中,用户进行检索的指标,就有非常多的维度
- 维, 可以简单理解维平时看待事物或者评估事物的一个角度或者标准。实际商业生产中,评估一个事物会从很多维度进行记录和分析。就跟生活中评价一个人一样,会有很多个角度和方向来综合评价而不是单一角度评价。