数据库也去中心化?深度解析分布式数据库

2023-10-17 1783阅读

在云计算、大数据等新技术的推动下,越来越多的企业需要对结构化数据进行查询、分析、处理和更新。同时,随着创新业务的不断增加,业务的复杂性和海量性必然会产生复杂大规模的结构化数据,这必然迫使企业对数据库提出大规模、高可靠性、高可扩展性和高性能的要求。

数据库也去中心化?深度解析分布式数据库
(图片来源网络,侵删)

对于任何企业来说,数据库都是其应用的核心资源。如何选择适合自己企业IT架构和业务的核心数据库,是每个CIO/CTO必须面对的问题。

本文将从互联网企业和传统行业(银行、保险等行业)两个部分进行分析阐述,希望对大家有所帮助。

互联网公司的主流是MySQL?

MySQL是一个开源数据库,由于其自身的特点和互联网使用场景,在互联网上非常流行和广泛使用。

互联网公司往往具有高并发、数据量大等业务特点。同时,为了在激烈的竞争中处于领先地位,产品会不断迭代,需要不断推出新产品,并进行大量的推广操作。从技术角度来说,没有办法提前预测,只希望IT的可扩展性。因此,互联网公司对系统的可扩展性有着执着的追求。

MySQL之所以在互联网圈大行其道,可以总结为:

MySQL虽然是开源软件,但是使用方便,稳定性高,功能完善,可以根据业务特点定制所需的存储引擎,优化其性能,以适应自身业务。很多商业数据库软件设计目标没有考虑互联网服务经常面临的高并发、海量用户场景,无法满足企业的基本需求。

因为MySQL代码是完全开源的,当企业的业务出现问题时,可以立即检查并响应,从而保证用户体验。然而,商业数据库软件的核心技术无法被用户深入掌握,很难足够快地解决问题。

在标准x86服务器上运行MySQL可以大大降低硬件成本,节省大量的许可证成本。

虽然MySQL有各种各样的优势,但是MySQL也不是万能的。复杂的SQL或大型表连接可能会使MySQL过载并耗尽资源。同时,MySQL本身有一个严重的缺点:没有一个成熟的高可用的分布式解决方案。

所以大多数互联网公司选择混合使用MySQL。MySQL能解决问题的时候就用MySQL,而一些对性能、安全性、可靠性要求比较高的商家就用商业数据库软件,然后看有没有机会替代。

金融业

金融行业大多数系统的数据存储层采用“小型机商用数据库高端存储阵列”的实现方式。随着业务和技术的发展,这种模式逐渐暴露出一些问题。

随着安全性和可控性的需求,监管部门从国家信息安全的角度,对银行业的IT基础设施提出了开源性、本地化、安全性和可控性的要求。

银行业面临着日益严峻的IT成本控制压力,基于目前实施的数据存储层,每个系统的数据存储成本都在百万之内。

随着电子银行和网上银行的创新和扩展,数据存储层缺乏良好的可扩展性,难以应对应用层的高并发数据访问。

过去,银行使用小型计算机和大型存储器等高端设备来确保数据库的可用性。在可扩展性方面,主要通过增加CPU、内存和磁盘来提高处理能力。这种集中式架构使得数据库逐渐成为整个系统的瓶颈,越来越无法满足海量数据对计算能力的巨大需求。

金融业普遍面临互联网金融在技术和业务上带来的新挑战。高可用、可靠、可扩展的大数据平台和分布式数据库解决方案是金融业全新的技术选择,不仅有助于金融业增强业务创新能力和用户体验,还能增强自身的技术储备,迎接互联网时代的市场挑战。

因此,对于银行业来说,用“分布式数据库Hadoop大数据平台”解决方案逐步取代现有的关系数据库是最好的选择。

新一代分布式关系数据库应运而生

分布式数据库是这些大型企业用户(如电子商务、金融、制造、零售等)的重要技术选择方向之一。)来承载核心业务,也是帮助企业处理大规模结构化数据的重要技术平台。为了满足用户对分布式数据库的实际需求,帮助传统企业逐步将核心业务迁移到云,青云清云自主开发了新一代分布式数据库。

青云分布式关系数据库—— RadonDB

青云轻云RadonDB是基于MySQL开发的新一代分布式关系数据库。它可以在规模上无限扩展,支持分布式事务,财务数据一致性强,满足企业核心数据库对大容量、高并发、高可靠性和高可用性的苛刻要求。

RadonDB架构图

如上图所示,RadonDB采用分布式SQL节点

分布式存储节点的高可用分布式架构,每个分区内采用一主多从的架构设计,数据多副本存储,可自动实现故障秒级切换与瞬间生效。同时支持跨数据中心部署,全面保障服务高可用。

存储层由多个 Node 组成,每个 Node 负责部分数据存储,同时在存储节点内,通过 GTID + Raft + Semi-Sync-Replication 机制保障数据写入的高度一致性。 底层硬件一般采用低成本的 X86 架构存储服务器。

同时,存储层采用一主多从的 MySQL 作为存储引擎,这点与行业内其他的分布式数据库不同(Google Spanner)。 之所以选择经典的 MySQL 作为存储引擎,主要有以下几点原因:

MySQL 使用广泛,其可靠性和稳定性经过长期验证;

用户的 MySQL 数据库不需要进行太多修改,即可迁移至 RadonDB;

MySQL 不断的演进,功能日益完善,如支持计算下推,数据就近计算原则;多索引写原子保证;SQL 与 Storage 层数据传输最小化等等。

如上图所示,分布式数据库系统中的数据是相互关联的,虽然每个小表(子表)都是分散的,但逻辑上是一个统一的整体,对上层应用来说,可视为一个集中式的数据库系统。

同时,小表(子表)可以动态漂移,随着表的热度和大小进行动态的扩容和伸缩,保证资源分配最优化。支持存储节点无限水平扩展,从而提供可动态无限扩展的存储容量。性能随节点扩展而线性增长,轻松应对超大容量及超高并发请求带来的性能挑战。

除上述基本特征外,RadonDB 还高度兼容 MySQL 语法,支持 HTAP 混合模式,可跨数据中心部署,支持智能化自动分表、平滑扩容及自动运维,扩容与故障切换时业务零中断,无需人工干预;同时支持 HTAP 混合模式,并提供完善的服务监控、审计日志及安全防护措施。

作为一款基于云模式的大型分布式数据库服务,RadonDB 具备云服务所有的弹性、敏捷、按需和轻运维特性。

写在最后

希望 RadonDB 数据库可以给行业从业者带来更多的可能,包括金融行业新业务、新 IT 的建设,互联网公司核心业务的高可靠、高性能等诉求。

未来,RadonDB 将会全部开源,希望可以有更多的伙伴加入进来,给行业带来更多的惊喜。如果你对分布式数据库还有更多问题,12月12日,我们将会有一场线上发布会,RadonDB 的研发工程师会与大家面对面进行交流,千万不要错过。

青云QingCloud 下一代企业级云架构 ——「全模云」线上发布会,期待你的报名。

http://t.cn/RYAz05V




《数据库也去中心化?深度解析分布式数据库》来自互联网同行内容,若有侵权,请联系我们删除!

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]