大数据查询中心 大数据查询

随着大数据技术的成熟 , 涌现了非常多的成熟框架和技术 , 在大数据存储查询引擎方面也有非常多的优秀产品 。为什么出现这么多的优秀产品 , 为什么不是一款功能非常全面的产品 , 一劳永逸地解决所有问题呢?下面来看看结合实际的应用情况的分析结论 。
1、从需求说起
SAAS软件模式+微服务的架构 , 最终导致数据分散在每一个DB中 , 每个DB对应1个或多个领域 , 数据分散带来的问题就是无法跨领域去进行分析和统计;由于团队独立 , 产品规划也可能没有整体考虑业务规划 , 最终结果是业务不通、数据不通 , 客户无法看到数据 , 特别是实时看到数据就更困难了 。
基于上述的架构 , 需求有哪些呢 , 常见的有以下几类:
1)数据洞察分析:一般借助于可视化报表工具 , 比如帆软、PowerBI , 基于清洗好的数仓数据 , 进行拖拉拽的报表报告设计 , 满足定制化报表分析及洞察分析的要求 。有2个基本要求 , 1个是数据要清洗准备到位 , 1个是报告报表的自助化、定制化 , 而2者的结合点就是如何快速高效的将数仓里面的数据获取出来 , 即使拖拉拽生成的SQL语句复杂、性能差、条件随意、关联表多 , 客户需求必须满足 。
2)数据导出:同数据洞察分析类似 , 客户希望将查询报表中的明细数据 , 导出到本地或已有报表分析系统中 , 进一步分析或与已有数据进行融合分析 , 就需要将报表中生成的数据导出Excel , 其逻辑与报表的逻辑一样 , 一样是SQL语句复杂、性能差、条件随意、关联表多 。
3)提供营销自动化数据支撑:为业务赋能 , 基本CDP提供客户圈选 , 提供数据服务的支持能力 , 实现层面依然是拖拉拽 。
基于拖拉拽的操作模式 , 以及无法提前清晰知道SQL语法 , 提供什么样的DB引擎非常重要 。
2、救星OLAP
业务系统一般用OLTP事务型数据库 , 能保证业务逻辑的完整 , 并且有非常好的优势支撑高并发 , 长期以来都是业务系统DB的首选 。早期的数仓 , 在数据量不是特别大的情况下 , 也是用OLTP进行数仓处理的 。
随着业务数据量的增大 , 数仓使用OLTP作为计算过程已经基本退出了历史舞台 , 取而代之的是大数据的计算存储组件 , 数仓存储也会根据不同的使用场景要求 , 采取不同的存储引擎以满足客户的要求 。
对于大数据量查询且时效性高的场景来说 , OLAP是目前的首选 , 比如ADB、Kylin、DWS、ClickHouse、Doris等 , 当然为了进一步提升查询性能和并发度 , 引入缓存级的数据存储Redis等也是非常好的一种方式 , 但缓存级的DB只能满足数据量不太大的场景 。
【大数据查询中心 大数据查询】对于这些OLAP , ADB非常好的支撑起定制SQL的查询 , 无需增加任何索引 , 可以利用潜在机制及MPP的架构 , 满足查询要求;Kylin有着非常好的预计算机制 , 通过高效的汇总层、主题层 , 降低对于资源的使用 , 提升查询性能;ClickHouse有着非常好的单表查询性能 , 但是关联查询无法达到实践级的要求 。总的来说 , 没有一款产品能满足所有要求 , 银弹确实很难找 。

推荐阅读