随着信息技术的发展,数据处理需求的变化推动了数据管理软件技术的变革,从技术发展方向来看,数据管理软件技术发展历程包括以下三个阶段:
图 :数据管理软件主要技术演变及代表性公司
1970-2000 年,数据管理软件主要为集中式架构的关系型数据库,其软件产品具备 不可分割性(atomicity)、一致性(consistency)、隔离性(isolation,又称独立性)、 持久性(durability)即“ACID”功能特性,占据了数据管理软件的主导地位。
关系型数据库技术出现在 20 世纪 70 年代,经过二十余年的发展,到90 年代已经成熟。市场上具有代表性的集中式架构关系型数据库产品包括 Oracle、IBM DB2 以及微软 SQL Server 等。
2000年以来,随着互联网和计算机技术的快速发展,需要处理的数据量更大、类 型更丰富、速度要求更快,传统集中式计算架构已无法适应数据海量、异构、多源等特点,在部署的扩展性、容错性、经济性、灵活性等方面有一定局限性。
谷歌于 2003 年 -2006 年间的三篇论文奠定了分布式存储和计算的基础,而后行业从业者基于以上理论 建立了 Hadoop、Spark 等大数据分布式系统框架,并交由 Apache 软件基金会托管;2009 年,在 Johan Oskarsson 开源分布式数据库的讨论中,来自 Rackspace 的 Eric Evans 重提 NoSQL 概念,用以指代非关系型的分布式数据存储系统。针对于不同的场景,分别产生了图数据库、搜索引擎、文档数据库、键值数据库等 NoSQL 数据库,代表性 NoSQL 数据库提供商包括 MongoDB、Elastic 等。
2010 年以来,随着数字化转型的逐步深化,快速变化的业务场景呈现了复杂化、 多样化的态势。复杂的业务场景往往需要使用多种数据模型,以及数据模型间的融合。 这个时期的,行业内大部分数据库都是面向单一数据模型而设计的,用以解决特定业务 场景的特定问题。例如,使用传统的关系型数据库解决结构化数据的存储和处理问题、 使用图数据库解决图相关的存储和处理问题、使用文档数据库解决文本相关的存储和处理问题。由于结构化数据和非结构化数据通常以不同的格式和模式存储,单模型数据库 虽然优化了数据存储和处理,却难以满足日趋增长的、多样的业务场景需求。
当同一业务需要用到不同类型数据的时候,受限于单模型数据库的处理能力,客户往往需要部署 多个相互独立的单模型数据库,在对不同模型数据进行联合处理的时候,需要对数据进 行搬迁或融合,导致架构复杂度高、开发成本高、运维成本高以及数据处理效率低。
由此,催生了从单一数据管理系统到融合型、多模型数据管理系统的技术需求。 此外,随着云计算技术的大规模应用,传统各类软件产品都开始由独立部署模式向 云服务模式转变。其中数据库作为信息系统核心软件,逐渐附加云化能力形成云原生数 据库,以服务的形式对外提供技术支撑。云原生数据库按照部署方式可以分为公有云部 署和私有云部署。
其中,私有云部署模式由企业提供云数据库依赖的底层物理资源,数 据库服务商负责部署云原生数据库软件,后期企业和数据库服务商约定运维维护工作的 具体职责分工等,特点是“自有资源池化”,“数据不外流”等。相比公有云部署下的 云数据库,私有云模式更加关注信息安全,能够实现对数据安全性和服务质量最有效控 制,仅限于企业员工和取得授权的合作伙伴使用。
多模型、数据库云原生相关技术已经成为信息产业的未来发展方向,促使大数据软 件进一步革新,规模呈现快速增长趋势,代表性企业如 Snowflake、AWS 等。相较于国 内外的现状,私有云在面向国计民生的相关行业更受客户欢迎,面向私有云模式的云原 生数据库预计在未来将获得快速增长。
随着技术不断成熟,分布式架构将逐渐成为主流。自底向上,传统的集中式资源管理调度逐渐向基于云原生技术的分布式统一资源管理平台发展;数据管理软件技术架构 也会因为计算模式的转变发生重大变革,传统的集中式数据库逐渐向分布式、多模型数 据库发展;传统数据分析软件逐渐向新型的分布式数据开发和智能分析软件发展。