3

Linux サーバーにインストールする Java アプリケーションを構築する必要があります。

ユーザーがインストールするときは、このアプリケーションをインストールして起動するだけで済みます。しかし、保存するデータがいくつかあります。

  • サーバーが必要なので、MySQL にはノーと言った。
  • XML にはノーと言ったのは、保存して操作するデータが本当に大量になるからです。

だから私は、私が思う最高のSQLiteを見ています。確かに (私が間違っていたら止めてください)、SQLite はサーバーを必要としませんか? (最終的なアプリケーションをインストールするだけで、SQLite は私のアプリケーションで正常に動作しますか?)

次に、http://www.sqlite.org/cvstrac/wiki? p=SqliteWrappers で確認しましたが、本当に少し混乱しています。

  • ラッパーとドライバーの違いは何ですか?
  • さらに、「純粋なJava実装」が存在することがわかります.SQLJetは多かれ少なかれ最適化されていますか?
  • 最後に、私の状況では何を使用しますか?
4

2 に答える 2

17

考慮すべき別のデータベースはH2です。完全に Java で記述された組み込みデータベース エンジンであるため、Sqlite にはない完全な Unicode (16 ビット) 文字サポートの利点があります。その他の組み込みデータベースには、HSQLDBDerbyがあります。

sqlite はサーバー上で要件を必要としませんか?

正しい。そうではありません。H2もそうではありません。

最終的なアプリケーションをインストールするだけで、私のアプリケーションで sqlite は正常に動作しますか?

正しい。Sqlite または H2 を WAR に含める (または jar に展開する) 限り、問題なく動作します。

Wrapper と Driver の違いは何ですか?

用途によります。Sqlite は、Sqlite 用の JDBC ドライバーを使用する場合、実際にはドライバー内の Sqlite C ネイティブ ライブラリのラッピングであるという事実について話していると思います。通常、JDBC ドライバーはリモート データベースと通信します。

H2も同様で、「ドライバー」が実際にデータベース操作を実行するのは、Javaで記述されているため、Cラッパーは必要ありません。

さらに、「純粋なJava実装」が存在することがわかります.SQLJetは多かれ少なかれ最適化されていますか?

Sqljetについて聞いたのはこれが初めてなので、よくわかりません。Xerial Sqlite ドライバーは私が使用したもので、パフォーマンスは良好なようです。

最後に、私の状況では何を使用しますか?

ネイティブ Java 機能には H2 を使用します。

于 2012-07-24T21:41:55.813 に答える
2
  1. はい、SQLite はサーバーを必要としません。

  2. 開発のための非常に単純なソリューションの 1 つは、SQLLite をソース コードに埋め込み、小さなスタブ データを使用することです。次に、データベースを単一のファイルとしてバージョン管理システムにコミットできます (つまり、github を使用しています。これは非常に簡単です)。明らかに、これは良い生産方法ではありませんが、単一の開発バージョンを作成するには良い方法です。

  3. ラッパーは、別のインターフェイスを介してその機能にアクセスできるようにすることで、別のプログラムをファサードするプログラムです。たとえば、Eclipse は、日常の開発で使用する多くの Java プログラムを便利な GUI に「ラップ」します。一方、ドライバーは既存のアプリケーションを起動するために必要なプログラムです。たとえば、Java アプリケーションでは、アプリケーションへのエントリ ポイントのドライバと見なすことができるメイン クラスがある場合があります。

于 2012-07-24T21:15:43.753 に答える