Nosql 接続に ArangoDB を使用する方法

公開: 2023-01-03

ArangoDB は、ドキュメント、グラフ、およびキー値の柔軟なデータ モデルを備えた強力なオープン ソース データベースです。 そのクエリ言語 AQL は SQL に似ているため、リレーショナル データベースに精通している開発者は簡単に学習できます。 ArangoDB は、簡単に拡張でき、コモディティ ハードウェアにデプロイできるため、高いパフォーマンスとスケーラビリティを必要とするアプリケーションに最適です。 この記事では、Nosql 接続に ArangoDB を使用する方法を紹介します。 最初に ArangoDB をローカル マシンにインストールし、次にデータベースとコレクションを作成し、最後にデータをクエリします。

Facebook は、最新の Web およびモバイル アプリケーション用に GraphQL と呼ばれるクエリ言語を作成しました。 Foxx サービス (データベース内の JavaScript) を使用して、ArangoDB 2.8 データベースで GraphQL を使用できるようになりました。 すべてのクエリは GraphQL の同じエンドポイントによって処理され、すべてのプロトコルは不可知論的です。 ユーザーが友人の名前にアクセスするために追加の API 呼び出しを行う必要がある従来の REST API とは対照的に、たとえば、 GraphQL クエリは次の応答を返す可能性があります。 HTTP API とは対照的に、GraphQL は 2 つではなく 1 つの API を利用することで、不要な重複や潜在的なバグを回避します。 GraphQL では、スキーマベースのデータベースや動的型付け言語を使用する必要はありません。 さまざまな HTTP エンドポイントに検証と承認のロジックを分散させる代わりに、スキーマは GraphQL を使用してこれらの問題を記述することができます。 バックエンドがデータベース内に直接実装されている場合、単一の GraphQL リクエストが多数のデータベース リクエストにつながる可能性があるという影響は、それほど重要ではありません。

Arangodb は Nosql ですか?

Arangodb は Nosql ですか?
写真提供: arangodb

はい、ArangoDB はnosql データベースです。

ArangoDB Cloud について詳しく知りたい場合は、14 日間無料で学習できます。 無料トライアルが完了したら、クレジット カード情報を入力して、 Arango DB Cloudを引き続き使用します。 AQL クエリ言語を使用すると、トラバーサル、JOIN、検索、マッピングなどの宣言型アクセス パターンを提供することで、データがどこにあるかに関係なく、同じデータにアクセスできます。

ArangoDB クラスターでは、データは複数のサーバーに分散されてスケーリングされます。 このセクションでは、クラスタ アーキテクチャとその仕組みについて少し学びます。 このアーキテクチャは、シャードの概念に基づいています。 シャードの例は、あるサーバーから次のサーバーに複製されるデータです。 各サーバーには、複製プロセスでデータの一意のコピーが与えられます。 クラスターを構築する前に、サーバーが必要です。 サーバーは、データ入力を簡素化することを目的とした、データへのエントリ ポイントです。 サーバーは、データ ストレージ システムとして、またはクラスターのコーディネーターとして機能できます。 シャードを作成する前にサーバーを確立することが重要です。 クラスターにシャードを追加する前に、まずサーバーを追加する必要があります。 サーバーは、データ ストアまたはコーディネーターとして使用できます。 ArangoDB クエリ言語を使用してデータをクエリすると、結果が返されます。 宣言型であるため、クエリ言語は非常に使いやすいです。

Arangodb はあなたに適したデータベースですか?

ArangoDB NoSQL データベースは、多くの面で多くの SQL 関数に似ています。 SQL は、リレーショナル データベースを管理するための優れたクエリ言語です。 さまざまなデータ モデルをサポートする NoSQL データベースが必要な場合は、GraphLab を調べてください。


Arangodb に接続するにはどうすればよいですか?

Arangodb に接続するにはどうすればよいですか?
写真提供: githubusercontent

ArangoDB に接続するには、ArangoDB サーバーをダウンロードしてインストールする必要があります。 サーバーが起動して実行されると、arangosh シェルまたはその他のArangoDB クライアントを使用してサーバーに接続できます。

ArangoDB サーバーは、さまざまな方法で対話できます。 コレクションの作成、ドキュメントの表示、クエリの実行などの重要なタスクはすべて、Web インターフェイスを介して実行されます。 さらに、グラフを表示したり、サーバー ログとメトリックを確認したり、ユーザー アカウントを管理したりできます。 サーバーとのやり取りはすべて、REST API を使用して実行されます。

Arangodb シェルは Bash と Go のサポートを提供します

ArangoDB シェルは、Bash シェル スクリプトまたは Go 言語プログラムとして使用できます。

Arangodb は Mongodb よりも高速ですか?

この質問に対する万能の答えはありません。各データベースの速度は、データのサイズと複雑さ、データが実行されているハードウェア、ワークロードなど、さまざまな要因に依存するためです。 ただし、一般に、ArangoDB はほとんどの操作で MongoDB よりも高速です。

