• BI与ClickHouse:探索式BI的OLAP技术演进之路


    尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili

    1. BI系统的沉浮

    1.1 传统BI之死

    为了解决传统早期IT系统在建设过程中“烟囱式”的发展模式,打通相互割裂的“数据孤岛”,让用户拥有站在企业全局鸟瞰一切数据的视角,BI(商业智能)系统的概念在20世纪90年代被提出,即一种统一面向数据仓库,专注于提供数据分析、决策类功能的系统与解决方案。人们通常用BI一词指代这类分析系统。相对于联机事务处理系统(OLTP),我们把这类BI系统称为联机分析(OLAP)系统。

    image-20210727183612222

    但是传统BI系统的实际的应用效果一直是差强人意。其原因至少有一下几点。

    • 对企业的信息化和数据化水平要求较高。需要企业有完善的信息化系统和统一的数据化仓库来作为技术支持,否者难以实现“站在企业视角通盘分析并辅助决策"的定位。
    • 狭小的受众制约了传统BI系统发展的生命力。如果主要受众是企业中的管理和决策层,这些人虽然有较高的话语权于系统的参与度和使用度不高,久而久之BI系统就沦为了领导视察、演示的“特供玩具”。
    • 冗长的研发过程滞后了需求的响应时效。传统BI系统多为定制开发,需要大量IT人员的参与。一个分析Idea从需求的提出到最终实现,可能需要几周甚至几个月的时间,滞后性严重影响体验。

    1.2 互联网大潮下的BI系统新生

    互联网和云原生SaaS化模式的兴起,为BI系统的商业模式带来了新的思路:

    • 首先,部署“轻量级化”,即不再需要强制捆绑于企业数据仓库这样的庞然大物之上进行数据同步,可以对于多种数据源直连即用。

    • 其次,使用“多元化”,即使用门槛降低,不需要IT人员的深度参与,用户直接通过自助的形式,通过简单拖拽、搜索就能得到自己想要的分析结果,而不用关心底层具体的实现方式和数据源类型。

    • 最后,体验“互联网化”,即便现代BI系统必须具有快速应答、简单易用的使用体验。从某种角度来看,经过SaaS化这波技术普惠的洗礼,互联网帮助传统企业系统在易用性和用户体验上进行了革命性提升。

    如果说互联网和SaaS化这波技术普惠为现代BI系统带来了新的思路与契机,那么背后的技术创新则保障了其思想的落地。

    Google于2003~2006年相继发表了三篇论文“Google File System”“Google MapReduce”和“Google Bigtable”,将大数据的处理技术带进了大众视野。2006年开源项目Hadoop最初指代的是分布式文件系统HDFS和MapReduce计算框架,但是它一路高歌猛进,在此基础之上像搭积木一般快速发展成为一个庞大的生态(包括Yarn、Hive、 HBase、Spark等数十种之多)。在大量数据分析场景的解决方案中, 传统关系型数据库很快就被Hadoop生态所取代。数据查询分析的手段也层出不穷,Spark、 Impala、Kylin等百花齐放。

    然而世间并没有万全之策, 虽然Hadoop生态化的属性带来了诸多便利性,但生态化的另一面是臃肿和复杂。Hadoop生态下的每种组件都自成一体、相互独立的格局显很多场景下都过于笨重了。与此同时,随着现代化终端系统对实效性的要求越来越高,Hadoop在海量数据和高时效性的双重压力下,也显得有些力不从心了。

    探索式BI的方向

    探索式BI系统,在产品定位与设计上是带有互联网SaaS化属性的产品,期望其包括以下特性:

    • 更统一:统一的数据门户,管理核心指标和口径。部门内下至数百条数据的个人Excel表格,上至数亿级别的企业数据,都能够在系统内部被直接处理;统一权限管理,降低管理的复杂度,提升数据安全性。统一数据运维,确保系统稳定性。
    • 更易用:面向普通用户而非专业IT人员,通过简单拖拽或搜索维度,就能完成初步的分析查询。分析内容可以是自定义 的,并不需要预先固定好。
    • 更实时:无论数据是什么体量级别,查询必须在秒级时间内返回。数据分析是一个通过不断提出假设并验证假设的过程,只有做到快速应答,这种分析过程的路径才算正确,这也是”探索式“BI的最大的特点。
    • 更专业:需要具备专业化程度并具备智能化的提升空间,需要提供专业的数学统计方法和可视化组件。

    为了满足上述产品特性,开发人员在底层数据库技术选型的时候可谓是绞尽脑汁,尽最大可能来选择合适OLAP技术方案。



     

  • 相关阅读:
    Web前端开发技术课程大作业:基于HTML+CSS+JavaScript实现校园主题-萍乡田家炳中学校网站(1页)
    如何利用人工智能减少塑料垃圾?
    C++ 正则表达式(匹配、搜索、替换)
    对@Bean注解的学习理解(大白话解释)
    前端 - get请求传递数组
    LeetCode 周赛 345(2023/05/14)体验一题多解的算法之美
    LeetCode刷题:27. 移除元素
    小程序赖加载刷新数据页面数据堆叠问题debug
    女生学java软件开发怎么样?就业前景如何?
    【Effect C++ 笔记】(四)设计与声明
  • 原文地址:https://blog.csdn.net/jmysql/article/details/126271953