1.1 DBMS的演变
在过去的10年中,促进革新的云、软件即服务(software as a service,SaaS)交付模式和开源仓库被广泛采用,数据量呈爆炸式增长。
这些大型数据集迫使组织必须部署有效而可靠的DBMS,以最大程度地改善客户体验。然而,组织对DBMS的专注给新技术和新从业者带来了机会,也带来了众多的挑战。既然你正阅读本书,说明你很可能想提高自己的技能,并强化或拓展有关如何卓有成效地管理DBMS的知识。
数据库是为存储和检索信息而生的,因此对组织来说,熟悉存储和检索海量数据的最新方法、技术和最佳实践至关重要。另外,云存储导致数据集群被广泛使用,并催生了与数据存储策略相关的数据科学。通常,应用在一天中使用的数据量在不断变化。
为了收集和处理数据,数据库必须是可靠且可伸缩的,从而能够将大型数据集拆分成多个较小的数据集。这样的需求催生了数据库分片和分区等概念,它们都用于将大型数据集分割成较小的数据集,同时确保性能和正常运行时间不受影响。这些概念将在3.2节以及第10章进行讨论。
我们根据开源倡议(Open Source Initiative)的开源定义(The Open Source Definition)的说法,总结一下开源意味着什么。所谓开源,指的是以如下许可方式发布的软件:版权持有人赋予用户以合适的方式使用、修改和分发软件(包括其源代码)。
在数据库方面,开源不仅至关重要,还可能给很多人带来惊喜。在2021年6月,全球超过50%的DBMS都是以开源方式许可的。在开源数据库软件的最近发展动向中,有大量社区是致力于探讨云原生数据库软件的。
随着云计算时代的到来,云原生数据库变得日益重要,其优点包括高弹性以及能够满足应用的苛刻要求。这种发展趋势催生了对云迁移能力和技能的需求,以便企业能够将工作负载迁移到不同的云平台。
当前,混合云和多云环境已司空见惯,将近75%的组织都说自己使用的是多云环境。在依然存储在本地设备中的数据中,大都是敏感数据(组织对是否要将其迁移到云端持谨慎态度),或是与遗留应用或环境相关(将其迁移到云端过于困难)的数据。
这一现状改变了我们对数据库的看法,并给数据库赋予了新含义:它们包含位于本地设备和云端的数据,而工作负载运行在多种不同的环境中。在数据库和基础设施领域,出现的另一项重要技术是分布式云。所谓分布式云,指的是这样一种架构:从公有云同时使用多个云,并集中管理它们。这给组织带来了基于云的服务,同时让云系统和本地系统之间的界线变得模糊。
下面将介绍被称为行业痛点的挑战,你可能熟悉这些行业痛点,但即便不熟悉,也没有关系。介绍完这些痛点,将接着介绍其他同样重要的需求,这些需求当前还未得到满足,给行业带来了新机会。