web-dev-qa-db-ja.com

Android-どちらをアクティブにするかAndroidまたはレルム

私はしばらくの間 ActiveAndroid を使用してきましたが、最近、 Realm がもう1つの良いオプションであると聞きました。 Realmを使用するようにアプリを変更することを考えていましたが、その前に、誰かがこれら2つのパフォーマンスを比較したかどうかを調べていました。レルムのウェブサイトでいくつかの比較を見つけましたが、それらはORMLiteとSQLiteのものでした。

任意の提案をいただければ幸いです。

19
mudit

レルムレルムはモバイルであるため、ActiveAndroidと直接比較することはできませんActiveAndroidはSQLiteのORMであるのに対し、データベースは、従来のSQLiteを置き換えるためのシンプルさとスピードのために構築された独自の永続化エンジンを備えています。したがって、レルムに移行すると、従来のSQLiteを使用しなくなります。

はい、レルムは高速です(私の経験とベンチマークテストによると)が、アプリがデータベーストランザクションを使用するか検索を頻​​繁に行わない限り、従来のSQLiteとの違いは目立ちません。レルムを使用することをお勧めします。そうでない場合は、すでに機能しているActiveAndroidで問題ありません。

ただし、新しいプロジェクト/アプリを作成するときは、Realmに慣れて、データベースを多用するアプリを思いついたときに、Realmの速度を高く評価することをお勧めします。

8
steven0529

アクティブAndroid最終更新日は2年前で、Realmは生きているプロジェクトです。

アクティブAndroidはSQLiteデータベースの単なるラッパーです。レルムは、クエリ結果の自動更新、JSONからのオブジェクトの作成、データベース変更通知などの機能を提供します。

何百万ものレコードを挿入しない限り、パフォーマンスは関係ないと思いますが、これが当てはまる場合は、SQLを直接使用することをお勧めします。

2
Evgeny Sureev

Realmは、iOSとAndroid(両方をターゲットにする場合はかなり優れています)で利用できるクロスプラットフォームソリューションです。

1
ariful.islam

こんにちはmuditは答えが遅すぎるかもしれませんが、それは他の人の助けになります。自分のレルムが最良の選択肢です。

レルム

レルムはモバイルデータベースであり、SQLiteの代わりになります。 OOデータベースですが、他のデータベースとはいくつかの違いがあります。レルムはエンジンとしてSQLiteを使用していません。代わりに、独自のC++コアを備えており、SQLiteのモバイルファーストの代替手段を提供することを目的としています。レルムC++コアによって、ユニバーサルなテーブルベースの形式でデータを格納します。これにより、Realmは、複数の言語からのデータアクセスや、さまざまなアドホッククエリを許可できます。

利点:

  • sQLiteよりも高速(通常の操作では生のSQLiteの最大10倍の速度)

  • 使いやすい

  • あなたのために処理されたオブジェクト変換

  • その場でデータを作成および保存するのに便利

私は自分のプロジェクトを使用しましたが、SQliteと比較して10倍以上の速度です。 forループSQlite100000 data(row)を追加したのでtake18minしかしレルム20のみかかりますsec

1
Magesh Pandian

レルムを使用することをお勧めします。私の最後のプロジェクトではそれを使用しましたが、はるかにうまく機能します。

GUIで、25歳未満のユーザーのリストを表示したい場合は、ワーカースレッドからインターネットからフェッチしますが、uがデータをレルムに自動的に保存すると、すべてのデータが自動的に更新されます。再度クエリを実行する必要はありません。

それははるかに高速です。そして、建築的に使いやすいです。

1
javaG

Realmはモバイルデータベースであるため、SQLiteとCoreDataの代わりになります。詳細については、 パフォーマンス比較 を確認してください。

ただし、別の重要な要素を考慮する必要があります。つまり、 https://realm.io は現在AndroidとiOSをサポートしていますが、他の要素はSqlliteベースであるため、生成されたDBはWindows Phone、Tizenなどでも使用できます。

決断を下すのに役立つことを願っています。

0
Shailendra