对于给定的项目,开源技术堆栈可能有无数种组合。然而,这些应用程序产生的PB级数据最终会汇聚在一个位置:数据库。尤其是用于优化和访问数据的开源数据库、工具和中间件。
因此,如果企业选择要构建的项目,那么开源数据库程序是一个不错的选择。
那么,是什么推动了从专有的、供应商驱动的创新向开源数据管理模型的转变?本文将概述驱动开源数据库程序未来发展的主要趋势,并重点介绍一些可以帮助企业引领潮流的示例项目。
云计算和SaaS
开源代码存储库和云计算技术已经颠覆了技术创新。“数据是新石油”与“软件正在吞噬世界”这两种观点相互冲突和碰撞,从而促进SaaS行业的发展,这一切都发生在云端。开发人员可以扩展服务以满足他们的需求,定制应用程序,并从任何地方在任何具有互联网连接的设备上采用云服务。对于用户来说,SaaS软件已经“开箱即用”地开发出来,并自动与数据库配套,期望在软件中执行的任何操作或查询都将在桌面或移动设备上获得即时响应。
从某种意义上说,这一切对用户来说就像魔术一样神奇,但对开发人员来说,开发新的计算模型和代码以使其保持运行是一项日常挑战。开源社区因此成为推动这一创新的引擎。
在这种相对较新的计算模式下,开发人员可以将开发的应用程序快速推向市场,而无需在基础设施成本和维护方面进行大量投资。这在20年前是不可能实现的,这几乎将每家企业都变成了软件驱动的公司。随着云计算与开源数据库相结合,使开发人员能够使用亚马逊和谷歌公司提供的创新存储和访问技术,而供应商可能难以做到。在2021年9月公布的最新季度报告中,Oracle公司的专有数据库许可收入比去年下降了8%,但其云计算业务增长了40%。
以传统银行的专有数据库和代码为例,他们突然发现正在与像Chime这样的挑战者银行在用户群体和市场上竞争。Chime银行仅存在于云端(它们没有分支机构),并以移动优先银行SaaS应用的形式出现。Chime银行使用云优先的开源战略建立了一家市值10亿美元的公司,因此,采用云计算服务是传统银行争相效仿的一个战略。
混合云
混合云是开源数据库大放异彩的地方。顾名思义,混合云使用内部部署、私有云和第三方云服务的组合,并在这些平台之间进行编排。常见的应用程序在这些平台中运行。这种配置最近得到了发展,以支持企业将某些工作负载保留在内部部署设施的需求,同时享受云计算所提供的好处。
开源允许企业拥有一套通用的工具,即使数据库不同,也可以适应所有环境的用例,例如灾难和恢复以及平衡工作负载。
大数据
快速增长的数据量和复杂性是由于移动流量、云计算流量以及包括物联网和人工智能在内的新技术的扩散。根据Research And Marke公司的2020年数据使用报告,全球每天产生超过2.5万亿字节的数据。而企业需要在数据存储和检索方面不断创新以跟上步伐。开源正是数据科学创新的一条最佳途径,同时也是硬件优化和编码效率的一条最佳途径。
数据是开源数据库项目将继续成为最受欢迎(仅次于操作系统)的最关键原因。它不断累积,像物联网和社交媒体这样的新应用每天都会产生大量的信息,而且是以高容量、高速和高度可变的格式产生的。
企业需要采用一些方法来大规模分析这些数据。这就是开源数据库优于传统数据库的地方。尽管近年来开源和社区开发项目的动态发生了变化,但对于99%的应用程序来说,社区开发仍然是促进数据访问创新的最佳方式。
与数据库无关的工具和中间件
新的现实是一个技术领域,企业对数据库服务采用更加分布式的方法。需要探索来自不同数据库供应商的多个数据库实例,以创建可以托管在内部部署、云平台或两者的混合,但通过一组标准工具和中间件来访问数据进行简化。
无论数据库是SQL还是NoSQL,现代关系数据库在表、行和列中都有一个共同点。这种数据结构允许出现新的访问工具,将分布在混合基础设施中的数据统一起来。例如,ShardingSphere等开源解决方案具有与SQL无关的工具,可以跨分布式数据存储查询和检索数据。
而现在出现的趋势是,客户不想再被微软公司或IBM公司这样的大型供应商锁定。
源代码访问
在30年前,供应商锁定被认为是一件好事。如果出现问题,用户可以获得他们的供应商的支持,这些供应商的工程师团队将不断为其应用程序进行修补和更新。企业还为许可证、技术支持和升级软件的高额年费支付了巨额费用。例如基于Oracle平台的一个应用程序的生命周期成本可能高达数百万美元,其功能仅用于数据库软件和维护,并不包括开发。
在敏捷开发代码的时代,供应商锁定不再是一件好事。开源的关键是源代码部分。通过访问共同策划的源代码,开发人员可以根据自己的需求和优先级,而不是软件供应商的需求和优先级进行更改。
开源社区
对于源代码的访问不仅对开发人员或企业有价值,它对开源社区成员的整个生态系统都很有价值。这是一个良性循环,采用开源软件的人越多,开发的项目就越多。
就像一篇优秀的博客文章或推文通过病毒式传播一样,优秀的开源软件也可以利用这种网络效应。开源社区是这种病毒式传播的来源。全球数十个贡献者社区和数千名开发人员为从头开始构建的分布式系统的数据库项目迭代开源代码。
如果由一个多元化的社区进行开发,这种方法会产生比专门的开发团队破解专有系统中的漏洞更稳定的软件。前瞻性开源数据库社区的例子包括Apache ShardingSphere、CockroachDB、Yugabite和ClickHouse。例如,ShardingSphere仅在亚洲就有450多个开源代码库的贡献者,并且正在全球迅速传播。在未来几年,随着企业对不断增长的数据流的访问、速度和控制要求越来越高,数据库软件的贡献和采用肯定会显著增长。
例如支持开源数据库项目的Momentum,开源贡献者社区解决了Momentum多个版本的主要缺陷,创建了库、存储库、文档,甚至YouTube视频来为新的贡献者提供激励。O'ReillyMedia公司和IBM公司在2020年对3,400名开发人员和技术经理进行了调查。调查报告表明:
- 94%的受访者认为开源软件等于或优于专有软件。
- 70%的受访者更喜欢采用开源云计算提供商提供的软件。
- 65%的受访者认为,参与开源项目会带来更好的职业机会。
虚拟软件目录
开源应用程序很容易找到。如果在谷歌搜索引擎上搜索“开源数据备份和恢复”这样的应用程序,那么搜索结果显示,至少有17种免费开源备份解决方案,甚至更多。
截至2020年1月,GitHub报告拥有4000多万用户和190多万个存储库(包括2800万个公共存储库)。用户可以通过多种方式搜索GitHub,例如,GitHub支持某些字段的高级搜索,如存储库、描述和自述文件。如果想找到一些很好的存储库来学习数据库的东西,可以像这样搜索:in:name数据库。
与专有产品套件相比,用户更有可能在开源软件领域找到可随时修改的相关解决方案。
首席信息官和安全性
根据调查,三分之二以上的首席信息官担心被云计算提供商锁定。因此,这已成为开源数据库得以应用的另一个主要驱动力。
在勒索软件时代,数据安全是有关企业生存的大事。开源技术使企业能够完全控制其安全需求,其方法是提供对源代码和配置的完全访问权限,从而以自己喜欢的方式扩展软件。
而很多人担心开源的安全性。很多企业的快速采用似乎正在解答有关开源的争论。而事实上,没有一家企业会不会受到开源数据库的影响。
新兴例子
随着元宇宙等新技术的发展,人们将体验到一系列新兴技术,这些技术将成为开源数据库程序的首选。
例如,Apache Shardingsphere提供的新兴开源生态系统及其与技术无关的分布式数据库即插即用模块,为作为贡献者或企业的开发人员提供了易用性和采用性。
Kubernetes(谷歌的云容器编排技术)是开源数据库部署的另一个关键API,程序员可以从中受益。
在未来5年,开源发展将由需求驱动。行业发展趋势表明,开源将不再是一种选择,而将成为一种标准。因此,企业需要积极接受以保持相关性。
原文连接:The Future Trends Driving Open-Source Database Programs,作者:Yacine Si Tayeb