更简洁更高效,Doris对比ClickHouse、MySQL、Presto、HBase
创始人
2025-07-05 00:30:52
0

构建统一的OLAP

OLAP,即在线分析处理平台。

保险公司试图构建一个数据仓库,能够承担面向客户、分析师和管理层的数据分析工作负载。主要任务包括:

  • 自助保险合同查询:保险客户可以通过合同ID检查其合同详情。它还应支持诸如保险期限、保险类型和理赔金额等筛选条件。
  • 多维分析:分析师根据需要基于不同的数据维度开发报告,以便提取见解,促进产品创新和反欺诈工作。
  • 仪表盘:创建保险销售趋势的可视化概览,以及不同指标的横向和纵向比较。

组建数据架构

用户从Lambda架构开始,将数据流水线分为批处理环节和流处理环节。对于实时数据流,采用Flink CDC;对于批量导入,结合Sqoop、Python和DataX构建自己的数据集成工具,名为Hisen。

然后,实时数据和离线数据在数据仓库层汇合,该层由五个组件组成。

1.ClickHouse

数据仓库采用扁平表设计,ClickHouse在扁平表读取方面表现出色。但随着业务的发展,ClickHouse面临两个挑战:

  • 为了支持跨表连接和点查询,用户需要星型模式,但在ClickHouse中实现起来很困难。
  • 保险合同的更改需要实时更新到数据仓库。在ClickHouse中,这是通过重新创建扁平表覆盖旧表来完成的,但速度不够快。

2.MySQL

计算后的数据指标存储在MySQL中,但随着数据规模的增长,MySQL开始出现问题,如执行时间延长和错误。

3.Apache Hive + Presto

Hive是批处理环节的主要执行器。它可以转换、聚合和查询离线数据。Presto是Hive的补充,用于交互式分析。

4.Apache HBase

HBase负责主键查询。它从MySQL和Hive中读取客户状态,包括客户信用、保险期限和保额总和。然而,由于HBase不支持二级索引,它在读取非主键列方面的能力有限。另外,作为NoSQL数据库,HBase不支持SQL语句。

这些组件必须相互协作,以满足所有需求,使得数据仓库的工作量过大。这不容易上手,因为工程师必须接受所有这些组件的培训。此外,架构的复杂性增加了延迟风险。

因此,用户试图寻找一个能更好满足他们需求的工具。首先需要的是实时能力,包括实时写入、实时更新和对数据查询的实时响应。其次,需要更灵活的数据分析能力,以支持面向客户的自助查询,如多维分析、大表的连接查询、主键索引、汇总和钻取。然后,在批处理方面,还希望数据写入具有高吞吐量。

最终选择了Apache Doris。

用Apache Doris替换四个组件

Apache Doris能够进行实时和离线数据分析,支持高吞吐量的交互式分析和高并发的点查询。这就是为什么它可以取代ClickHouse、MySQL、Presto和Apache HBase,并作为整个数据系统的统一查询网关。

改进后的数据流水线是一个更简洁的Lambda架构。

Apache Doris提供了各种数据摄取方法。它在数据写入方面速度快。此外,它还实现了写入合并(Merge-on-Write)以提高并发点查询的性能。

1.降低成本

新架构降低了用户的人力成本。一方面,更简单的数据架构使得维护更加容易;另一方面,开发人员不再需要在数据服务API中连接实时和离线数据。

用户还可以通过使用Doris节省金钱,因为它支持分层存储。它允许用户将大量很少访问的历史数据存储在对象存储中,这样存储数据的成本更低。

2.提高效率

Apache Doris可以达到数万的查询每秒(QPS),并在毫秒内响应数十亿的点查询,因此它可以轻松处理面向客户的查询。将热数据与冷数据分离的分层存储也提高了查询效率。

3.服务可用性

作为存储、计算和数据服务的统一数据仓库,Apache Doris方便了灾难恢复。由于组件较少,不必担心数据丢失或重复。

用户的服务可用性的重要保证是Apache Doris的跨集群复制(CCR)功能。它可以在几分钟甚至几秒钟内将数据从集群同步到集群,并实现两种机制来确保数据可靠性:

  • Binlog:该机制可以自动记录数据更改并为每个数据修改操作生成一个日志ID。增量日志ID确保数据更改可追溯和有序。
  • 数据持久化:在系统崩溃或紧急情况下,数据将存储在磁盘中。

对Apache Doris的深入了解

Apache Doris可以替代ClickHouse、MySQL、Presto和HBase,因为它在整个数据处理流程中具备全面的能力。

在数据摄取方面,Apache Doris基于对Flink CDC和写入合并的支持,实现低延迟的实时写入。它通过标签机制和事务加载来保证写入的Exactly-Once。

在数据查询方面,Apache Doris支持星型模式和扁平表聚合,因此可以在多表连接和大型单表查询中提供高性能。Apache Doris还提供了各种加速不同查询的方法,如用于全文搜索和范围查询的倒排索引,用于点查询的短路查询计划和预编译语句等。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...