如何选择大数据存储查询引擎
目录:
1、从需求说起
2、救星OlAP
3、新的问题,高并发
随着大数据技术的成熟,涌现了非常多的成熟框架和技术,在大数据存储查询引擎方面也有非常多的优秀产品。为什么出现这么多的优秀产品,为什么不是一款功能非常全面的产品,一劳永逸地解决所有问题呢?下面来看看结合实际的应用情况的分析结论。
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有着非常好的单表查询性能,但是关联查询无法达到实践级的要求。总的来说,没有一款产品能满足所有要求,银弹确实很难找。
所要做的就是根据不同的业务使用场景,寻找合适的OLAP引擎,并通过适当的缓存级DB提升不断增长的需求。
3、新的业务高并发问题,OLTP?
基于上述的洞察分析场景,OLAP基本是可以满足要求的,确实比较解决了定制化制作报告的问题,收到了良好的反馈。
随着业务的深入应用,业务也需要用到数仓(特别是实时数仓)的数据,用于业务之间的逻辑处理。通过数据服务开放API是可以满足相应的要求的,但是核心问题是业务应用的高并发,ToB的业务还好,ToC的业务量对于OLAP的数据库来说,高并发无法满足相应要求。只要高并发的新功能上线,DB宕机的概率非常大,这是非常大的挑战。
如何应对?有几个思路:
1)增加OLAP的硬件资源,硬抗。
2)在第1种的情况下,进行分库分表的思路,所有SAAS在一个库中相互影响太大,可以分几个或多个,比如分级数据中心,极限是私有化;
3)引入OLTP数据库(同样支持分布式),以提升高并发的支撑度,满足实际客户的需求。相当于2种场景,2类存储,2份数据,也会带来数据不一致的问题,最终造成数据准确性方面的问题。
尝试的过程中,确实可以收获很多的惊喜,确实是可以解决相应场景的问题的,继续探索,继续突破。
总结下,不管是满足一线、客户的定制化需求使用OLAP满足快速高效的查询需求,还是满足业务应用之间逻辑处理的场景需求,都没有一款DB产品可以解决单个场景的所有问题,都是具体问题具体分析,针对性解决。当然,2类不同场景更是这个道理了。我们希望找到银弹,但这个证明好像不太现实,唯有继续努力!
如何选择大数据存储查询引擎相关推荐
- 易观CTO郭炜:如何构建企业级大数据Ad-hoc查询引擎
凭借多年大数据平台建设经验,易观 CTO郭炜为大家分享了易观在大数据实时查询引擎建设过程所获经验与挑战,以及大数据人员如何快速建立自己的大数据查询引擎套件,让自己的数据人员不再是"表哥表妹& ...
- 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)...
不多说,直接上干货! 这个很简单,在集群机器里,选择就是了,本来自带就有Impala的. 扩展博客 给Ambari集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解) 欢迎大 ...
- [喵咪大数据]Presto查询引擎
如果大家正在按照笔者的教程尝试使用大数据组件还是之前有使用过相关的组件,大家会发现一个问题HIVE在负责的查询下调用Mapreduce会很慢,在这个场景下就涌现出很多查询引擎来优化,比如大家熟悉的Sp ...
- 分布式大数据sql查询引擎Presto初识
1.背景: Hive使用MapReduce作为底层计算框架,是专为批处理设计的.但随着数据越来越多,使用Hive进行一个简单的数据查询可能要花费几分到几小时,显然不能满足交互式查询的需求.Presto ...
- 万亿级日志与行为数据存储查询技术剖析
http://www.sohu.com/a/126082450_355140 目前大数据存储查询方案大概可以分为:Hbase系.Dremel系.预聚合系.Lucene系,本文作者将就自身的使用经验说说 ...
- 万亿级日志与行为数据存储查询技术剖析——Hbase系预聚合方案、Dremel系parquet列存储、预聚合系、Lucene系...
转自:http://www.infoq.com/cn/articles/trillion-log-and-data-storage-query-techniques?utm_source=infoq& ...
- 大数据存储引擎——Kudu
一.什么是Kudu[Fast Analytics on Fast Data] 是一个既支持随机读写,又支持OLAP(Online analytical processing)分析的大数据存储引擎,平衡 ...
- 【阿里内部应用】基于Blink为新商业调控打造实时大数据交互查询服务
基于Blink为新商业调控打造实时大数据交互查询服务 案例与解决方案汇总页: 阿里云实时计算产品案例&解决方案汇总 从IT到DT.从电商到新商业,阿里巴巴的每个细胞都存在大数据的DNA,如何挖 ...
- 大数据存储技术之KUDU学习总结/快速入门
KUDU学习总结 1 基础概念 官方:https://kudu.apache.org/ 在 KUDU 之前,大数据主要以两种方式存储: • 静态数据:以 HDFS 引擎作为存储引擎,适用于高吞吐量的离 ...
最新文章
- UIUC翟成祥教授:用文本透镜拓展人类智能
- bzoj2154 Crash的数字表格
- 【隔离】跨区消息穿透定义
- SAP Commerce Cloud Spartacus UI 读取 Component 元数据的 Action 设计
- NSTimer不准确与GCDTimer详解
- iOS开发值多线程简单介绍
- php 循环table,php table循环 问题很简单 求帮助
- BaseServlet 继承 httpServlet
- 添加谷歌账户显示与服务器,解决添加google同步帐户出错竟然可以这般简单!
- 【UKIEPC2017:F题】Flipping Coins(抛硬币求正面朝上个数的期望----概率dp)
- 计算机ws2_32dll丢失,电脑显示计算机中丢失ws2-32.dll,怎么办
- 成为一名初级游戏策划
- excel 导出PDF ExportAsFixedFormat函数 报错-2147024809 (0x80070057)
- 面向硬件编程的一些思考
- 通话记录有办法恢复吗?
- 大4女生想做软件测试岗,如何系统性学习测试呢?
- Tomcat服务器安装和替换阿里云免费ssl证书步骤(超详细)
- 生成棋盘格(标定板图片)
- EXCEL工资表一键转化工资条短信如何操作
- 性能监控与调优篇之【3. JVM 监控及诊断工具-GUI 篇】