2

どのデータベースが自分のニーズに合っているかを把握しようとしています。私の C++ プロジェクトには、顧客に販売されたデバイスで実行されるデータベースが必要です。主に、ローカル SSD ディスク上のデータベースにデータとイベントを記録するだけです。ログの頻度は最大 1000Hz (1 ミリ秒あたり 1 回の書き込み) になる可能性があるため、書き込み速度が最も重要です。データをグラフィックで視覚化するには、他のデバイスからリモートでデータにアクセスできる必要があります。サードパーティのサーバー、mysql、postgres で sqlite をテストしました。Postgres は他に比べてかなり遅いようです。私が読んだように、同時実行性が向上すればPostgresは良くなりますが、私の場合、同時実行性は非常に低くなります。そのようなニーズに対応するデータベースが他にあるのではないかと思います。また、mysql と postgres は、そのような要件に対して少しやり過ぎになると感じています。助言がありますか?

4

4 に答える 4

3

PostgreSQLはエンタープライズ品質のデータベースであり、組み込みデバイスには適していません。MySQLは小さいですが、組み込みデバイスにもぴったりフィットします。SQLiteは最も一般的であり、非常に小さいものでも組み込みデバイスで広く使用されています。

于 2012-07-31T10:25:54.800 に答える
1

あなたの要件は、アプリがデバイス上で実行されることを示しているため、SQLite を選択してください。ほとんどの場合、それらはモバイル デバイスであり、ほとんどすべてのモバイル デバイスが sqlite をサポートしているとゲストは考えています。

于 2012-07-31T10:24:34.083 に答える
0

BerkeleyDBについて考えてみましょう。これは、サポートなどが必要な場合に大きな商用バッカーを備えた、フットプリントの小さい組み込みDBです。オープンソースバージョンと商用ライセンスバージョンがあります。SQLクエリはサポートされていませんが、非常に複雑なリレーショナルクエリを実行している場合を除いて、これは問題にはなりません。同時実行のサポートは優れていますが、データベースの初期構成は扱いにくい傾向があります。

Extensible Storage Engineの形式でMicrosoftのみの代替手段があります。これは無料で、ほとんどのバージョンのWindowsで利用できます。SQLが必要だと感じない限り、他にもさまざまな「DBM」のような単純な組み込みデータベースがあります。

インメモリの「NoSQL」スタイルのデータベースを検討することもできます。Redisのようなものは非常にパフォーマンスが高くなります。

于 2012-07-31T10:44:24.350 に答える
0

RDM Embeddedはあなたにぴったりかもしれません。私は Raima に賛成です。この製品を使用すると、リモートでデータにアクセスでき、必要に応じてインメモリまたはハイブリッドのオンディスク/インメモリ データベース機能 (www.raima.com/in-memory-database) を利用できます。に。この特定のケースで役立つのは、RDM 製品を一緒に使用して、組み込み、モバイル、デスクトップ、またはサーバー デバイス間でデータを管理できることです。これは、当社の製品、RDM Embedded、RDM Mobile、RDM Workgroup、および RDM Server を介して簡単にセットアップできます。

完全な製品をダウンロードする前にデータベースのパフォーマンスをすばやくテストしたい場合は、データベース パフォーマンス ポップコーン サンプルにアクセスしてください。

于 2012-08-01T00:37:26.873 に答える