ArangoDB高性能 NoSQL 多模型數(shù)據(jù)庫
ArangoDB 是一個開源的分布式原生多模型數(shù)據(jù)庫 (Apache 2 license)。
理念
利用一個引擎,一個 query 語法,一項數(shù)據(jù)庫技術,以及多個數(shù)據(jù)模型,來最大力度滿足項目的靈活性,簡化技術堆棧,簡化數(shù)據(jù)庫運維,降低運營成本。
ArangoDB原生多模型數(shù)據(jù)庫,指的是兼有圖 (graph)、文檔 (document)和鍵/值對 (key/value) 三種數(shù)據(jù)模型存儲軟件。其快捷靈活之處在于,它有適用于全部三種數(shù)據(jù)模型的統(tǒng)一內(nèi)核和統(tǒng)一數(shù)據(jù)庫查詢語言——AQL (ArangoDB Query Language)。其可以涵蓋全部三種數(shù)據(jù)模型,還允許在單個查詢中混合使用三種數(shù)據(jù)模型。
因此,用戶可以在單次查詢過程中混合使用多種數(shù)據(jù)模型,而無需在不同數(shù)據(jù)模型間相互“切換”,也不需要執(zhí)行數(shù)據(jù)傳輸過程。并且這三種數(shù)據(jù)模型均支持水平擴展?;谄浔镜丶啥嗄P吞匦裕珹rangoDB 原生多模型數(shù)據(jù)庫適用于搭建高性能應用程序。
特性
多數(shù)據(jù)模型:可以靈活的使用 document, graph, key-value 或者他們的組合作為你的數(shù)據(jù)模型
方便的查詢:支持類似 SQL 的查詢語法 AQL,或者通過 REST 以及其他查詢
Ruby 和 JS 擴展:沒有語言范圍限制,你可以從前臺到后臺都使用同一種語言
高性能以及低空間占用:ArangoDB 比其他 NoSQL 都要快,同時占用的空間更小
簡單易用:可以在幾秒內(nèi)啟動并且使用,同時可以通過圖形界面來管理你的 ArangoDB
開源且免費:ArangoDB 遵守 Apache 協(xié)議
Graph 圖
ArangoDB 圖形存儲(graph)包含完整功能集,例如模式匹配、最短路徑、完全遍歷等。與當前許多主流的圖形處理方法相比,ArangoDB 可以快速執(zhí)行圖形查詢。以下具體介紹如何實現(xiàn)這一改進:當使用 ArangoDB 存儲graph圖時,一種特殊類型的文檔將會被創(chuàng)建用來表示其邊和頂點。這些文檔包含指向所連接文檔的 _to 和 _from 屬性(地址屬性),因此在查詢過程中,可以通過關聯(lián)上述屬性創(chuàng)建和使用邊緣索引,實現(xiàn)圖的高性能處理和查詢。圖形存儲的獨特之處在于如下兩個方面:其一是這些邊和頂點都包含復雜數(shù)據(jù)(嵌套屬性),其二是所有的 graph 函數(shù)均被深入集成至其唯一的查詢語言 AQL 中。此外,ArangoDB 的graph圖還支持搭建數(shù)據(jù)庫集群。
Document 文檔
文檔中可以存儲海量數(shù)據(jù)(文件大小默認最大值為 32MB,但可以根據(jù)實際需要進行配置)。ArangoDB 文檔存儲應用范圍廣泛,可用于查詢和處理諸如 JOINs、輔助索引或 ACID 事務之類的文檔。 還支持在 JOIN 連接上實現(xiàn)水平擴展。
key/value 鍵/值
每個文檔里均有唯一的鍵和與其對應的值(鍵/值對)。如果您在文檔中存儲一個值,ArangoDB 可用作經(jīng)典的、高度可擴展的鍵/值對存儲,例如用戶在電子商務平臺上將商品臨時存儲在購物車里或物聯(lián)網(wǎng)應用程序中的傳感數(shù)據(jù)等。
教程
驅動程序教程--新手初級 | 中文 | 免費
Graph 圖數(shù)據(jù)庫入門教程--新手初級 | 最新版
Performance AQL 檢索提速教程--新手初級 | 最新版
為數(shù)據(jù)建模 ArangoDB vs MongoDB--新手初級 | 免費
Document CRUD (創(chuàng)建,讀取,更新,刪除)--新手初級 | AQL | HTTP API | 免費
