7个原因告诉你为什么要选择一个“多模型”的数据库?-ArangoDB

ArangoDB 是一个开源的分布式原生多模型数据库 (Apache 2 license)。

其理念是:利用一个引擎,一个 query 语法,一项数据库技术,以及多个数据模型,来最大力度满足项目的灵活性,简化技术堆栈,简化数据库运维,降低运营成 本。Github: https://github.com/arangodb/arangodb 

合并

多模型数据库能够适用于许多不同的用例。因此它能够最小化后台部件。这样有助于降低总拥有成本,增加灵活性,并整合您的整体技术堆栈需求。

简化性能扩展

应用程序都是一步步逐渐成熟。使用ArangoDB可以使架构中的不同组件便可以进行独立扩展。ArangoDB支持垂直和水平扩展来满足您不断增加的需求。如果您对性能的需求降低,您也可以优化后台系统,这样还可以节省硬件消耗和运营成本。

降低操作复杂度

Polyglot Persistence 的目的是为项目选择最适合的工具。只安装单一模型的数据库软件会让您在运行过程中遇到很多挑战。集成这些解决方案本身就是一项复杂的任务,但是创建一个具有不同数据库之间一致数据的大型内聚系统,并且包含容错机制是无法实现的。在数据方面,Polyglot Persistence 更多的是为某一项工作配置其所需的合理的数据模型。原生多模型数据库支持多种数据(合理的数据与数据模型的配对)并且不含Polyglot Persistence 的复杂性。除此之外,ArangoDB还能够确保ACID事务处理的一致性,以及有效提升您的应用软件的容错率。

强大的数据一致性

如果在您的应用程序内没有更高级别的事务处理功能,那么它就不能支持在不同数据库系统之间的事务处理功能。因此,保持不同模型之间的高度一致性是非常困难的。用单一后台来管理不同的数据模型,您可以轻松实现ACID。ArangoDB已经可以确保单实例下的高度一致性和集群模式下的原子性。 ArangoDB的 3.x版本也将会为集群模式提供高度的一致性(MVCC)。

容错性

与其他组件一起构建一个容错系统是一项具有挑战性的任务。在集群模式下尤为困难。对上述系统的搭建和维护需要包含不同技术和技术栈深厚的专业知识。将原本设计为独立运行的多项子系统合并到一起更是会增加工程和运营成本。然而在一个如ArangoDB这样的的可扩展多模型数据库里这些问题都不会出现。这也是ArangoDB 为什么能够使得先进的拥有不同数据模型的模块化架构得以正常运行,并且也可以应用到集群模式下的原因。

降低总体拥有成本

使用不同的数据库技术会增加很多关于硬件,软件,以及与系统运营相关的成本开支。每个数据库技术都需要持续的维护,补丁,错误修复和由供应商提供的其它修改。每个新的更新都必须由专门的团队进行测试,其与当前系统整体是否兼容。使用多模型数据库可以有效地减少这些成本开支。

事务处理

对多台机器提供事务处理保障是非常具有挑战性的,而且几乎所有的NoSQL数据库都不提供这些保障。而ArangoDB原生多模型数据库则会要求事务处理始终确保数据都存储在数据库中。ArangoDB已经可以确保单实例下的高度一致性和集群模式下的原子性。ArangoDB的3.x版本也将会为集群模式提供事务 (MVCC)。

posted @ 2017-06-27 17:04  Germanwifiii  阅读(1282)  评论(1编辑  收藏  举报