WebデータベースのW3C仕様では、Webアプリケーションワーキンググループが、他の2つのストレージ関連の仕様であるWebStorageとIndexedDatabaseAPIの作業を継続していると述べられています。
したがって、Webデータベース仕様はアクティブではなくなりますが、他の2つの仕様はアクティブになります。
Web Storageは、ユーザーのブラウザ内でローカルにデータを保存するために使用できます。これを実現するための次のオブジェクトがあります。
- 有効期限なしでデータを保存するlocalStorage
- 1つのセッションのデータを格納するsessionStorage
W3C仕様には次のように記載されているため、Webストレージ(100MB以上)はお勧めしません。
オリジンごとに5メガバイトのほとんど任意の制限が推奨されます。
私の意見では、SQLiteは、自己完結型のサーバーレスのゼロ構成のトランザクションSQLデータベースエンジンを実装するインプロセスライブラリであるため、利用可能な最良のオプションです。さらに、SQLiteの制限はあなたのニーズをカバーしているようです:
SQLITE_MAX_PAGE_COUNTの可能な最大設定は2147483646です。最大ページサイズ65536で使用すると、最大SQLiteデータベースサイズは約140テラバイトになります。
暗号化要件に関しては、SQLite拡張機能であるSQLCipherを検討する必要があります。
SQLCipherは、データベースファイルの透過的な256ビットAES暗号化を提供するSQLite拡張機能です。現在まで、Zetetic LLCによってオープンソース化され、後援され、維持されてきました。モバイル分野では、SQLCipherはAppleのiOSだけでなく、Nokia/QTでもかなり長い間広く使用されてきました。
別のオプションは、データベースの書き込みと読み取りの際にデータを暗号化および復号化することです。
これがお役に立てば幸いです。