0

もちろん、データ ストレージ (ユーザー アカウント、ログなど) が必要なアプリケーションを設計しています。パフォーマンスを問題にしたくないので、データの取得/更新/削除はメイン アプリケーション スレッドとは別のスレッド (クリエーター - コンシューマー モデル) で行います。

データを利用可能にするために外部アプリケーションを実行する必要があるため (ホストへのネットワーク パイプなど)、NoSQL データベースやその他のデータベース システムは使用できません。

それでも、別のアプリケーションを実行しなくてもデータを利用できるようにする必要があるため、システムを独自のアプリケーションに統合したいと考えています。

統合できるデータベースを探しましたが、見つかりません。

  • 単純な挿入、更新、削除操作プロジェクトのみで使用できるものはありますか?
  • それとも、統合できる独立したデータ ストレージ ライブラリがないため、フラット ファイルに固執する必要がありますか? (たとえば、クラスを作成し、そこにデータストレージ用のファイル書き込み関数を定義します)
  • 他のオプションは何ですか?

補足: ちょっとばかげていることはわかっていますが、実際には私の選択肢の 1 つです: プロジェクトと共にコンパイルしてローカルでクエリを発行できる SQL (PostgreSQL が望ましい) データベースはありますか?

4

3 に答える 3

1

データベース [...] 外部アプリケーションが必要

違う。多くのインプロセス データベース システムがあります (たとえば、SQLiteは少し注意すれば ACID に完全に準拠させることができます)。

プロジェクトと一緒にコンパイルしてローカルでクエリを発行できる SQL (できれば PostgreSQL) データベースはありますか?

あなたがその発言を追加する前に私は答え始めましたが、再びSQLiteが思い浮かびます。この特定の DB があなたに合わない場合は、「組み込みデータベース」または「インプロセス データベース」のいずれかを検索することをお勧めします。SQL または NoSQL のいずれかの同様の製品がたくさんあります。

優れた NoSQL、キー値 DB の 1 つにBerkeley DBがありますが、残念ながら Oracle が購入してからライセンスが厳しくなったため、現在でも関連性があるかどうかはわかりません (アプリが完全にオープンソースであるか、商用ライセンス)。

于 2013-07-03T21:24:58.337 に答える
0

SQLiteにとっては良い仕事のように思えます

于 2013-07-03T21:23:43.223 に答える
0

SQLiteはどうですか?特別で複雑な依存関係は必要ありません。セットアップと使用はかなり簡単です。

于 2013-07-03T21:24:51.820 に答える