私はしばらくの間 ActiveAndroid を使用してきましたが、最近、 Realm がもう1つの良いオプションであると聞きました。 Realmを使用するようにアプリを変更することを考えていましたが、その前に、誰かがこれら2つのパフォーマンスを比較したかどうかを調べていました。レルムのウェブサイトでいくつかの比較を見つけましたが、それらはORMLiteとSQLiteのものでした。
任意の提案をいただければ幸いです。
レルムレルムはモバイルであるため、ActiveAndroidと直接比較することはできませんActiveAndroidはSQLiteのORMであるのに対し、データベースは、従来のSQLiteを置き換えるためのシンプルさとスピードのために構築された独自の永続化エンジンを備えています。したがって、レルムに移行すると、従来のSQLiteを使用しなくなります。
はい、レルムは高速です(私の経験とベンチマークテストによると)が、アプリがデータベーストランザクションを使用するか検索を頻繁に行わない限り、従来のSQLiteとの違いは目立ちません。レルムを使用することをお勧めします。そうでない場合は、すでに機能しているActiveAndroidで問題ありません。
ただし、新しいプロジェクト/アプリを作成するときは、Realmに慣れて、データベースを多用するアプリを思いついたときに、Realmの速度を高く評価することをお勧めします。
アクティブAndroid最終更新日は2年前で、Realmは生きているプロジェクトです。
アクティブAndroidはSQLiteデータベースの単なるラッパーです。レルムは、クエリ結果の自動更新、JSONからのオブジェクトの作成、データベース変更通知などの機能を提供します。
何百万ものレコードを挿入しない限り、パフォーマンスは関係ないと思いますが、これが当てはまる場合は、SQLを直接使用することをお勧めします。
Realmは、iOSとAndroid(両方をターゲットにする場合はかなり優れています)で利用できるクロスプラットフォームソリューションです。
こんにちはmuditは答えが遅すぎるかもしれませんが、それは他の人の助けになります。自分のレルムが最良の選択肢です。
レルムはモバイルデータベースであり、SQLiteの代わりになります。 OOデータベースですが、他のデータベースとはいくつかの違いがあります。レルムはエンジンとしてSQLiteを使用していません。代わりに、独自のC++コアを備えており、SQLiteのモバイルファーストの代替手段を提供することを目的としています。レルムC++コアによって、ユニバーサルなテーブルベースの形式でデータを格納します。これにより、Realmは、複数の言語からのデータアクセスや、さまざまなアドホッククエリを許可できます。
利点:
sQLiteよりも高速(通常の操作では生のSQLiteの最大10倍の速度)
使いやすい
あなたのために処理されたオブジェクト変換
その場でデータを作成および保存するのに便利
私は自分のプロジェクトを使用しましたが、SQliteと比較して10倍以上の速度です。 forループSQliteに100000 data(row)を追加したのでtake18minしかしレルムは20のみかかりますsec。
レルムを使用することをお勧めします。私の最後のプロジェクトではそれを使用しましたが、はるかにうまく機能します。
GUIで、25歳未満のユーザーのリストを表示したい場合は、ワーカースレッドからインターネットからフェッチしますが、uがデータをレルムに自動的に保存すると、すべてのデータが自動的に更新されます。再度クエリを実行する必要はありません。
それははるかに高速です。そして、建築的に使いやすいです。
Realmはモバイルデータベースであるため、SQLiteとCoreDataの代わりになります。詳細については、 パフォーマンス比較 を確認してください。
ただし、別の重要な要素を考慮する必要があります。つまり、 https://realm.io は現在AndroidとiOSをサポートしていますが、他の要素はSqlliteベースであるため、生成されたDBはWindows Phone、Tizenなどでも使用できます。
決断を下すのに役立つことを願っています。