在当今数据驱动的业务环境中,企业面临着在数据库系统中同时管理日常事务和复杂分析的挑战。 传统上,这些工作负载是分开处理的:联机事务处理(OLTP)系统管理运营数据,而联机分析处理(OLAP)系统则处理报告和分析。混合事务处理/分析处理(HTAP)作为一种革命性的方法,将这些功能整合到一个统一的系统中,实现了对操作数据的实时分析,而不会出现传统数据仓库的复杂性和延迟,因此受到越来越多的关注。这篇博客文章探讨了 HTAP 架构的基本原理,研究了传统数据库如何发展以支持 HTAP 功能,并讨论了数据库管理工具在实施 HTAP 解决方案中的作用。
HTAP 架构基础
HTAP 背后的基本原则简单明了:维护一个单一的真实数据源,该数据源可有效处理事务性和分析性工作负载。这种方法消除了对提取、转换、加载(ETL)流程的需求,减少了数据延迟,使企业能够根据现有的最新信息做出决策。HTAP 系统通过复杂的架构来实现这一目标,这些架构通常包括内存处理、列式存储功能和先进的工作负载管理机制。

传统数据库和 HTAP
虽然 SAP HANA 和 MemSQL 等专用 HTAP 数据库在市场上处于领先地位,但传统数据库也在不断发展,以各种方式支持 HTAP 工作负载。例如,MongoDB 通过其聚合管道和变化流功能支持 HTAP。这些功能允许企业对运营数据进行实时分析,同时保持 MongoDB 在处理基于文档的事务方面的核心优势。该平台的横向扩展能力使其特别适合处理大量半结构化数据的企业。
PostgreSQL 因其可扩展性而广受赞誉,它为 HTAP 功能提供了多种途径。通过其外来数据封装器(FDW)功能,PostgreSQL 可以与专门的分析存储集成,同时保持事务处理功能。 TimescaleDB 扩展可将 PostgreSQL 转变为功能强大的时间序列数据库,在不牺牲事务处理性能的情况下实现复杂的分析查询。 此外,Citus 扩展提供了分布式查询功能,允许 PostgreSQL 在多个节点上扩展事务和分析工作负载。
MySQL,尤其是通过其 NDB 集群技术,非常适合 HTAP。该系统为事务和分析维护独立的节点,并通过实时复制确保数据一致性。InnoDB 存储引擎的缓冲池优化和对内存表的支持进一步提高了分析性能,而不会影响事务完整性。MySQL 的组复制功能允许企业将特定节点专用于分析工作负载,为 HTAP 的实施提供了灵活的方法。
HTAP 数据库管理工具
对于使用这些传统数据库实施 HTAP 解决方案的组织来说,Navicat 等工具对数据库管理和监控非常有价值。Navicat 的统一界面支持多种数据库系统,使其更容易管理混合环境,因为 HTAP 架构的各个方面可能会使用不同的数据库。其可视化查询生成器和数据建模工具可帮助开发人员和数据库管理员优化事务性和分析性工作负载。
结语
随着传统数据库系统不断发展,并融入更先进的 HTAP 功能,HTAP 的未来前景一片光明。对实时分析日益增长的需求,加上硬件和软件技术的进步,正在推动这一领域的创新。企业越来越认识到,在当今快节奏的商业环境中,对运营数据进行实时分析的能力不仅是一种竞争优势,更是一种必需品。
随着我们向前迈进,事务型系统和分析型系统之间的区别可能会继续模糊,HTAP 将成为数据库架构的标准方法。伴随着这一演变,传统数据库的 HTAP 功能可能会进一步改进,从而使各种规模的企业都能更方便地进行复杂的实时分析。