一文解析数据库基础设施的现状与挑战
数据库基础设施现状
信息化系统目前已经是支撑现代化企业运营的重要组成部分,在企业内部存在几十甚至上百个不同的 IT 应用系统,支撑企业的服务渠道、客户营销、产品业务处理、经营管理和决策等各方面,大多数的应用系统围绕数据库开发和运行。一般有十多个核心应用数据库和几十个一般应用数据库,同时多种数据库和多个不同版本、不同规格的数据库在运行。
例如,某区域银行拥有 6 套 Oracle RAC,以每套 3TB 的数据量支撑核心账务,而其他一般生产业务使用了超过 100 套、容量从 2TB 到 100GB 不等的 MySQL;某三甲医院除了核心的 HIS 系统采用 1.4TB 数据量的 Oracle RAC 作为支撑,其他的 EMR 、电子票据、用药指导等 5 个应用系统,采用 Oracle 数据库作为支撑,容量从 80GB 到 1TB 不等;PACS、LIS、门诊排队叫号等 17 个系统采用 SQL Server 数据库作为支撑,容量从 80GB 到 800GB 不等;无纸化病案应用采用 MongoDB 作为数据库支撑,容量为 400GB。
目前,这些数据库的基础设施主要采用传统集成架构、虚拟化部署模式和数据库一体机几种方案,每种方案的定位概述如下:
确保数据库实例具有高可用性(通过主备、热备或者集群技术)。
采用 SAN 高端存储技术,确保存储具有高性能、大容量。
利用存储设备的 RAID 特性,确保数据安全、完整、可靠。
可通过服务器、存储设备分层建设,实现系统的高扩展性,满足应用部署需要。
存储层面,数据量不断增加,带来 IO 瓶颈;随着数据长时间运行带来的数据分布不均匀,存在 IO 热点。
网络层面,传输带宽不足够,无法快速传输大量数据到服务器进行处理。
服务器层面,接收到过多无效数据需要处理,高性能处理器和内存的优势无法发挥。
利用虚拟化技术,提高可用性,可动态迁移,可支持高用(HA),可在不中断用户应用的情况下进行系统升级等。
通过利用快照、克隆等技术,在升级出现问题时候,可支持回滚,避免系统故障停机,通过 DRS 动态资源调配,可提升 IT 系统对应用和业务的适应能力。
支持在线扩展 x86 服务器,可根据需要增加计算资源。
这种架构以集中式存储为核心,受到存储系统控制器数量和性能的限制,存储的整体性能被限定,只能垂直扩展容量,无法通过扩容提升存储性能,进而随着计算资源的增加,虚拟机 VM 的平均性能是不断下降的,这样就会影响虚拟机 VM 和数据库的性能。
运维管理不方便,整个系统分为多个 IT 层次,在进行维护和变更时需要在多个设备维护系统中(包括 Web、图形、命令行)由相关的专家和技术人员统一协调部署,人力成本高。
采用 VMware 等虚拟化技术增强了系统的灵活性,但是也增加了 IO 路径,降低了系统性能,无法满足一些高性能 VM 和数据库运行的需要。
3、数据库一体机方案
已经在工厂由厂商软硬件专家完全预装,开箱即用。
利用业界最为先进的软硬件技术,并将这些技术发挥到极致。
解决传统的系统配置中的性能瓶颈。
提供全面的工具和手段,简化管理和运维。
数据库基础设施的挑战总结
数据库一体机成本高,运维复杂,弹性差,无法支持多数据库。
物理服务器加集中式存储的方案,在成本、易维护性和敏捷性方面比较差。
VMware 加集中存储的方案,在性能与延迟方面与裸金属以及数据库一体机方案仍有差距,同时存储扩展性和整体成本方面仍然不能更好满足用户需求。
在金融等行业目前面临国产化转型的需求,面临着全新的软硬件适配问题,对数据库基础设施提出更大的挑战。
目前以容器和 K8s为基础的云原生架构对基础设施的敏捷性提出更高要求。