不涉及事务,侧重于数据的一致性和准确性 需要严格的事务控制和ACID特性,以保证数据的一致性和可靠性 功能使用需求 多维度查询、聚合、切片、钻取等 插入、更新、删除、查询等基本业务操作 并发要求 读写比较平均...存取能力准则:OLAP系统需要支持高效的数据存取能力,包括对大量数据的查询、汇总和分组等操作。...ROLAP适用于对查询模式不固定、查询灵活性要求高的场景,如数据分析师常用的数据分析类产品。...启用Web的OLAP(WOLAP)适用于基于Web的数据仓库应用程序,允许用户在浏览器中访问和分析数据。 桌面OLAP(DOLAP)是运行在个人计算机或工作站上的OLAP系统,通常处理小型数据集。...数据更新:Druid的列存储引擎适用于静态数据和快速查询等场景,但是对于频繁更新和变化的数据集,可能需要重新加载整个数据集,从而导致查询的延迟和性能下降。
维度的属性值映射成多维数组的下标或者下标范围,事实以多维数组的值存储在数组单元中,优势是查询快速,缺点是数据量不容易控制,可能会出现维度爆炸的问题。...而Kylin自身就是一个MOLAP系统,多维立方体(MOLAP Cube)的设计使得用户能够在Kylin里为百亿以上数据集定义数据模型并构建立方体进行数据的预聚合。...Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。...Druid不适合用于处理透视维度复杂多变的查询场景 Druid擅长的查询类型比较单一,一些常用的SQL(groupby 等)语句在druid里运行速度一般 Druid支持低延时的数据插入、更新,但是比...借助MPP架构,在大型数据集上执行复杂SQL分析的速度比很多解决方案都要快。
01 Apache Kylin 简介 Apache Kylin 是一个开源的分布式大数据分析引擎,在超大规模数据集上建立数据模型,构建支持多维分析的预计算 Cube,提供 Hadoop 上的 SQL 查询接口及多维分析能力...这种独特的预计算能力使 Apache Kylin 可以应对超大数据集上的查询,并实现亚秒级查询响应。 ?...如果使用纯列式的存储和多维度索引,将大大提升 Kylin 查询性能,同时减小Kylin 的使用难度。从上面的 Druid 的优点介绍我们得知 Druid 正好符合列式+多维度索引这样的特征。...因此美团 Kylin 开发团队决定尝试使用 Druid 替换 HBase。 到这里,读者可能会问,为什么不直接使用 Druid 呢?...虽然 Druid 社区后来加入了对 SQL 的支持,但是功能尚不完整,不能满足数据分析师的复杂 SQL 查询需求。
但是这样的预聚合处理,需要预先定义维度,会限制后期数据查询的灵活性;如果查询工作涉及新的指标,需要重新增加预处理流程,损失了灵活度,存储成本也很高;同时,这种方式不支持明细数据的查询,仅适用于聚合型查询...因此,ROLAP 适用于对查询模式不固定、查询灵活性要求高的场景。如数据分析师常用的数据分析类产品,他们往往会对数据做各种预先不能确定的分析,所以需要更高的查询灵活性。...预计算系统(Druid/Kylin 等)则在入库时对数据进行预聚合,进一步牺牲灵活性换取性能,以实现对超大数据集的秒级响应。...而Kylin自身就是一个MOLAP系统,多维立方体(MOLAP Cube)的设计使得用户能够在Kylin里为百亿以上数据集定义数据模型并构建立方体进行数据的预聚合。...以我个人为例,过往的工作经验使我在Hive、SparkSQL、FlinkSQL、Presto、Elasticsearch这几个方面更了解,其他的引擎不敢瞎说自己懂,不构成技术选型的建议。
用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此,Codd提出了多维数据库和多维分析的概念,即OLAP。...OLAP的目标是满足决策支持或多维环境特定的查询和报表需求,它的技术核心是"维"这个概念,因此OLAP也可以说是多维数据分析工具的集合。...而Kylin自身就是一个MOLAP系统,多维立方体(MOLAP Cube)的设计使得用户能够在Kylin里为百亿以上数据集定义数据模型并构建立方体进行数据的预聚合。...Druid不适合用于处理透视维度复杂多变的查询场景 Druid擅长的查询类型比较单一,一些常用的SQL(groupby 等)语句在druid里运行速度一般 Druid支持低延时的数据插入、更新,但是比hbase...借助MPP架构,在大型数据集上执行复杂SQL分析的速度比很多解决方案都要快。
但是这样的预聚合处理,需要预先定义维度,会限制后期数据查询的灵活性;如果查询工作涉及新的指标,需要重新增加预处理流程,损失了灵活度,存储成本也很高;同时,这种方式不支持明细数据的查询,仅适用于聚合型查询...因此,ROLAP 适用于对查询模式不固定、查询灵活性要求高的场景。如数据分析师常用的数据分析类产品,他们往往会对数据做各种预先不能确定的分析,所以需要更高的查询灵活性。...预计算系统(Druid/Kylin 等)则在入库时对数据进行预聚合,进一步牺牲灵活性换取性能,以实现对超大数据集的秒级响应。...,一些常用的SQL(groupby 等)语句在druid里运行速度一般 Druid支持低延时的数据插入、更新,但是比hbase、传统数据库要慢很多 与其他的时序数据库类似,Druid在查询条件命中大量数据情况下可能会有性能问题...8.Kylin Kylin自身就是一个MOLAP系统,多维立方体(MOLAP Cube)的设计使得用户能够在Kylin里为百亿以上数据集定义数据模型并构建立方体进行数据的预聚合。
官网:https://spark.apache.org/sql/ |0x05 Presto Presto 是由 Facebook 开源的大数据分布式 SQL 查询引擎,适用于交互式分析查询,可支持众多的数据源...而Kylin自身就是一个MOLAP系统,多维立方体(MOLAP Cube)的设计使得用户能够在Kylin里为百亿以上数据集定义数据模型并构建立方体进行数据的预聚合。...官网:https://impala.apache.org/ |0x08 Druid Druid 是一种能对历史和实时数据提供亚秒级别的查询的数据存储。...Druid 支持低延时的数据摄取,灵活的数据探索分析,高性能的数据聚合,简便的水平扩展。适用于数据量大,可扩展能力要求高的分析型查询系统。Druid解决的问题包括:数据的快速摄入和数据的快速查询。...借助MPP架构,在大型数据集上执行复杂SQL分析的速度比很多解决方案都要快。
: ClickHouse Druid/Pinot 具备C++经验的组织 具备Java经验的组织 小型集群 大型集群 少量表 大量表 单一数据集 多个不相关的数据集(多租户) 表和数据集永久驻留在集群中...表和数据集定期出现并从群集中退出 表格大小(以及它们的查询强度)在时间上是稳定的 表格随时间热度降低 查询的同质性(其类型,大小,按时间分布等) 异质性 存在可以用于分区的维度,且经过该维度分区后,几乎不会触发跨分区的数据查询...另一方面,德鲁伊安装将继续依赖于某些SQL数据库的存在。...不支持primary key sorting,支持inverted indexes 通过编写 Json 文件,以 HTTP 的方式请求 Druid 支持sql 国内使用Druid比较多,有赞,美团等...,性能一般(曹总说) Java Mondrian不是一个真正的OLAP数据库,是一个基于关系数据库的分析服务器 查询瓶颈仍然在底层的存储层的查询效率,只是对于动态多维度分析做了优化 通过xml而不是sql
借助MPP架构,在大型数据集上执行复杂SQL分析的速度比很多解决方案都要快。...里为百亿以上数据集定义数据模型, 并构建立方体进行数据的预聚合。...并提供ANSI-SQL接口交互式查询能力 Druid Druid 是一种能对历史和实时数据提供亚秒级别的查询的数据存储。...Druid保证数据实时写入,但查询上对SQL支持的不够完善 MPP 和 预计算的 方式差异: MPP非常灵活, 其数据是基于数据表的分析, 支持数据实时导入实时分析, 并且可以查询任意想要查询的数据...而Kylin提供了更加完善的功能和SQL支持, Druid则提供了数据实时摄入, 二者在查询性能上基本是一个量级 ?
但是这样的预聚合处理,需要预先定义维度,会限制后期数据查询的灵活性;如果查询工作涉及新的指标,需要重新增加预处理流程,损失了灵活度,存储成本也很高;同时,这种方式不支持明细数据的查询,仅适用于聚合型查询...因此,ROLAP 适用于对查询模式不固定、查询灵活性要求高的场景。如数据分析师常用的数据分析类产品,他们往往会对数据做各种预先不能确定的分析,所以需要更高的查询灵活性。...Druid擅长的查询类型比较单一,一些常用的SQL(groupby 等)语句在druid里运行速度一般 Druid支持低延时的数据插入、更新,但是比hbase、传统数据库要慢很多 与其他的时序数据库类似...(MOLAP Cube)的设计使得用户能够在Kylin里为百亿以上数据集定义数据模型并构建立方体进行数据的预聚合。...以我个人为例,过往的工作经验使我在Hive、SparkSQL、FlinkSQL、Presto、Elasticsearch这几个方面更了解,其他的引擎不敢瞎说自己懂,不构成技术选型的建议。
开源技术选型,MOLAP可选Kylin、Druid,ROLAP可选Presto、impala等 Presto Presto 是由 Facebook 开源的大数据分布式 SQL 查询引擎,基于内存的低延迟高并发并行计算...Druid Druid是一个用于大数据实时查询和分析的高容错、高性能开源分布式系统,用于解决如何在大规模数据集下进行快速的、交互式的查询和分析。...基本特点 Apache Druid 具有以下特点: 亚秒级 OLAP 查询,包括多维过滤、Ad-hoc 的属性分组、快速聚合数据等等。 实时的数据消费,真正做到数据摄入实时、查询结果实时。...Kylin Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc....kylin特性: 可扩展超快olap引擎,Hadoop/Spark上百亿数据规模 提供 Hadoop ANSI SQL 接口 交互式查询能力,用户可以与Hadoop数据进行亚秒级交互 百亿以上数据集构建多维立方体
Druid 是一款极高性能的数据库服务,以往的社区工作大多集中在提升大规模实时数据处理和历史数据查询等核心能力上。...一个新的Data Loader,通过提供点击式UI和自动预览,极大地简化了构建数据提取管道的过程。 2. 继续推进Druid的SQL功能以简化查询,此外SQL已经逐渐的升级到完整支持的状态。...02 Druid 的 SQL 能力的增强 Apache Druid在0.10.0版本推出了实验性的Druid SQL, 现在它可以作为一个标准的查询接口,你几乎可以抛弃以往的使用Druid经典查询方法(...这对Looker,Tableau等其他众多的第三方软件提供了非常强大的数据访问能力。 从0.10.0版本开始,Druid的每一个版本都在完善对SQL的支持能力,在0.15版本中也不例外。...在未来的版本中,我们还会放出更多的SQL能力,包括多维分析,Theta Sketch Intersection 和Difference 以及更多的标准SQL支持外围能力。
OLAP分析分为关系型联机分析处理(ROLAP)、多维联机分析处理(MOLAP)两种,MOLAP需要数据预计算好为一个多维数组,典型方式就是Cube,而ROLAP就是数据本身什么样就是什么样,查询时通过...Kylin:核心是Cube,Cube是一种预计算技术,基本思路是预先对数据作多维索引,查询时只扫描索引而不访问原始数据从而提速。...框架选型:从超大数据的查询效率来看 Druid > Kylin > Presto > Spark SQL,从支持的数据源种类来讲 Presto > Spark SQL > Kylin > Druid。...查询 Druid⼀直提供REST API进行数据查询,在0.10之前第三方提供SQL⽀持,但不是很成熟,从0.10开始原生提供实验性SQL查询功能,截⽌Druid0.12.3还是处于实验性阶段。...⼀一起返回⼀一个结果集, none:按照创建索引时的最⼩粒度做聚合计算,最⼩粒度是毫秒为单位,不推荐使⽤,性能较差 minute:以分钟作为聚合的最⼩小粒度 fifteen_minute:15分钟聚合
总之,HBase在处理大量的创建-更新-删除操作方面表现出色,但在将数据呈现为用户可消费的格式时表现不佳。 Druid,适用于低延迟的OLAP时序工作负载以及流数据的实时索引。...Druid为集群提供快速的多维数据集的OLAP查询。Druid的时序性质是引擎的基础。它是这样设计的,因为在分析基于时间的数据时,时间是一个主要的过滤器。...Druid在数亿或数十亿行数据中快速定位少量数据行方面表现优异,并且在极短的时间内计算这些数据的聚合值。但是它不进行连接,因此不能用于组合数据集进行分析。...如果您计划在Druid中分析组合数据集,最好在将其插入Druid之前预连接数据,或者使用Hive(和由Druid支持的Hive表)执行连接操作。...对于业务分析师来说,Druid非常好用,因为他们可以登录Superset,在不编写任何查询的情况下,以仪表板形式可视化指标。他们只需使用GUI选择查询数据源和过滤器。
1.2 基于Kylin 引入OLAP引擎Kylin 在Kylin之上引入指标平台: 对外提供统一的API 指标统一定义,统一口径管理 实现指标查询 应用层统一通过指标API来获取数据,不直接使用SQL访问...,XX一个数据可视化产品和各种数据应用产品,它们通过统一的指标API来获得数据,不直接使用SQL访问Kylin。...各个业务方都主要通过在OLAP平台上定义和使用指标,来实现多维数据分析的。...,将计算好的结果保存成cube,供之后查询 3.2 Kylin架构 核心思想就是预计算,对多维分析可能用到度量进行预计算,把预计算结果存在Cube,供后续查询。...围绕 Druid 引擎的工作 Druid 监控管理平台建设:及时发现和解决 Druid 各种线上问题,保障平台的稳定 Druid 优化与定制改造: 增加精确去重功能支持 大查询监控与处理 数据导入优化
文章还介绍了 Druid 等新兴技术,用于对大型数据集进行实时分析。 数据系统及其角色 在数据处理和管理领域,数据系统在支持各种操作和任务方面发挥着至关重要的作用。...即使在处理大型数据集时,也可以更快地检索和分析数据。 多维分析: OLAP 多维数据集支持跨多个维度的复杂分析。用户可以深入、汇总、切片和切块数据,以全面了解潜在趋势和模式。...它提供了一种查询和管理存储在分布式存储系统中的大型数据集的方法。凭借其处理海量数据的能力,Hive 已成为事实上的 SQL-on-Hadoop 引擎。...转换完成后,用户可以利用 Hive 的强大功能来查询和分析其表格模型。 总之,Hive 是一个多功能软件项目,它提供类似 SQL 的接口,用于在大数据环境中查询和管理大型数据集。...除了 Hive 之外,Druid 等新兴技术还提供大型数据集的实时分析功能。Druid 专注于高性能分析,擅长对实时数据提供亚秒级查询。
MPP系统提供了水平扩展性,能够处理PB级别的数据集,并保持高性能。 4....- SQL支持:完全支持SQL查询,便于集成和使用。 2....Presto 特点: - 跨数据源查询:Presto设计用于处理分布式数据存储,能够跨不同的数据源(如HDFS、Amazon S3、Cassandra等)执行SQL查询。...Apache Druid 特点: - 实时分析:Druid专为实时分析而生,能够快速摄取数据并提供亚秒级查询延迟,非常适合事件监控、日志分析等场景。...这些应用场景体现了OLAP引擎在处理大量历史数据、支持快速灵活的多维查询、以及提供深入的数据洞察方面的能力,对于企业决策支持和业务优化至关重要。
从事数据开发工作的小伙伴,大概率用过以上的几种甚至全部。所以下面就开门见山了,默认大家熟悉大数据的专业名词和生态环境。...Spark SQL spark.apache.org/sql SparkSQL的前身是Shark,它将 SQL 查询与 Spark 程序无缝集成,可以将结构化数据作为 Spark 的 RDD 进行查询。...Apache Kylin™ kylin.apache.org/cn Apache Kylin™是一个开源的、分布式的分析型数据仓库,提供Hadoop/Spark 之上的 SQL 查询接口及多维分析(OLAP...直接上 Kylin 的特性,如下图,来自官方 Kylin自身就是一个MOLAP系统,多维立方体(MOLAP Cube)的设计使得用户能够在Kylin里为百亿以上数据集定义数据模型并构建立方体进行数据的预聚合...OLAP 查询而不是 OLTP 查询:Druid 查询并发有限,不适合 OLTP 查询。 非精确的去重计算:目前 Druid 的去重都是非精确的。
领取专属 10元无门槛券
手把手带您无忧上云