はじめに
Oracle NoSQL Database Cloud Serviceを使用しています。DBデータのダンプとリストアについて、現状は効率的な方法が見つかっていません。
特にダンプについて、現状では個々のレコード単位でのエクスポート(コンソールからレコード横の三点リーダーから「JSONのダウンロード」を選択)しか方法が見つけられていません。
多くのレコードを格納するDBのダンプを行う際には、上記の方法では現実的ではありませんでしたので、より効率的なDBダンプとリストアの方法を調査しました。
調査
ドキュメントには使えそうなユーティリティがないので、サポートに問い合わせ中です。
アプリケーション的に解決すると、以下のような方法が考えられます:
- テーブル全件取得
- JSONファイルに出力
- ObjectStorage(バケット)に保存
このような処理を行うファンクションを作成することで解決できるかもしれません。
検証結果
テスト用のファンクションを作成したところ、バケットにJSONファイルを出力することができました。
また、そのJSONファイルをそのまま「データをアップロード」で流し込むことで、データのリストアができました。
まとめ
DDLを事前に取得しておくことが前提となりますが、この方法を使えば、データのダンプおよびリストアの効率が向上する可能性があります。