ArangoDB を使用すると、分散データベースでさまざまなデータ モデルを実行できます。 通常、多くのサーバーは、多数のサーバーを使用するなど、水平方向のスケーリングを可能にする汎用ハードウェアで構築されています。 ArangoDB を使用して運用データベースで複雑なグラフ トラバーサルを計算することが可能であり、アプリケーションは RDBMS で可能になるよりもはるかに大きなデータセットを動的に検索できます。 さらに、ArangoDB データベースは優れたパフォーマンスを発揮し、アプリケーションを実行する目的で使用するのは非常に簡単です。

Arangodb はデータベースの次の大きなものですか?

ArangoDB データベースは、市場で最も強力なデータベースの 1 つとして広く認識されています。 ベンチマークによると、MongoDB、Neo4j、PostgreSQL などの単一モデル データベースや、OrientDB などのマルチモデル データベースよりもパフォーマンスが優れています。 さらに、ArangoDB は使いやすいインターフェイスを備えており、複雑なグラフ トラバーサルに最適です。 他のデータベースほど普及していませんが、それでもビジネスにとって効果的なツールになる可能性があります。

アランゴッドの短所

MongoDB Aggregation Framework には、結合の欠落など、いくつかの欠点があります。 ACID が不足しており (MongoDB 4.0 で計画されていますが)、表現力豊かな専用のクエリ言語が不足しており、JSON クエリしかありません。

私たちのプロジェクトの 1 つでは、大量のデータを直接操作する必要があり、大量のデータを大規模に処理する必要がありました。 作成する API は、フロントエンド用だけでなく、外部統合用でもある必要があります。 JSON スキーマは、ユーザーが送信できる必要があります。これは、後で提供されたデータを検証するために使用され、他のドキュメントと組み合わせてコレクションを形成するために使用されます。 ArangoDB の機能のいくつかは、MongoDB の機能と似ているようです (私たちはそれについて最も多くの経験を持っています)。 この Web サイトのすべての問題に対する未解決の問題の比率は非常に低いです。 ArangoDB を使用してドキュメントをグラフで拡張する予定だったので、それを使用すると便利でした。 ArangoDB サーバーは JavaScript コードを実行するため、ほとんどのトランザクションに使用します。

長い間、私たちは Lodash などの人気のあるライブラリをいくつか使用していましたが、これはデータベース サーバーでも素晴らしいものでした。 Foxx という名前の HTTP フレームワークを使用すると、ArangoDB を使用して通信するマイクロサービスを作成できます。 MongoDB Aggregation Framework (MongoDB、 MongoDB + MoJos ) よりも ArangoDB を使用するか、フロントエンドと CouchDB REST API を直接接続することをお勧めします。 データベース クエリは、記述とデバッグがはるかに困難でした。 Lodash など、データベース サーバー上の JavaScript コードに使用できるライブラリがあったため、MongoDB よりも簡単に使用できました。

その人気にもかかわらず、ArangoDB はあまり人気がないため、データベースの経験を持つ開発者を見つけることはほぼ不可能です。 それまでの間、次のプロジェクトで ArangoDB を割り引いてはいけません。 このデータベースは、bigin、LeanIX API バックエンド、AresRPG など、27 社の技術スタックで使用されています。 企業ごとに要件やニーズが異なるため、プロジェクトに適した ArangoDB を選択することが重要です。 熟練した開発者を見つけることができなくても、ArangoDB は次のプロジェクトの実行可能なオプションです。

アランゴッドのパフォーマンス

Arangodbのパフォーマンスは素晴らしいです。 データベースがこれほどうまく機能するのを見たことがありません。 すべてのクエリは非常に高速で、インデックス作成は驚くべきものです。 これほど迅速かつ正確にインデックスを作成できるデータベースは見たことがありません。

Athel Bihari Vajpayee. 情報技術研究所。 バンガロールのバサバナグディ工科大学グワリオール BMS カレッジ、およびディルバイ アンバニ情報研究所。 ゼネラルマネージャー。 デリー工科大学 (DTU) には、デリー工科大学 (MSU)、バドダラ工科大学 (GIA)、ダルムシン デサイ大学 (DDU)、ナディアド政府工科大学 (NGTU) など、多くの機関が提携しています。 )。 インドには、インド情報技術研究所 (IIIT)、デザインなど、数多くのトップレベルの機関があります。バンガロールには 4 つの大学があり、アーメダバードには 1 つの大学があり、工学の学位を提供しています。RV 工学部、RV 工学部、ヴァッラブバイ国立工科大学、スラト工科大学および応用科学。 Shri Vile Parle Kelvani の Dwarkadas J. Sanghvi 工科大学、Vileparle、ムンバイ。

Sri Sivasubramaniya Nadar College Of Engineering (ANC) は、タミル ナードゥ州に設立されたエンジニアリング カレッジです。 マイソールはマイソール国立研究所です。 BIT は、IIT と NIT に追加されます。