2016-04-04 11 views
1

私は組み込み可能で、Sqliteのようなファイルベースのデータベースを探していました。 この種の機能を備えたNoSQLタイプのデータベースが必要でした。 言語はPythonで、ArangoDBはPythonや他の多くの言語のためのバインディングを持っています。NoSQLデータベース:ArangoDB

私はArangoDBについて相反する事実を発見しています。 場合によっては、埋め込みDBではない、埋め込みできない、埋め込み型であることを示す記事が表示されることがあります。

また、ウェブサイトには、そのデータを特別なバイナリ形式で保存していることが記載されており、主にIn-Memoryデータベースと呼ばれる記事があります。

これは非常に混乱しています。

1)ですから、このデータベースはPythonアプリケーションに埋め込まれて実行できますか?

もしそうでなければ、それは別のプロセスとして実行され、サーバーとして実行されます。これは、デスクトップアプリケーションをデプロイするために、ユーザー側でPythonで "ゼロ設定"この。

2)データベースのデータなどはディスクに保存されますか?

だからそれです!

答えて

4

いいえ、あなたはSQLiteを組み込む方法にArangoDBを組み込むことはできません。

ArangoDBはFoxx frameworkを提供しています。これを使用して、JavaScriptでRESTfullマイクロサービスをデータベースコアの近くに実装することができます。これは、SQLiteでPythonを使用する場合と同じです。しかし、AQLで、ArangoDBはsqlでSQLiteと同じようにクエリ言語を提供します。

現在、PythonからArangoDBにアクセスするためのいくつかのpythonドライバがあります。

ArangoDBのダウンロードページには、アプリケーションの横にArangoDBを展開するために使用できるいくつかのパッケージが用意されています。我々はa windows zip package that you could install by yourselves without user interactionを提供する。 Linuxディストリビューションでは、おそらくそのディストリビューションのそれぞれのパッケージを使いたいでしょう。簡単なデプロイメントは私たちの中心的な目標の1つです。

データベースとデータ自体については、これがディスクに保存されます。これはメモリマップファイルを介して動作します。しかし、インデックスやその他の構造体は起動時に構築されるため、のほとんどはと呼ばれています。

ArangoDB(およびfoxx)への通常のアクセスはhttpインターフェイス経由で行われ、応答としてjsonドキュメントが取得されます。ドライバはあなたのためにそのインタフェースを抽象化します。 foxxアプリケーションを実装する場合は、独自にリクエストを作成する必要があります。

ArangoDBデータファイルはマシン間で移動することは意図されていません。同じOSを使用している限り動作しますが、両側のアーキテクチャは&です。これを行う適切な方法は、最初のマシンでArangoDumpを使用し、2番目のマシンでArangoRestoreを使用することです。これらはほとんどがjsonの内部(1行に1つのjsonドキュメント)なので、移植性があり、Pythonで簡単に読み込むこともできます。directly access the dump facility from pythonでも可能です。

ArangoDBを実行するための最も持続可能な方法は、サービスとしてです。 &を登録するには、Windowsで新しいサービスを再起動する必要があります。サービスは、ネットワークの他のノードからアクセスできるTCPポートをバインドします。

+0

こんにちは、ありがとう、本当に素晴らしいです!私がケータリングをしているユーザーは、ウィンドウに表示されます。データがディスクに残っているので、別のウィンドウボックスに移動して、別の人に自分のアプリを持っていれば、この方法でディスク上にこのファイルを開くことができます。 SQLiteを使用すると、アプリケーションでファイルを構築する場合、そのdbファイルを同じアプリを使用して別のマシンに移動して、データを開いて表示することができます。このようなデータのポータブルな動きは、私が探しているものです。 – Palu

+0

異なるマシン上のユーザーは、ある場所から別の場所にデータを移動して、アプリケーションを開いたままにしたい場合があります。私が話しているアプリは、デスクトップのアプリです。ちょうど人々がお互いのExcelファイルを電子メールで送ることができ、Officeスイートが他のマシンにインストールされている限り、それらを開くことができるので、これは私が行っているアプリモデルの種類です。 – Palu

+0

あなたの最初の行に基づいて、それはアプリケーション自体と同じプロセスに組み込まれていないので、それはモードのようなサーバーで実行されていると言います。それは、管理がゼロでインストールされている限り、私にとってうまくいきます。 – Palu

関連する問題