深入了解开源数据库,主要开源数据库优势

4747 976 2023-06-02

本文讲述了深入了解开源数据库,主要开源数据库优势

深入了解开源数据库,主要开源数据库优势

开源数据库只是随其源代码一起分发的常规数据库。

用户可以自由地阅读、修改和扩展软件。对于许多人来说,最有吸引力的特性可能是它可以在任何时候在任何地方的任何硬件上运行它。源代码是所有程序员都可以根据自己的需要使用的公共资源。

什么是开源数据库

并不是说架构、语言或者定义开源数据库的特性集有什么不同。事实上,许多开源选项就像它们的专有版本一样使用 SQL 版本。

对于与专有软件供应商重新授权谈判的管理人员来说,许可一直很有吸引力。如果源代码不被共享,他们唯一的选择就是转移到另一个产品,这通常包括大量的重写。

但是,天下没有免费的午餐。这些源代码或许也存在一些“陷阱”,有些比较明显有些则是隐藏起来的。许多开源许可证中,有些对用户几乎没有任何限制,有些则坚持要求用户共享任何增强,从根本上确保公共代码对所有人保持开放。

另一个没有明确说明但对用户来说非常重要的就是,必须有人付钱给开发人员。

一些使用开放源码数据库的公司会雇人为代码库做贡献。他们不是购买专有许可证,而是通过向开发人员支付薪水。选择这种方式的公司倾向于他们对所获得的代码库的控制。

许多开源数据库是在混合模式下发布的。有些人会创建两个不同的版本,其中更简单、更通用的代码可以被称为“社区版”,并且可以自由发布。探索该技术并创建新原型的开发人员可以免费下载它。

支持开发的公司的账单通常由逐渐采用”商业版本”的公司支付,这种版本通常提供与处理较大数据集或提供更好的安全性有关的额外功能。它们通常是新开发人员不需要的特性,但是对于运行生产代码的团队来说,它们提供了长期的价值。设置多个版本并确保每个版本都有正确的特性是一门艺术。在商业版中保留太多的功能,没有人会去尝试。在社区版中留下太多,没有人会觉得需要升级和付费。

开放源码数据库可以分为很多类别,这些类别在很大程度上取决于它们的发展时代。最早的工具,如 MySQL 或 ***,仿效了商业领袖。它们使用 SQL 语言,并将数据存储在按索引排序、由 JOIN 例程链接的关系表中。有时它们并不提供同样完整的特性选择,但是它们逐渐进化到支持相同的数据存储风格。

后来的 NoSQL 数据库,如 *** 和 ***,以其灵活的模式和文档风格的键值对存储而闻名。这种特殊类型的数据库在很大程度上演化为开放源码。

一些最新的数据库,比如那些支持分类账或地理数据的数据库,通常是几对产品的混合体。一个是免费提供的功能齐全的社区版本。另一个通常被称为“企业版”,因为它包含的特性支持更大的数据集,而这些数据集可能需要更高的稳定性和可靠性。这些额外的功能通常只有在付费的情况下才能使用。

主要供应商是如何接受开源的

甲骨文在 2009 年收购 Sun Microsystems 的过程中收购了 MySQL,有效地认识到了开源模式的力量,于是他们继续开发和支持数据库。用户可以选择免费版,也就是所谓的社区版,也可以选择更高级的版本,其中包含大公司所需的额外功能。其中,备份、额外的安全性和集群管理是需要付费的。

甲骨文还收购了 BerkeleyDB,这是一组常常被编译成程序的键值数据库。它们使开发人员可以减轻维护数据结构的工作。

微软已经选择在 Azure 云上托管一些主要的开源数据库。希望依赖 *** 或 MySQL 的团队可以启动由微软管理的实例,从而省去配置和维护服务器的麻烦。

其他云供应商也在遵循类似的路径,亚马逊、谷歌、DigitalOcean、Rackspace 和其他几家公司都提供了租用全配置服务器的选择,这些服务器都有主流开源数据库的运行版本。亚马逊独自提供了大多数主要开源数据库的托管版本。

这些托管实例的出现使一些开发人员感到困扰。许多云计算提供商发布的新产品公告都提供了安装和维护开源软件包的信息。这些不是无关紧要的任务,但是工作可以自动化。这导致了工具开发人员和云公司之间的摩擦,而这些冲突还远未解决。

从开源项目开始的新数据库

许多新数据库都是从开源项目开始的。有数十家新公司根据社区开源许可证发布了新数据库。其中大多数公司还试图通过出售一些支持和额外的专有功能来支持自己。

这些开源项目中,有些项目建立在以前的版本之上。MariaDB 是 MySQL 的创始人之一 Monty Widenius 发起的 MySQL 的分支。在把 MySQL 卖给甲骨文后,他开始了这个新版本。早期版本始于原始的代码库,但最新版本增加了一些特性,可以加快处理极大数据集的速度。SQL 语法的许多基本特性和核心部分是相同的,所以许多开发人员可以在它们之间自由切换。在未来,这种差异可能还会扩大。例如,MariaDB 已经增加了与 ***、 TokuDB 和 sphinx 等流行数据库的集成。

虽然许多新的数据库都是开源的,但并非所有公司都接受这种模式。例如,Fauna 为它的分布式数据库选择了一个商业许可证。对企业友好的特性针对的是那些必须兼顾数据保留策略和快速扩展的管理人员。新的开发人员可能无法访问源代码,但是他们可以使用托管服务的免费层,该层严格限制每月可读或写的元素数量。

如何治理开源数据库

软件的控制是吸引许多用户使用开源数据库的原因,他们愿意为专有软件公司出售的产品按时支付工资,通常是为了避免供应商锁定可能带来麻烦。开源许可证明确地使用户成为控制代码的正式合作伙伴。

