| 開発者 | アランゴDB株式会社 |
|---|---|
| 初回リリース | 2011年 |
| 安定版リリース | 3.11.5 / 2023年11月9日 |
| リポジトリ |
|
| 書かれた | C++、JavaScript |
| タイプ | マルチモデルデータベース、グラフデータベース、ドキュメント指向データベース、キー/バリューデータベース、 全文検索エンジン |
| ライセンス | ビジネスソースライセンス1.1 および Arango コミュニティライセンス |
| Webサイト | 翻訳元 |
ArangoDBは、ArangoDB Inc.が開発したグラフデータベースシステムです。ArangoDBは、1つのデータベースコアと統一されたクエリ言語AQL(ArangoDB Query Language)で3つのデータモデル(グラフ、JSONドキュメント、キー/値)[1]をサポートしているため、マルチモデルデータベースシステムです。AQLは主に宣言型言語[2]であり、単一のクエリで異なるデータアクセスパターンを組み合わせることができます。[3]
ArangoDBはNoSQLデータベースシステム[4]ですが、AQLは多くの点でSQLに似ており[5]、ストレージエンジンとして RocksDBを使用します。
歴史
ArangoDB GmbHは、2014年にClaudius WeinbergerとFrank Cellerによって設立されました。[6]彼らは当初、データベースシステムを「A Versatile Object Container」、略してAVOCと呼んでいたため、データベースをAvocadoDBと呼ぶようになりました。[7] [8] [9]その後、名前をArangoDBに変更しました。[10]「arango」という言葉は、キューバで栽培されているあまり知られていないアボカドの品種を指します。[11]
2017年1月、ArangoDBはTarget Partnersが主導するシードラウンドで420万ユーロの投資を調達しました。2019年3月、ArangoDBはBow Capitalが主導するシリーズAの資金調達で1000万ドルを調達しました[ 12 ]。2021年10月、ArangoDBはIris Capitalが主導するシリーズBの資金調達で2780万ドルを調達しました[13]。
リリース履歴
特徴
- JSON: ArangoDBはデフォルトのストレージ形式としてJSONを使用しますが[14]、内部的にはシリアル化とストレージ用の高速でコンパクトなバイナリ形式であるArangoDB VelocyPackを使用します。[15] ArangoDBは、ネストされたJSONオブジェクトをコレクション内のデータエントリとしてネイティブに保存できます。したがって、結果のJSONオブジェクトを分解する必要はありません。したがって、保存されたデータはJSONデータのツリー構造を継承するだけです。
- 予測可能なパフォーマンス:ArangoDBは主にC++ [16]で書かれており、ガベージコレクション から生じる予測不可能なパフォーマンスを回避するために独自のメモリを管理します。
- スケーリング:ArangoDBはクラスタリングを通じてスケーリングを提供します。[17]
- 信頼性:ArangoDBはデータセンター間のレプリケーションを提供します。[18]
- Kubernetes: ArangoDBは、クラウドベースのKubernetesサービスであるAmazon Elastic Kubernetes Service (EKS)、Google Kubernetes Engine (GKE)、Microsoft Azure Kubernetes Service (AKS)を含むKubernetes上で実行されます。[19]
- マイクロサービス:ArangoDBは、 Foxxフレームワークを使用して、DBMS上に直接ネイティブJavaScriptマイクロサービスとの統合を提供します。 [20]
- 複数のクエリ言語:データベースには独自のクエリ言語であるAQL(ArangoDBクエリ言語)があり、DBMS上に直接柔軟なネイティブWebサービスを書くためのGraphQLも提供しています。 [21]
- 検索: ArangoDBの検索エンジンは、ブール検索機能と一般化されたランキングコンポーネントを組み合わせて、正確なベクトル空間モデルに基づいたデータ検索を可能にします。[22]
- Pregelアルゴリズム:Pregelは大規模グラフ処理のためのシステムです。[23] PregelはArangoDBに実装されており、PageRank、Single-Source Shortest Path、Connected Componentsなどの定義済みアルゴリズムで使用できます。[24]
- トランザクション:ArangoDBはユーザー定義可能なトランザクションをサポートしています。ArangoDBのトランザクションは、データがシャーディングされていない場合に限り、アトミック、一貫性、独立性、永続性(ACID )を備えています。 [25]
AQL(ArangoDBクエリ言語)は、 ArangoDBで使用されるSQLのようなクエリ言語[26]です。ドキュメント(ノード)とエッジの両方のCRUD操作をサポートしていますが、データ定義言語(DDL)ではありません。AQLは地理空間クエリをサポートしています。
AQL はJSON指向です:
// コレクション内のすべてのドキュメントを返します
FOR doc IN collection RETURN doc // コレクション内のドキュメントの数をカウントしますFOR doc IN collection COLLECT WITH COUNT INTO length RETURN length
// コレクションに新しいドキュメントを追加します
INSERT { _key : "john" , name : "John" , age : 45 } INTO collection
// キー「john」のドキュメントを更新して、年齢を46にします。UPDATE
{ _key : " john" , age : 46 } IN collection
// ステータスがアクティブなすべてのユーザーに属性 numberOfLogins を追加します。
FOR u IN users FILTER u . active == true UPDATE u WITH { numberOfLogins : 0 } IN users
エディション
- コミュニティエディション: ArangoDBコミュニティエディションは、主にC++で書かれたネイティブマルチモデルデータベース機能を備えたグラフデータベースであり、2023年10月までオープンソースライセンス(Apache 2)で利用可能でした。その後、「ArangoDBコミュニティライセンス」に変更され、商用目的での使用が制限され、単一クラスター内のデータセットサイズに100GBの制限が課せられました。[27]
- 商用セルフマネージド:ArangoDB Enterpriseは、グラフ対応シャーディング(「SmartGraphs」と呼ばれる)[28]とコレクションレプリケーション(「Satellite Collections」と呼ばれる)を含む有料サブスクリプションであり、クエリ時間の短縮[29]とセキュリティの強化を実現します。[30]
- クラウド: ArangoDBはOasisと呼ばれるクラウドサービスとして提供されており、ArangoDBデータベースをサービスとして提供します( DBaaS )。ArangoDB Oasisは、管理作業を最小限に抑えながら、ArangoDBクラスター展開の機能を提供します。[31] ArangoDB Oasisは、AWS、Azure、Google Cloudなど、複数のクラウドサービスプロバイダーで実行されます。[32]
参照
参考文献
- ^ 「 ArangoDBのネイティブ マルチモデルの利点」。ArangoDB。2022年 7 月 26 日閲覧。
- ^ 「ArangoDB クエリ言語 (AQL) の概要 | ArangoDB ドキュメント」www.arangodb.com 。 2022 年 7 月 26 日閲覧。
- ^ 「AQL クエリ パターンと例 | ArangoDB ドキュメント」www.arangodb.com 。 2022 年 7 月 26 日閲覧。
- ^ Celler, Frank (2012-03-07). 「ArangoDB の設計目標」. ArangoDB . 2022-07-26閲覧。
- ^ 「ArangoDB クエリ言語 (AQL) の概要 | ArangoDB ドキュメント」www.arangodb.com 。 2022 年 7 月 26 日閲覧。
- ^ 「Variety Database」www.avocadosource.com . 2022年7月27日閲覧。
- ^ Ortell, Bill (2021-03-08)、AvocadoDB 、 2022-07-27取得
- ^ AvocadoDBの説明、 2022年7月27日取得
- ^ AvocadoDB クエリ言語 Jan Steemann 英語版、 2022-07-27取得
- ^ 「「AvocadoDB」が「ArangoDB」になる」ArangoDB 2012年5月9日2022年7月27日閲覧。
- ^ 「Variety Database」www.avocadosource.com . 2022年8月5日閲覧。
- ^ Weinberger, Claudius (2019-03-14). 「ArangoDB、Bow Capital主導のシリーズA資金調達を受ける」ArangoDB 。 2022年7月27日閲覧。
- ^ 「ArangoDB、次世代グラフMLの開発を加速し、エンタープライズ規模で高度な分析とAI機能を提供するため、2,780万ドルのシリーズB投資を発表」ArangoDB 。2022年7月27日閲覧。
- ^ AvocadoDBの説明、 2022年8月5日取得
- ^ AvocadoDB クエリ言語 Jan Steemann 英語版、 2022 年 8 月 5 日取得
- ^ ArangoDB、ArangoDB、2022-08-05、2022-08-05取得
- ^ 「クラスター | ArangoDB デプロイメント モード | アーキテクチャ | マニュアル | ArangoDB ドキュメント」。www.arangodb.com。2022年 8 月 5 日閲覧。
- ^ 「DC2DC レプリケーション | ArangoDB ドキュメント」www.arangodb.com 。 2022 年 8 月 5 日閲覧。
- ^ 「Kubernetes | チュートリアル | マニュアル | ArangoDB ドキュメント」www.arangodb.com . 2022 年 8 月 5 日閲覧。
- ^ 「Foxx Microservices | ArangoDB ドキュメント」www.arangodb.com . 2022 年 8 月 5 日閲覧。
- ^ ArangoDB、ArangoDB、2022-08-05、2022-08-05取得
- ^ 「ArangoSearch - 類似度ランキング機能を備えた全文検索エンジン」ArangoDB . 2022年8月5日閲覧。
- ^ 「スタンフォード大学Pregelホワイトペーパー」(PDF)。
- ^ 「Pregel | データサイエンス | マニュアル | ArangoDB ドキュメント」www.arangodb.com 。 2022 年 8 月 5 日閲覧。
- ^ 「トランザクション | マニュアル | ArangoDB ドキュメント」www.arangodb.com 。 2022 年 8 月 5 日閲覧。
- ^ 「クラスター | ArangoDB デプロイメント モード | アーキテクチャ | マニュアル | ArangoDB ドキュメント」。www.arangodb.com。2022年 8 月 11 日閲覧。
- ^ ArangoDB、ArangoDB、2023-10-13、2023-10-13取得
- ^ 「ArangoDB SmartGraphs | ArangoDB ドキュメント」www.arangodb.com . 2022 年 8 月 11 日閲覧。
- ^ 「ArangoDB SatelliteCollections | ArangoDB ドキュメント」www.arangodb.com . 2022 年 8 月 11 日閲覧。
- ^ 「ArangoDB Enterprise の機能」。ArangoDB。2022年8 月 11 日閲覧。
- ^ 「ArangoDB Oasis を使い始める | ArangoDB ドキュメント」www.arangodb.com 。 2022 年 8 月 11 日閲覧。
- ^ “ArangoDB Oasis”.アランゴDBオアシス。2022-08-11に取得。
