web-dev-qa-db-ja.com

SQLiteをクライアント/サーバーデータベースとして使用することは可能ですか?

中規模/トラフィック/同時実行DB環境でSQLiteを操作するためのテクニックやツールはありますか?

32
Maniero

SQLiteは組み込みデータベースであり、クライアント/サーバーDBとして使用するためのものではありません。本当にやりたい場合は、 SQLitening を使用できます。

SQLiteningとは

SQLiteningは、非常に人気のあるSQLiteデータベースのクライアント/サーバー実装です。

SQLiteningは、標準のWin32 DLL形式のプログラマライブラリです。標準のWindowsサービスとしてインストールされます。クライアント/サーバーモードに加えて、ライブラリにより、プログラマーはローカルモードでSQLiteデータベースにアクセスすることもできます。どちらのモード(ローカルまたはクライアント/サーバー)でも、データベースは非常に高速で堅牢です。 -ソース: http://www.planetsquires.com/sqlite_client_server.htm

25
Giorgi

前に述べたように、sqliteはクライアント/サーバーアプリケーションではなく、高度な並行操作用に構築されていません。

それでも、sshを使用している場合は、「クライアントサーバーにする」ことができます。

ssh user@Host sqlite3 databasefile select * from table

動作します。

17
ddeimeke

いいえ、SQLiteはネットワークエンドポイントを提供しません-ファイルシステムを介してのみアクセスできます。それdoesは、同じマシン上の複数のプロセスからの同時アクセスをサポートしますが、非常に粗いレベルです(DMLはテーブル全体をロックします)。したがって、ローカルディスク上のSQLiteデータベースをすべて開いた状態で12個のApache httpdプロセスを実行し、すべてSELECTsを実行すると、問題なく動作します。しかし、実際には、それは仕事には不適切なツールです-このシナリオでは Postgres を使用します。

4
Gaius

Paradigma SoftwareはValentina Server 6.0を導入(現在ベータテスト中)、これは1対3です。

  • Valentina DBサーバー
  • Valentina SQLiteサーバー
  • Valentinaレポートサーバー

SQLiteサーバーは、変更なしでSQLiteエンジンを使用し、WALを有効にします。 SQLite Serverは3 OSで動作します:Mac、Win、Linux

Valentina Studio(無料)アプリケーションを使用して、このDBサーバーのほか、mySQL、postgreSQL、SQLite、MS SQLを管理できます。 3 OSでネイティブC++で作成されたアプリケーションとしても機能します。

SQLiteサーバーには、SSL、ACL、バックアップ、REST API、通知チャネル、JSON、XMLなどの機能があります。

現在、このサーバーへのアクセスは、C++、Xojo、LiveCodeから行うことができます。まもなくPHP、Java、.NETが追加されます。

Valentina Serverの無料バージョンには、

  • SQLite DBへの10接続
  • Valentina DBへの5つの接続
  • Valentinaレポートへの5つの接続

詳細は article で確認できます。

3
Ruslan Zasukhin

SQLabsは cubeSQL と呼ばれる商用製品を提供しており、ニーズに合う可能性があります。

2
dwurf

netcat を使用して何かを一緒にハッキングすることもできますが、非常にエレガントなソリューションになるとは思えません。

1
TML