2

永続的ローカルなデータベースを必要とする chrome アプリを構築しています。この場合、これはindexedDBまたは基本オブジェクト ストレージのいずれかになります。アプリの開発を開始する前に、いくつか質問があります。

  1. Chrome アプリと Chrome ブラウザのアンインストール後に indexedDB データを保持することは可能ですか?
  2. indexedDB ファイル/データが持続する場合、それを見つけて表示できますか?
  3. 検索できても表示できない場合、indexedDB ファイルの場所を変更することはできますか?
  4. デスクトップまたはその他のカスタムの場所にあるファイルに indexedDB を保存できますか?
4

3 に答える 3

4

これらの要件がある場合は、いくつかの選択肢があります。

  1. FileSystem API に基づく単純なデータベースを作成し、定期的にデータベースをロックしてそのファイルをバックアップします。シンプルな FileSystem API を利用したデータベースを実装した人を私は知らないので、これは非常に素晴らしいことですが、他の目的にも役立つことがわかりました。

  2. データベースへの編集は、バックアップ サーバーに保存されているデータベースのコピーに対しても行われ、バックアップからスナップショットをインポートできる関数を作成します。

  3. indexedDB から何らかの形式でバックアップにエクスポートし、バックアップからインポートする関数を作成するだけです。

すべてのオプションはかなり時間がかかるようです。indexedDB を作成するときに、それをサポートする HTML FileSystem API エントリ ファイルを指定できればすばらしいと思います。そうすれば、1 または 2 を実行する必要がなくなります。

indexedDB のバックアップが非常に難しいというのは、かなり見落としのように思えることに同意します。

于 2014-01-23T16:52:06.883 に答える
2

私は基本的なブラウザのみのアプリケーションを書いています。現時点では、バックエンド サーバー コードはありません。そのため、ストレージ要件もあります。しかし、私はバックアップを行っていません。私は解決策としてpouchdbを見ています:http://pouchdb.com/

これまでのところ、すべてが順調に見えます。また、Google Apps とうまく連携できるとも述べています。

http://pouchdb.com/faq.html#native_support

良いことは、pouchdb データをサーバーの cupdb インスタンスと同期できることです。
http://pouchdb.com/api.html#replication

http://pouchdb.com/api.html#sync

サーバーをサポートせずにアプリケーションをブラウザに対してローカルに保ちたい場合は、バッチフェッチを使用してデータベース全体をバックアップできます。

http://pouchdb.com/api.html#batch_fetch

ファイルシステムに配置する前に、結果を gzip で実行します。

于 2014-11-23T21:08:26.467 に答える