必要なストーリーのデータをAndroid端末では、思考のOODB
-
29-09-2019 - |
質問
私は現在、プロジェクトに取り組んでいるイラストを元に立体化しました。に入らず多くの詳細は、ソフトウェアラカスタム構築の装置です。ハードウェアは今後永久に変わらず、常に同じでなければならない。ことになる明確なプラス:)
ということで、このプロジェクトが必要な伝送されるようになってきた負荷荷重のデータをデバイス上の3m列の一部です。SQLiteを扱うスキャンこの多くの行は、イブレア城、イブレア大の問題がスタート時との複合体が仲間入りを取り戻すべての関連データを目指しています。いと思ったんdenormalizingのデータベースがないことが懸念され新しいパートナーシップをデータベースの外側の領域の利用ができます。
また、標準的な使用のオブジェクト指向データベースのようなものdb4oはNeoDatis.当社が多く所属しており、その格納するオブジェできなく当社の関係連続でレベルに保存しているオブジェクトのようなOOP).問題は、まされていないのでパフォーマンス関連のベンチマーク(少なくともしない最近のもののこれらのODBsグに使用されているのはAndroid.
いい経験OODBs Androidおよび/または保存及びアクセスはこの膨大なデータはもらえますか?その場合アドバイスが大きいうぞよろしくお願い申し上げます。
--編集
ここでの問題のいる。なのに関するアプリ(NDAは言うまでも特定のがこの例の問題です。
想像しい建物への応用モニターすべての車両の駆動には新しいジャージーターンパイクですることができるものとします。任意の車いトラックの車とモデルの、多くの人が車の中とは、人口動態元の人から信仰を集めています。のではないでしょうかいデータがるとどうなるのかわかりませんが-
車
id| 色| make_id| in_toll_lane| model_id
作
id| 名称
モデル
id| 名前| make_id
car_person
id| 年齢| 性別| is_driver| car_id
toll_lanes
id| cars_in_line| ideal_cars_in_line| ideal_occupants
このデータは変更されます。でも今は巨大な疑問がたくさんの人のNJク害することができるものとします。
このデータを使用しておく必要がありま用いることができるスナップショットは、需要者の運転、パイクプレース.していく必要がありますので、スナップショットのすべての男性ドは、すべての女性をターンパイク.にすることによって選ぶことができる年齢、性別、模型などがあげられます。
このためアクティフレーン車のオーディオ愛好家の人数、車内の理想的な数乗員の車で、最適な車両台数にあるべきます。
これは非常に簡単とえば、がんの代表課題です。
--編集終了
感謝。
解決
ここにいくつかの観察がありますが、私はそれがあなたを直接助けないと思うが、
主な質問は、イベントがデータを生成または変更するときにアプリケーションランタイムロジックを介して複雑な関係を発見するのか、それともデータをストアにダンプしてからクエリで出産していない関係を発見する必要があると思いますか?
ビジネスロジックがモデルに登場する場合、データモデルのさまざまなスライスのモデルベースのビューを簡単に作成できます。たとえば、男性/女性のドライバーを持つすべての車を知っているコレクション。この場合、基本的に、あなたの関係は半静的なものではありません(それらの関係の反対側のデータ値はおそらく大きく変化しています)。この場合、データを常に再計算することを強制するデータベーステクノロジーにデータを試してから保存しようとする理由(結合)。それは単なるCPUの無駄であり、モデルが複雑になるにつれてパフォーマンスが低いと思われる理由です。したがって、これらの質問に答えると、ODBまたはRDBが最適かどうかは非常に明確になります。
さて、問題は、Androidで何が実行され、巨大なデータを処理するのでしょうか?これは私が助けることができないと思うところです。私は(DB4OおよびVersant)ODBを持っているVersantで働いています。 DB4OはAndroidで実行されますが、実際には巨大なデータに適しています...いいえ。別のデータベースにあり、単独でのみアクセスできる非常に分離されたデータがない限り、それはあなたのように私には聞こえません状況。私たちの他のデータベースであるVersantは、近いリアルタイムで巨大なデータを処理することを意味しますが、クライアントのみが100%Javaであり、サーバーはCで記述されるため、Androidで実行されません。
Androidの巨大なデータを処理できるODBを誰が持っているかを確認するために、いくつかの調査を行う必要があると思います。
最高、-robert
他のヒント
いわからないとも言えないらしく、お客様のデータにアクセスニーズ、またはそのデータloadoutします。
ま3M主な行、そしてバンチの小さな葉を表していただくによるキャッシュのすべての葉のテーブルをRAMに、"参加"しています。多くのシステムは非常に小葉のテーブル(特に比のデータは、荷重だけで、あっという間にRAMおよびそれを見て読み込んだ場合の連続であります。
あんなことがあり、主に親会社->子供の関係だけを排除することができ、葉加し、読み取りとなるシングルと、親子ではなく半数十親会社、子どもや葉ます。
する場合であっても動作しないすべての葉の表の場を動作させることができ、大多数が、できるだけではぶ.
DB4Oについて話す:Androidですべての回帰テストを実行しているのは、DB4Oにとって非常に重要なプラットフォームになると考えているからです。
DB4Oは、300万のオブジェクトの大きさに非常に適しています。
他のデータベースに対してベンチマークテストを行っています http://www.polepos.org/ また、すぐに新しいバージョンのベンチマークをリリースし、SQLLITEに対して複雑なセットアップを実行します。ベンチマークをAndroidに移植することも考慮されます。
参加者がパフォーマンスを殺し、非常に異種のデータがある場合、DB4Oはリレーショナルデータベースよりもうまく機能する可能性があります。
あなたのアプリは面白いように聞こえます。 DB4Oの評価を支援する必要がある場合は、叫んでください。
ジェイソン:DB4Oメンバーに到達するには、このパターンを使用する必要があります:firstName @ db4o.com Best!