摘要:除了Clickhouse本身的最终性能外,GaussDB的HTAP(用于MySQL)的HTAP在Materilizemysql引擎的性能和稳定性方面仅具有更好的性能,该发动机提供了更快,更准确的数据分析和伴随。
最近听到了HTAP一词(混合交易/分析处理)。它还可以同时支持在线交易处理(OLTP)和在线数据分析(OLTP)。令人难以置信的是,Clickhouse近年来作为热数据分析系统,可以将其作为MySQL Cong库通过Materitizemysql引擎作为MySQL库固定为MySQL的“合作者”为OLAP方案提供有效的数据分析功能,该数据库之间的异质性数据共享提供了一种新方法,我们可以为ClickHouuse的分析性能提供全面的效果,并与TP发动机结合使用HTAP功能例如mysql.ever,在实际的应用程序方案中,Clickhouse仍然面临一些挑战,因此GaussDB(用于MySQL)的HTAP仅读取和分析。除了Clickhouse本身的最终性能外,HTAP(对于MySQL)HTAP仅读取材料材料的性能的性能。它具有更好的性能和稳定性,并且陪同速度更快,更准确。
在大数据时代的到来,虽然数据量急剧增长,但用户结构越来越多样化。当这些用户处理数据时,发现仅创建一个需要通过数据提取的视觉报告。负载),整个周期可能长达或什至一周。实际上,ETL模型的优势是可以与数据湖,低成本的大量数据和全面的生态结合处理多源数据。当然,缺点也很明显。传统的数据仓库和数据湖无法支持大量的真实时间并发更新。数据分析及时性很低。此外,ETL模式处理更改的能力相对较弱,例如上游数据源的变化(此类更改)随着表结构等的变化。)。本质
如何进行真实的时间分析?答案是htap.htap可以支持第二或毫秒级别的大量并发更新和数据同步延迟,从而有效地避免了繁琐的步骤,例如数据提取,转换和加载诸如传统解决方案,传统解决方案,以及这极大地改善了数据处理的及时性。
ClickHouse是一个面向开源的分布式列数据库,该数据库是Yandex的打开源。它具有真实的 - 时间查询,完整的DBM,高效率数据压缩,支持批次更新和高可用性。此外,Clickhouse具有许多特征,例如SQL支持和解开包装。在正式宣布的基准测试比较中,Clickhouse远远领先于对手。
在MySQL存储中使用的行存储,表中的数据是根据逻辑存储单元连续存储在存储介质中。此存储方法适用于随机添加,删除和检查操作,这对查询更友好按照行。但是,如果选择查询的目标仅涉及一行的少数属性,则行存储方法必须遍历所有行,然后筛选目标属性。当数据表宽(表属性很多)时,查询效率通常很低。诸如索引之类的Essencealthough优化方案可以提高OLTP应用程序方案的一定效率,面对大规模数据背景的OLAP方案似乎仍然存在有点无能为力。
Clickhouse使用列存储。表中的数据根据列作为逻辑存储单元连续存储在存储介质中。此存储方法适合使用SIMD(SIMD(单个仪器多个数据),该方法恰好构成了Rowstore存储的缺陷方法。特别是当大宽度计(许多属性)时,查询效率得到显着提高。此外,内存类型相同,因此自然适合数据压缩以达到最终数据压缩比。
下表是Yandex发布的官方性能测试数据。数据集为1亿。从上到下的三个数据表示:冷藏,第二轮,第三轮查询响应时间与MySQL相比,数据库引擎甚至高达600次。
注意:以下实验数据是单节点:2 * Intel(r)Xeon(R)CPU E5-2650 V2 @ 2.60GHz;128 GIB RAM;Mdraid-5在8 6TB SATA HDD上;Ext4。
尽管Clichouse具有如此极端的性能,但在实践过程中仍然存在一些困境。例如,在不支持的数据类型方面存在挑战引擎本身的设计:例如重复查询性能问题等的最终,这给用户的使用过程带来了一些不良经验。
positalizemysql引擎通过花费binlog来订阅mySQL数据。数据同步过程分为三个步骤。首先是检查MySQL参数是否符合规格,然后全部数量和增量复制阶段。点击数据同步的完整复制过程是单线读取的,并且当数据量较大时,延迟较高。GaussDB(emySQL)HTAP仅读取和分析完全复制的并行化。优化的复制性能增加了8-10倍,这对于实际生产实践非常有意义。
litersizemySQL引擎在DDL转换期间默认添加了2个隐藏字段:_sign(-1删除,1个插入/更新)和_version(数据版本)。BELOW是MySQL和ClickHouse的同一表中的DDL:
当前,IntielizedMysQL引擎不提供MySQL数据交易一致性视图。数据行分批将数据行同步到Clickhouse。引擎的底层使用替换的默格特里。如果修改了数据,则在获取最新数据时,您需要将最终(类似于组类似)指定为重型,并使用过滤器隐藏已删除的行。数据的大小很大,最终操作的性能通常不理想。
为了感知交易,GaussDB(emySQL)HTAP仅读取分析才能达到交易一致性,并提供四种类型的隔离水平。用户可以根据特定的用法方案选择不同的隔离级别。加法,GaussDB(用于MySQL)HTAP仅读取分析,并提供快照功能,以优化最终带来的查询性能问题。
READ_UNCOMMITTENT:不提供MVCC支持,您可以介绍肮脏的阅读
read_committing:提供MVCC支持(包括子查询),阅读最新的提交数据
query_snapshot:避免在选择 +最终查询中的合并开销,直接查询快照
query_raw:不要优化,返回所有数据(包括已删除和更新的不同版本)
如前所述,positalizemysql的底层使用替换格式。引擎后台将根据某些规则执行合并操作。用户要获得最新数据必须通过最终操作很重。除了使用MVCC +快照机制来确保查询性能,GaussDB(用于MySQL)HTAP仅从索引和索引和过滤策略。即使它不依赖MVCC + Snapshotperformance。
MySQL和Clickhouse的基本数据类型之间存在相应的映射关系(请参见下表)。值得一提的是,Clickhouse已将非支持的MySQL数据类型转换为字符串类型存储。mySQL不支持的ClickHouse类型也将转换为mysql_type_string type.t下表不难看到某些数据类型的表ClickHouse仍然不支持数据类型的此部分可能出现在实际应用程序方案中,因此GaussDB(对于MySQL)HTAP仅读取和分析常用的数据类型,例如常用的数据类型,例如常用的数据类型数据类型。例如,时间和时间和年度适应某些用户的需求。
当前,材料IzemySQL引擎仅支持包含主键的表同步。在实际生产过程中,可能有一些没有主键的表,但它包含唯一的键,因此有必要支持该表的数据同步。gaussDB(emySQL)htap htap仅读取和分析本身,分别包含一个单独的处理使用唯一的键,使用唯一的键来分区。
在实际的应用程序过程中,完整数据的数据复制的大小通常很大,同步时间很长,并且可能发生复制中断(网络,mySQL Server结束等)。提高数据同步的稳定性,GaussDB(用于MySQL)HTAP仅读取设计了一家重型公司的positalizemysql引擎的分析。当中断发生时,清洁站点会在一定时间段内进行清洁和重新连接。与完整的复制中断不同,无需在增量复制和中断后清理场景。这与增量复制方法有关。递增BINLOG事件的副本,成功且成功的数据无需重新连接。建立连接后,将根据全局GTID找到最新的同步点。
GaussDB(用于MySQL)HTAP仅读取和分析新功能,不仅引入MVCC +快照和并行副本,而且还嵌入了内核的更完整的异常处理机制。插图全尺度并行副本,例如Gaussdb(emyssql)HTAP(emysql)HTAP(emysql)读取和分析所有并行线程以维持独立的异常处理信息并堆栈。在新的异常处理机制下,GaussDB(emySQL)HTAP HTAP仅读取分析并且更稳定,这更容易帮助用户找到潜在问题的根本原因。
GaussDB(对于MySQL)HTAP仅读取分析,为用户提供类似于MySQL的Shave状态指令。为用户提供了极大的便利,可以操作和维护。
Alter数据库为positalizemysql的用户提供以下操作:
为了提供个性化的库 - 建造同步操作,GaussDB(emySQL)HTAP仅读取分析,以添加positalizemysql引擎的过度写入功能。用户可以覆盖指定的表并添加新列。添加索引并按字段按或示例覆盖分区。使用的示例如下:
数据分区是提高数据库性能的重要方法之一。Clichouse的分区策略是优先考虑日期。可以看出,Clickhouse的分区策略与MySQL不同。为了尽可能支持MySQL的分区策略,GaussDB(用于MySQL)HTAP仅读取分析。默认分区策略。
由InalitizedMysQL引擎建立的数据同步是库 - 级别,这意味着默认情况下,它将尝试复制库中的所有表。在某些实际的应用程序场景中,您通常不需要复制所有表,或者某些表不适合复制(某些表不适合复制(例如,没有主键或不为null)和GaussDB(用于GaussDB(用于mysql)htap仅读取分析,并且由于某些表无法由整个库复制的表复制整个库。gaussdb(对于mySQL)htap仅读取和分析此问题的黑色/白色过滤,允许用户自定义。需要复制的表。这在生产应用程序中非常有意义。使用如下:
上一篇文章分析了许多GaussDB(emySQL)HTAP仅分析的优势。然后,GaussDB(用于MySQL)HTAP仅读取和分析哪些解决方案可以为用户解决数据问题?
上图以MySQL + GaussDB(emySQL)HTAP仅作为示例读取分析。用户可以获得MySQL的完整交易保证,但也只能享受GaussDB(对于MySQL)HTAP的最终分析性能。用户从不同的频道获取数据并将其加载到MySQL引擎。GaussDB(对于MySQL)HTAP仅将分析读取为MySQL“来自库”真实 - 时间同步用户数据,并提供有效的数据分析功能。
与传统的ETL(T + 1)解决方案不同,GaussDB(对于MySQL)HTAP仅使用MySQL HTAP解决方案读取分析,以提供第二级数据同步。
GaussDB(对于MySQL)HTAP仅读取和分析基础存储以采用列存储。此存储形式自然适合数据压缩。
与MySQL中的备份相比,GaussDB(用于MySQL)HTAP仅读取分析,存储成本较低,并且某些方案更适合于历史数据备份。
为了进一步降低用户存储成本,GaussDB(emySQL)HTAP仅读取分析并提供ESSD + EVS + OBS层级存储解决方案。热数据和冷数据中有不同的存储介质,这进一步降低了存储成本。
尽管HTAP并不是一个非常新的概念,但随着数据业务变得越来越模糊(AP Business TP,TP Business AP),此概念已经恢复了人们的注意。数据处理和消费需求的持续迭代和升级也已有为htap.gaussdb(对于mySQL)的开发创造了更多机会,HTAP仅在Clickhouse的最终性能上读取一系列优化,该肩部对Clichouse的最终性能的肩膀进行了优化,并获得了更快,更快,更快的优化。更好的体验。人们相信,将来HTAP的竞争将加剧。对于GaussDB(对于mySQL)仅htap.transformation.transformation.为了了解更多的产品,请戳https://www.huaweicloud.com/product/gaussdb_mysql.html,这是一个挑战和机会。
注意:此功能当前是邀请测试阶段。欢迎想要体验的朋友在评论区域留言!