`
gaojingsong
  • 浏览: 1182622 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【数据库之ArangoDB介绍】

阅读更多

ArangoDB是一个原生多模型数据库,兼有key/value键/值对、graph图和document文档数据模型,提供了涵盖三种数据模型的统一的数据库查询语言,并允许在单个查询中混合使用三种模型。基于其本地集成多模型特性,您可以搭建高性能程序,并且这三种数据模型均支持水平扩展。

 

ArangoDB 数据库模型

Document 文档

您可以在文档中存储海量数据(文件大小默认最大值为32MB,但可以根据实际需要进行配置)。ArangoDB功能强大,应用范围广泛,可用于查询和处理诸如JOINs、辅助索引或ACID事物之类的文档。您还可以在JOIN连接上实现水平扩展。

 

key/value 键/值

每个document文档里均有唯一的键和与其对应的值(键/值对)。如果您在document文件中存储一个值,那么ArangoDB可用作经典的、高度可扩展的键/值对存储,例如用户在电子商务平台上将商品临时存储在购物车里或物联网应用程序中的传感数据等。

 

Graph 图

ArangoDB包含了graph图形存储的完整功能集。例如模式匹配、最短路径、完全遍历等。与当前许多主流的图形处理方法相比,ArangoDB可以快速执行图形查询。以下具体介绍如何实现这一改进:

当使用ArangoDB存储graph图时,一种特殊类型的文档将会被创建用来表示其边和顶点。这些文档包含指向所连接文档的_to和_from属性(地址属性),因此在查询过程中,可以通过关联上述属性创建和使用边缘索引,实现图的高性能处理和查询。

ArangoDB数据库的独特之处在于如下两个方面:其一是这些边和顶点都包含复杂数据(嵌套属性),其二是所有的graph函数均被深入集成至我们的查询语言AQL中。这两个特征使得ArangoDB在性能上能与其他graph数据库一较高低。此外,ArangoDB还支持对graph图搭建数据库集群。



 

 

 

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)。

  • 大小: 134.1 KB
0
0
分享到:
评论

相关推荐

    高性能 NoSQL 数据库 ArangoDB.zip

    Arangodb是一个开源数据库,具有灵活的数据模型,如document,graph以及key-value.同时也是一个高性能数据库,支持类似SQL... 开源且免费: ArangoDB遵守Apache协议这里有一个介绍的 幻灯片。 标签:ArangoDB

    Python-pythonarango图数据库ArangoDB的Python驱动程序

    Python-arango是Python社区开发的一个库,用于与ArangoDB交互,ArangoDB是一个功能强大的、多模式的NoSQL数据库,特别适合处理图形数据。这个驱动程序为Python开发者提供了便利,让他们可以轻松地在ArangoDB中存储、...

    ArangoDB Community Edition(arangodb3-client-linux-3.8.4.tar.gz)

    ArangoDB是一个原生多模型数据库,兼有key/value键/值对、graph图和document文档数据模型,提供了涵盖三种数据模型的统一的数据库查询语言,并允许在单个查询中混合使用三种模型。基于其本地集成多模型特性,您可以...

    arangodb-java 代码实例

    ArangoDB是一款现代、分布式文档图形数据库,支持多种数据模型,包括文档、图形和键值对。它提供了Java驱动程序,使得Java开发者可以方便地在应用程序中集成ArangoDB。本篇文章将深入探讨"arangodb-java 代码实例",...

    ArangoDB学习资料,API文档

    AQL是ArangoDB的核心功能之一,它是一种声明式的查询语言,类似于SQL,但针对多模式数据库进行了优化。AQL可以用于检索、更新、插入和删除数据,支持图遍历、聚合操作以及复杂的关联查询。通过AQL Docs,你可以学习...

    ArangoDB Community Edition(arangodb3-3.8.4-1.0.x86_64.rpm)

    ArangoDB是一个原生多模型数据库,兼有key/value键/值对、graph图和document文档数据模型,提供了涵盖三种数据模型的统一的数据库查询语言,并允许在单个查询中混合使用三种模型。基于其本地集成多模型特性,您可以...

    ArangoDB Community Edition(arangodb3-macos-3.8.4.tar.gz)

    ArangoDB是一个原生多模型数据库,兼有key/value键/值对、graph图和document文档数据模型,提供了涵盖三种数据模型的统一的数据库查询语言,并允许在单个查询中混合使用三种模型。基于其本地集成多模型特性,您可以...

    ArangoDB Community Edition(arangodb3_3.8.4-1_amd64.deb)

    ArangoDB是一个原生多模型数据库,兼有key/value键/值对、graph图和document文档数据模型,提供了涵盖三种数据模型的统一的数据库查询语言,并允许在单个查询中混合使用三种模型。基于其本地集成多模型特性,您可以...

    ArangoDB Community Edition(arangodb3-3.8.4.x86_64.dmg)

    ArangoDB是一个原生多模型数据库,兼有key/value键/值对、graph图和document文档数据模型,提供了涵盖三种数据模型的统一的数据库查询语言,并允许在单个查询中混合使用三种模型。基于其本地集成多模型特性,您可以...

    ArangoDB是一个原生的多模型数据库拥有灵活的文档图形和键值数据模型

    ArangoDB是一个强大的开源数据库系统,它以原生支持多种数据模型而著称,包括文档、图形和键值对模型。这种多模型设计使得ArangoDB成为了一个高度灵活且功能全面的解决方案,适用于各种现代应用程序的需求。 在文档...

    ArangoDB vs. OrientDB Comparison.pdf

    ArangoDB是由ArangoDB GmbH公司支持的开源数据库系统,它的首次发布是在2012年,并且在2019年8月发布了最新版本3.5.0。ArangoDB可以运行在所有支持Java JDK 6或更高版本的服务器操作系统上。ArangoDB支持C、C++、...

    ArangoDB帮助文件

    ArangoDB是一款强大的开源多模式数据库系统,支持文档、图形和键值等多种数据模型,具有高性能、高可用性和灵活性的特点。这些帮助文件是针对ArangoDB 3.3.0版本的,包含了对数据库操作、API使用以及AQL查询语言的...

    ArangoDB vs. JanusGraph vs. Neo4j vs. OrientDB vs. TigerGraph Comparison.pdf

    ArangoDB vs. JanusGraph vs. Neo4j vs. OrientDB vs. TigerGraph System Properties Comparison ArangoDB vs. JanusGraph vs. Neo4j vs. OrientDB vs. TigerGraph

    Arangodb集群

    本文将详细介绍如何搭建和配置 Arangodb 集群,包括安装 Arangodb 数据库、修改配置文件、搭建集群、修改集群配置和存储引擎等。 一、安装 Arangodb 数据库 要搭建 Arangodb 集群,首先需要安装 Arangodb 数据库。...

    ArangoDB Community Edition(arangodb3-dbg_3.8.4-1_amd64.deb)

    ArangoDB是一个原生多模型数据库,兼有key/value键/值对、graph图和document文档数据模型,提供了涵盖三种数据模型的统一的数据库查询语言,并允许在单个查询中混合使用三种模型。基于其本地集成多模型特性,您可以...

    arangodb数据导入文件.zip

    ArangoDB是一款强大的开源多模式数据库系统,支持文档、图形和键值等多种数据模型,广泛应用于数据密集型应用。在处理大数据量导入时,如果直接使用ArangoDB的交互式命令行工具Arangosh,可能会遇到性能瓶颈,因为它...

    arangdb可执行二进制包

    ArangoDB是一款强大的开源数据库系统,它支持多种数据模型,包括文档型、图形型和键值对,这使得它在处理复杂数据结构时表现出色。作为一个NoSQL数据库,ArangoDB打破了传统的关系型数据库模式,提供了更为灵活的...

Global site tag (gtag.js) - Google Analytics