电子商务网站建设调查分析,wordpress怎么打删除线,网站建设中图片联系方式,昆山建设工程招聘信息网站这里写自定义目录标题 历史发展基于电子表格的数据分析基于传统数据库的数据分析基于大数据的数据分析 当下的现状OLAP技术的分类MOLAPROLAPHOLAP 主流的OLAP引擎新技术的普及内存向量计算列式数据存储及交换增量查询多源融合计算下推物化视图 发展趋势智能化分析多源融合和自动… 这里写自定义目录标题 历史发展基于电子表格的数据分析基于传统数据库的数据分析基于大数据的数据分析 当下的现状OLAP技术的分类MOLAPROLAPHOLAP 主流的OLAP引擎新技术的普及内存向量计算列式数据存储及交换增量查询多源融合计算下推物化视图 发展趋势智能化分析多源融合和自动化处理动态/虚拟列HTAP 历史发展 援引网络博文中的简单总结 OLAP这个名词是数据库之父Edgar F. Codd于1993年在文章《Providing OLAP (On-Line Analytical Processing) to User-Analysts: An IT Mandate》提出他总结了OLAP产品的12个原则随后OLAP产品相继问世并逐渐形成今天的格局。 但第一款OLAP产品Express却于1975年问世随着被Oracle收购后繁荣发展了30余年最后由继任者Oracle 9i替代。这么多年过去基本的OLAP理念和数据模型仍然未变。 基于电子表格的数据分析
例如在基于数据库的数据分析兴起以前于1985年Excel 1.0诞生。它是微软在Excel中集成了数据透视表功能可能是Excel产品最重要的增强功能之一因为数据透视表已成为多维分析中最流行和使用最广泛的工具。 即使数据库和大数据普及的当下很多简而小的账务场景下用户依然使用Execel本身来分析数据。
基于传统数据库的数据分析
1989年SQL语言标准诞生它可以从关系数据库中提取和处理业务数据。这可能是个转折点。在1980‘s年代电子表格在OLAP应用中占绝对主导地位而1990’s年代以后越来越多的基于数据库的OLAP应用开始出现 例如Microsoft于1999年发布的OLAP服务其于2000年成为Microsoft Analysis Services。
基于大数据的数据分析
随着大数据技术的兴起传统数据库不再能够胜任海量数据场景下的分析工作随着Google三驾马车分布式文件系统Google File System、分布式表格BigTable和分布式计算模型 MapReduce三篇论文的发表Hadoop技术蓬勃发展OLAP技术也随之进化陆续出现了许多优秀的数据处理和分析工具如Hive、Spark、Impala等等。
当下的现状
OLAP技术的分类
MOLAP
即Multi-Dimensional OLAP是一种将数据进行多维预处理的OLAP技术它通过将数据进行预结算并将聚合结果存储到CUBE模型中以多维数组的形式物化到存储系统中从而加快后续查询。 产品有 Cognos Powerplay, Essbase, TM1, Jedox 和 icCube、Druid、Kylin等等。
ROLAP
即Relational OLAP是一种基于关系型数据库的OLAP系统在ROLAP系统中数据存储在关系型数据库中分析时直接从数据库中读取数据进行计算和分析。 产品有Vertica、Amazon Redshift、Google Dremel、Hulu Nesto、Presto、Druid、Impala、Greenplum、HAWQ和Doris等。
HOLAP
即Hybrid OLAP融合MOLAP和MOLAP的特性兼具两种场景下的数据分析能力。 产品有Holos、Microsoft Analysis Services,、Oracle Database OLAP Option、MicroStrategy and SAP AG BI Accelerator等。
主流的OLAP引擎
MOLAPDruid、Kylin ROLAP: PrestoImpalaGreenPlumClickhouseElasticsearchHiveSpark SQLFlink SQL HOLAP: Holos、Microsoft Analysis Services,、Oracle Database OLAP Option
新技术的普及 在讲计算时不可不谈及存储反之亦然这两个概念本就是相互依存相互促进因此后面讲的概念不会区分适用于哪个层面。 内存向量计算
硬件的更新换代影响着计算能力的提升内存向量化计算是当下已经探索的、可行且高效的提升系统计算能力的手段。 例如基于Spark引擎的gluten、Photon项目基于Presto/Trino的Velox项目逐渐被应用到生产环境计算性能确实能够有成倍的提升。
列式数据存储及交换
基本上已经是OLAP引擎的标配能力不仅仅能够减少网络资源的开销同时能够更快速地交换大量数据。 Apache Arrow列式数据格式为不同第一间的数据交互和传输提供了统一的数据组织方式许多的OLAP系统都已经支持了Arrow格式的数据格式例如Spark、Presto/Trino。
增量查询
随着数据湖技术的发展例如Apache Hudi、Apache Iceberg等为OLAP引擎增添了新的动力这些湖系统利用CDC(Changed Data Capture)弥补了HADOOP文件无法更新的问题同时又提供了数据快照功能因此当下的OLAP引擎也都随之进化扩展自己的SQL语法以支持Time Travel同时也支持在增量数据上的检索。
多源融合
即OLAP系统可以支持同时处理多个数据源并将不同的数据源抽象为Connector就像JDBC CONNECTOR那样的可以把这些不同源的数据转换为自己内部的统一数据格式以实现跨数据源的计算。
计算下推
随着多数据源的融合也对OLAP系统的查询计划能力提出了更高的要求由于不同的数据源所支持的数据类型、聚合方法、统计信息、过滤谓词不尽相同因此需要OLAP系统有能力因地制宜地将合适的逻辑下推到Connector层由Connector决定如何处理这些细节如此才能更高效地完成查询任务。 例如过滤条件下推到Connector/Scan已经是必不可少的能力聚合计算下推例如MIN/MAX聚合函数有些Connector存储了表级/分区级的统计信息同因此可以不必读取真实数据就能返回聚合结果。 物化视图
物化视图实际上就是基于源表之上的预聚合的结果表它独立于源表存储因此会导致占用的存储空间膨胀。不过好处是利用空间换时间SQL引擎可以改写特定模式的SQL利用物化视图表影响查询以加速计算。 可以参照Clickhouse中的各类MergeTree表引擎来理解物化视图不过物化视图相对简化。 物化视图真正可靠存在很明显的问题就是如何解决数据同步的问题即物化视图初始化之后如果源表发生了更新如何将这些更新应用到物化视图表就需要考虑各种情况下的更新事件以选择的方式来MERGE新数据不过由于聚合算子通常比较复杂难以在增量更新场景下实现物化视图表的更新因此即使主流的OLAP引擎如Starrocks也仅仅支持简单的聚合函数如MIN/MAX/SUM/COUNT等。
发展趋势
智能化分析
对于数据分析人员使用OLAP系统不过是计算出预想的数据结构和关系然后再在自己的场景下利用数据分析手段找到数据与业务的关系但随着大模型或AI技术的普及数据从清洗、到转换、到计算、到分析、再到解释大胆预测必将成为一个固定的套路因此如果OLAP系统能够很容易的与嵌入到整条链路或是成为整条链路这必将增强OLAP的价值。
多源融合和自动化处理
基于计算与存储分离的设计一个引擎可以很容易地读取不同的数据源从而实现跨源的数据聚集能力同时也可以自动地对来源数据进行清理、转换。
动态/虚拟列
需要底层支持表达式列区别于Plain列类似于MySQL中存储JSON表达式列虚拟列的功能Iceberg中利用Transformer实现隐藏分区的功能Clickhouse中的聚合视图表的功能等该功能可以动态扩充源表的列同时可以由使用者决定写时计算或读时计算以应对不同的场景。 通常底层存储的列数据都只能是基础列的数据如name列对应的存储值有’张三’如果查询SQL中的过滤表达式包含了name列且为复杂表达式如substr(name, 10)那么在查询时肯定是不能预先知道每一个值的经过substr函数后的结果因此必须将数据读取内存并且应用函数方法才能决定如何过滤数据或是优化查询。 当有了虚拟列的能力可以选择在插入数据时新增一个内部列列名为_XX_internal存储substr(name, 10)计算后的结果如此当SQL中有表达式匹配就可以直接将substr(name, 10)替换成_XX_internal避免现场计算以加速SQL影响。 当然也可以选择_XX_internal存储的仅仅是表达式或是不存储这样就对齐了最原始的SQL检索能力。 HTAP
即Hybrid Transaction / Analytical Processing混合事务分析处理。当下许多OLAP引擎兼具事务的特性同时支持OLTP和OLAP的场景例如Starrocks、MatrixOne、Trino等除了本身支持查询计算功能外也在不断完善支持数据的写入能力但写入功能的具体实现需要与底层的存储引擎配合讨论例如当前大数据场景下比较湖仓场景下的实时CDC同时也在丰富数据检索分析能力如增量查询、时间旅行、基于metadata的查询优化等。 这里提到HTAP强调是融合系统即一个系统即能执行更新、也能执行查询。至于如何合理地安排两种类型的作业需要根据场景而定但通常OLTP作业在一个集群写入而另外一个集群负责OLAP任务查询它们可以共用同一套数据存储格式也可以操作相同数据的不同存储格式。 HTAP兼容两种不同的业务场景必然需要有trade-off例如在行、列混合存储的情况下像RocksDb的底层存储实现的那样在同时也必须通过优化现有OLAP引擎以支持混合计算。 对于一个多源融合系统来说能够支持数据的写入也将省去不少的其它系统上的维护工作。
文章仅仅是列举了一些比较常见且有效的改进OLAP系统的功能也提及了一些可预见的发展方向相信还有很多我所没了解到的新的技术、新功能欢迎大家在评论区丰富本文的内容。 文章转载自: http://www.morning.skcmt.cn.gov.cn.skcmt.cn http://www.morning.jhzct.cn.gov.cn.jhzct.cn http://www.morning.nfbkz.cn.gov.cn.nfbkz.cn http://www.morning.kzdwt.cn.gov.cn.kzdwt.cn http://www.morning.bnjnp.cn.gov.cn.bnjnp.cn http://www.morning.tbjb.cn.gov.cn.tbjb.cn http://www.morning.kongpie.com.gov.cn.kongpie.com http://www.morning.ywqsk.cn.gov.cn.ywqsk.cn http://www.morning.tbqdm.cn.gov.cn.tbqdm.cn http://www.morning.jzfxk.cn.gov.cn.jzfxk.cn http://www.morning.lwsct.cn.gov.cn.lwsct.cn http://www.morning.nrbcx.cn.gov.cn.nrbcx.cn http://www.morning.qbksx.cn.gov.cn.qbksx.cn http://www.morning.xdttq.cn.gov.cn.xdttq.cn http://www.morning.clbsd.cn.gov.cn.clbsd.cn http://www.morning.wpqwk.cn.gov.cn.wpqwk.cn http://www.morning.mxxsq.cn.gov.cn.mxxsq.cn http://www.morning.mxtjl.cn.gov.cn.mxtjl.cn http://www.morning.rdgb.cn.gov.cn.rdgb.cn http://www.morning.guangda11.cn.gov.cn.guangda11.cn http://www.morning.bwqr.cn.gov.cn.bwqr.cn http://www.morning.pszw.cn.gov.cn.pszw.cn http://www.morning.jcxyq.cn.gov.cn.jcxyq.cn http://www.morning.rqqmd.cn.gov.cn.rqqmd.cn http://www.morning.wbxrl.cn.gov.cn.wbxrl.cn http://www.morning.mhmdx.cn.gov.cn.mhmdx.cn http://www.morning.ccdyc.cn.gov.cn.ccdyc.cn http://www.morning.wjplm.cn.gov.cn.wjplm.cn http://www.morning.jbqwb.cn.gov.cn.jbqwb.cn http://www.morning.sqnxk.cn.gov.cn.sqnxk.cn http://www.morning.lphtm.cn.gov.cn.lphtm.cn http://www.morning.qhkx.cn.gov.cn.qhkx.cn http://www.morning.hhfwj.cn.gov.cn.hhfwj.cn http://www.morning.fmrrr.cn.gov.cn.fmrrr.cn http://www.morning.tgfsr.cn.gov.cn.tgfsr.cn http://www.morning.wqkzf.cn.gov.cn.wqkzf.cn http://www.morning.fnrkh.cn.gov.cn.fnrkh.cn http://www.morning.jhtrb.cn.gov.cn.jhtrb.cn http://www.morning.blqsr.cn.gov.cn.blqsr.cn http://www.morning.hjjfp.cn.gov.cn.hjjfp.cn http://www.morning.zdfrg.cn.gov.cn.zdfrg.cn http://www.morning.qptbn.cn.gov.cn.qptbn.cn http://www.morning.kpcxj.cn.gov.cn.kpcxj.cn http://www.morning.ckcjq.cn.gov.cn.ckcjq.cn http://www.morning.tmrjb.cn.gov.cn.tmrjb.cn http://www.morning.zbnkt.cn.gov.cn.zbnkt.cn http://www.morning.gwsfq.cn.gov.cn.gwsfq.cn http://www.morning.pfmsh.cn.gov.cn.pfmsh.cn http://www.morning.mzpd.cn.gov.cn.mzpd.cn http://www.morning.yydzk.cn.gov.cn.yydzk.cn http://www.morning.gtdf.cn.gov.cn.gtdf.cn http://www.morning.zlxrg.cn.gov.cn.zlxrg.cn http://www.morning.wjlhp.cn.gov.cn.wjlhp.cn http://www.morning.nkjxn.cn.gov.cn.nkjxn.cn http://www.morning.zlchy.cn.gov.cn.zlchy.cn http://www.morning.xprzq.cn.gov.cn.xprzq.cn http://www.morning.hsgxj.cn.gov.cn.hsgxj.cn http://www.morning.snygg.cn.gov.cn.snygg.cn http://www.morning.cknws.cn.gov.cn.cknws.cn http://www.morning.sjmxh.cn.gov.cn.sjmxh.cn http://www.morning.xlxmy.cn.gov.cn.xlxmy.cn http://www.morning.dyxlj.cn.gov.cn.dyxlj.cn http://www.morning.pymff.cn.gov.cn.pymff.cn http://www.morning.gwtgt.cn.gov.cn.gwtgt.cn http://www.morning.rhkq.cn.gov.cn.rhkq.cn http://www.morning.ltpmy.cn.gov.cn.ltpmy.cn http://www.morning.trrrm.cn.gov.cn.trrrm.cn http://www.morning.zckhn.cn.gov.cn.zckhn.cn http://www.morning.nynyj.cn.gov.cn.nynyj.cn http://www.morning.lkfhk.cn.gov.cn.lkfhk.cn http://www.morning.xfxnq.cn.gov.cn.xfxnq.cn http://www.morning.hncrc.cn.gov.cn.hncrc.cn http://www.morning.whpsl.cn.gov.cn.whpsl.cn http://www.morning.ryrgx.cn.gov.cn.ryrgx.cn http://www.morning.kpgbz.cn.gov.cn.kpgbz.cn http://www.morning.ljglc.cn.gov.cn.ljglc.cn http://www.morning.qrwnj.cn.gov.cn.qrwnj.cn http://www.morning.mspqw.cn.gov.cn.mspqw.cn http://www.morning.jtsdk.cn.gov.cn.jtsdk.cn http://www.morning.nbwyk.cn.gov.cn.nbwyk.cn