2017-09-21 10 views
0

SQL Serverに格納されるアプリケーションデータがあります。このデータはREST APIを介してユーザーのブラウザに同期され、ユーザーが基本的なCRUD操作を行い、プッシュバックするためにIndexedDBデータベースに保持されます。エンティティは特に複雑ではありません。ほとんどのユーザーは、数MBのデータの領域にいます。コンテキストを考慮すると、このデータをクライアント側で非リレーショナル・モデル、スケーラビリティ、およびパフォーマンスに格納することによる利益は、適用されないようです。このデータをIndexedDBオブジェクトストアのエンティティに参加する外部キーとのリレーショナルな方法で保存すると、より多くの利益を得ることができますか?リレーショナルサーバー側のデータを使用してオフラインWebアプリケーションでIndexedDBデータベースをモデリングする

ORMを使用するリレーショナル構造またはドキュメントタイプ構造の両方で、サーバー側のJSONにリレーショナルデータをシリアライズするのはかなり簡単です。

答えて

0

データをindexedDBに非正規化して格納します。これは、ブラウザアプリケーションでどの操作が最も発生するかを調べることです。一般に、これらはオブジェクトストア内の複数のオブジェクトをスキャンする読み取りです。読み取り操作を高速にする形式にデータを再標準化します。

あなたはindexedDBで手動でジョインをしなければならないことは間違いありません(Boyce-Codd以来残念です)。これは遅く、No-SQLイデオロギーを受け入れません。

1

IndexedDBラッパーJsStoreを使用すると、リレーショナルサーバー側のデータを使用してIndexedDBデータベースをモデル化する際の問題を解決できます。

JsStoreの助けを借りてサーバー側にある同様のスキーマのIndexedDBにテーブルを作成することができます.JsStoreが提供するAPIの助けを借りてIndexedDBテーブルの基本的なCRUD操作を行うだけで済みます。両方の共通のスキーマを持っているので、サーバー側とデータを簡単に同期できます。うまくいけば、これは役立つかもしれJsStore Tutorial

:あなたはその公式のチュートリアルを通過することができます詳細については

関連する問題