2017-09-20 12 views
0

たとえば、100,000個のオブジェクトとレルムで同期したデータベースがあるとします。同期された領域でデータを繰り返し修正するとどうなりますか?

このようなデータが変更され、上書きされます.1000回ずつ繰り返します。

変更が行われる前に私のデバイスにデータベースのコピーがある場合。

1a。 1kの変更後に実際にデバイスに転送されるオブジェクトの数はいくつですか?これは、帯域幅の使用量、および初期更新時間に影響します。

1b。データベースのSTORAGEの使用はどのような影響を受けますか?

2a。 1kが変更された後、データは初期状態と同じになり、サーバーではどのようなストレージが必要であり、

2bとなります。クライアントにはどれくらいのスペースが必要でしょうか?

2c。サーバーまたはデバイス上のレルムをコンパクトにする方法はありますか?

答えて

2

レルム・データ同期は、レコード全体ではなく操作(更新)を転送します。つまり、転送されるデータの量は、データベースに加えられた変更の量に比例します。

は逆に、クライアント上で使用される記憶装置は、現存するオブジェクトの数(としない、たとえば、各オブジェクトが受信した更新回数)にだけ比例します。あなたの質問(2A)については

、レルムオブジェクトサーバー1.xのとサーバー上のストレージ要件は、データベース内のアップデートの合計数に比例しています。 Log Compactionは、Realm Object Server 2.0で導入予定の機能です。

サーバーとクライアントの両方で実際に必要な領域は、データベースにどのような変更が行われているかによってまったく異なります。たとえば、大量のバイナリオブジェクトを追加および変更すると、オブジェクトの通常のデータフィールドを小規模に更新するよりも、ストレージ要件に大きな影響があります。

コンパクト化に関して、Realmはクライアントでのデータベース圧縮をしばらくサポートしています(これについては、使用しているプラ​​ットフォームのSDKドキュメントを参照してください)。サーバー上にも同様の機能がありますが、開発者にこれを最もよく公開する方法を発見しています。

+1

ドキュメントごとに、クライアント側のデータベース圧縮は、同期領域ではなくスタンドアロン領域でのみ使用できます。それとももうこれは当てはまりませんか? –

+0

@ GordonHoこれはまだそうです。 –

関連する問題