但是,这种伙伴关系的性质和局限性仍然受到质疑。最近,几家数据库公司对某些云公司将硬件和维护捆绑在一起的方式表示反感。*** 和 Elastic 都对这一过程是否公平提出了质疑,部分原因是云公司不直接与原公司分享收入。云计算公司并没有违反开源许可协议的字面意思,但有些人认为他们保留了大部分的付款份额,违背了开源协议的精神。

开源的真正意义是,竭尽全力支持自由阅读、使用和修改代码的最初愿景。

作为开源软件运动的原始开发者之一,Richard Stallman 曾说过这样一句话:“Open source is free as in freedom, not as in beer.”

很多IT行业专业人员都使用DB-Engine来跟踪数据库产品的流行程度。排名标准基于在行业网站、Google搜索、职位发布、用户个人资料以及专业和社交网络对不同产品的引用次数。

根据DB-Engines的研究,最近开源数据库的流行程度已经超过商业数据库。

重要的是要注意,网络流行程度并不等于市场份额和行业领先的销售收入。顶级商业产品(例如Microsoft ***和***的自主数据库)仍然领先于所有供应商,包括开源数据库产品。但是开源数据库的部署率上升,这为专有数据库带来竞争。

开源数据库的普及程度

开源数据库发行版使用开源软件许可模型,该模型在发行版限制方面有所不同。开源通常是指具有源代码的程序,用户可以根据自己的需要自由修改和使用这些源代码。与大多数商业数据库管理系统(DBMS)产品相比,开放源数据库的优势包括更低的前期许可和持续的维护成本。

但是开源并不总是意味着该产品是完全免费。很多供应商在其免费的开放源代码产品中仅提供基本功能,他们还会提供高级版本,需要支付前期购买成本或基于订阅的支持合同。

关键区别在于,前期许可和持续维护成本通常比商业竞争对手低得多。

企业级支持服务

与商业竞争对手相比,开源数据库历来被视为利基产品,具有有限特性、功能和供应商支持。因此,企业通常会避免使用没有商业支持的开源数据库。

没有稳定成熟的供应商为他们提供产品支持、补丁和升级。数据专业人员也不放心使用开源数据库来支持关键或任务关键型应用程序。

但是,只要IT行业存在差距,就会有供应商迅速提供产品。多年来,越来越多的服务提供商开始为开源数据库产品提供24/7支持。

此外,随着人们对数据库即服务(DBaaS)平台的兴趣日益浓厚,这些平台固有地提供24/7数据库后端支持作为其产品的一部分,你很难找到一款不提供多个支持选项的开源DBMS产品。

与商业产品竞争激烈

所有数据库供应商都知道,他们必须添加新功能才能保持竞争力。开源和商业数据库市场竞争激烈,迫使供应商最大化其产品的固有功能集。开源数据库的优势包括不断创新和集成新功能,这些新功能使它们与其他供应商区分开来-这是他们竞争生存的要求。

开源供应商竞争心态的很好的例子是EnterpriseDB。该公司将Postgres Advanced Server产品作为***的经济高效的替代产品来销售。EnterpriseDB宣传其产品提供与***功能的高度兼容,包括支持PL / SQL程序语言、SQL扩展、功能、程序包和复制,以及使迁移到开源平台更容易的类***工具。

平台、数据模型和供应商:更多选择

开源数据库的另一个优势是,与商业数据库不同—通常由产品制造商提供和支持,你会发现很多供应商提供开源数据库软件或完全托管的DBaaS平台。

知名行业巨头正在利用日益普及的开源数据库系统来获利。亚马逊、微软、谷歌和甲骨文等大型供应商正在继续尝试利用那些挑战其在该行业主导地位的技术。

他们的战略通常是提供自己的开源数据库平台版本,或确保开源数据库中使用的技术成为其数据库产品的组成部分,而不是替代其产品。

下面是示例列表:

  • 亚马逊在托管开源数据库产品中处于领先地位。他们的产品包括MySQL、MariaDB和***。Amazon还将MySQL和***功能集成到其Aurora数据库中,并将***功能集成到DocumentDB中。

  • Microsoft为Redis、MariaDB和***云平台提供完全托管的Azure。此外,微软直接挑战很多小型NoSQL开源数据库供应商,他们将键值、列系列、文档和图形数据库模型集成到其CosmosDB平台中。

  • 谷歌提供完全托管的MySQL、***和Redis开源数据库。

  • 甲骨文在其云MySQL产品中极大地改进MySQL开源版本的特性和功能。此外,甲骨文的NoSQL数据库支持文档、列式和键值数据模型

***、DataStax、PlanetScale和ElephantSQL等其他供应商也销售多云DBaaS平台。他们的产品使消费者能够轻松地在包括亚马逊、谷歌和微软等云平台上配置他们的数据库。

IT社区对开源NoSQL和关系DBMS产品的兴趣也正在推动越来越多的供应商提供第三方部署、管理和监视工具。此外,你还可以在他们支持的平台列表中找到各种提供开源数据库的软件应用程序。

未来

数据库市场不再只是包含少数商业数据库产品。随着开源数据库产品的不断成熟,它们将变得更加全面、智能和标准化。

由于这些开源数据库的优势,企业部署率将继续增加。企业将越来越多地使用开源数据库作为新应用程序部署的标准数据基础结构选择。

上文就是小编为大家整理的深入了解开源数据库,主要开源数据库优势。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:携程持久化KV存储挑战Redis,狂省90%成本……
下一篇:深入浅出理解什么是HTAP,HTAP数据库技术的现在和未来
相关文章