SQLiteをクライアントサーバーデータベースとして使用できますか?[閉まっている]


32

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


3
これが便利なものになる理由を教えてください。そうでなければ、私はそれが本当の問題ではないとして閉じるに値すると思います。SQLiteはクライアントサーバーデータベースではなく、クライアントサーバーデータベースを必要としないクラウドに実際に販売されています。
jcolebrand

1
@Eelkeこれはもはや真実ではありませんが、バージョン3.7からWALモードで -一度に1件の書き込みができますが、「読者は作家をブロックしないと作家が読者をブロックしない」
ジャック・ダグラス

1
ちなみに、現在ウィキペディアにはこの間違いがあるようです
ジャックダグラス

2
どうして?要件を定義する必要があると思います...そして、おそらくより適切なデータベースが見つかるでしょう
...-AK_

3
@AK_主な要件は、完全なACIDと、開発と使用が非常に簡単なデータベースです。クライアントサーバーとして機能するカスタムバージョンを構築し、結果は単純に驚くほどです!人々はSQLiteのキャパシティを過小評価しており、中小企業への並行性の必要性を過大評価しています。人々は心を開く必要があります。レシピに従うことが唯一の方法ではありません。今、私たちは市場に競争のない製品を持っています。
マニエロ

回答:


25

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

SQLiteningとは

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

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


4
SQLiteningとは何かを詳しく説明したり、リンクを提供したりできますか?そのリンクはフォーラムに行き、実際に何であるかについての言葉がありません。
develCuy 14

17

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

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

ssh user@host sqlite3 databasefile select * from table

動作します。


1
接続を暗号化したため、これは「クライアントサーバー」と見なされますか?
ロバートハーベイ

いいえ、dbをホストするマシンとdbにアクセスするマシン間のネットワークが原因です。
ddeimeke

4

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


1
テーブル全体をロックする書き込み中の場合にのみ、多くの
プロセッサを

3

Paradigma SoftwareはValentina Server 6.0を導入しました(ベータテスト中)。

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

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

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

SQLite Serverには、SSL、ACL、バックアップ、REST API、通知チャネル、JSON、XMLなどの機能が含まれています。

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

Valentina Serverの無料版には以下が含まれます

  • SQLite DBへの10接続
  • Valentina DBへの5つの接続
  • Valentina Reportsへの5つの接続

詳細は記事で読むことができます。



1

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


-5

dropboxに似たサービスを使用できます。自己ホスト型ソリューションがあります。ただし、SQLite3はクライアントサーバーモデル用に作成されていません。クライアントサーバーモデルによってゼロから開発された他のソリューションを使用した方がよいでしょう。


5
Dropboxおよびその他のファイル同期サービスは、この問題の解決策ではありません。Dropboxには、複数のユーザーが同時に書き込むデータベース内の変更をマージすることに関するロジックは含まれていません。最終結果は、データ、作業、および時間の損失になります。
jptros
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.