🤔

改めて人に聞かれると説明が微妙に難しいやつ[3] DBにおける"リストア"編

2023/02/01に公開

■ 前回のあらすじ
改めて人に聞かれると説明が微妙に難しいやつ[2] DBにおける"ダンプ"編


日頃サーバーサイドエンジニアとしてお仕事していると、「このダンプ使ってリストアしてね〜」とか、
自分が他のメンバーに言われることもあれば、自分から誰かに言うこともあるのですが(2回目)

そもそも"リストア"ってなんやねん

という質問を仮に初学者にされたら、またもや今の自分は明確に説明できない事に気が付きました。
そういう訳で今回はデータベース(以下 DB と表記します)におけるリストアについて書いていきます。

※ DBには様々種類がありますが、今回もMySQLを例に話を進めさせていただきます🙇
結論だけ知りたい方は ■ DBにおける"リストア"の意味 をお読みください。

これを読む前の前提知識

  • サーバーサイド技術の初歩的知識(CRUD操作の基本など)
  • DB関連の初歩的知識(MySQLコマンド, テーブル・カラム・レコードの概念など)

本記事の想定読者

  • サーバーサイド/DB初心者〜周辺知識がふわっとしている方
  • フロントエンドエンジニアだけどDB知識もちょっと欲しい方

本記事では取り扱わないこと

  • サーバーサイドアプリケーション技術の詳細
  • ダンプについて(冒頭に記載した前回記事のリンクを参照ください🙇)

本題

■ "リストア"の語源について

前回同様、専門用語として考える前に一旦「英単語」としてどんな意味なのかを見ていきましょう。
理解につながるヒントがあるかもしれません(たぶん)
今回はわざわざ辞書を引く必要はないかもしれませんが・・・

restore[1]

to make something or something good or well again(~を再び良くすること/直すこと):
例: We will restore her to health.
(私たちは彼女の健康を取り戻します。)

当然と言えば当然ですが、これで「戻す」「直す」という直訳が得られました。

■ DBにおける"リストア"の意味

辞書のおかげでリストアの意味は大体わかりました。
では今回もMySQL公式リファレンスを見ていきましょう。

18.4.20 ndb_restore — MySQL Cluster バックアップのリストア

クラスタリストアプログラムは、別個のコマンド行ユーティリティー ndb_restore として実装されており、通常は MySQL の bin ディレクトリにあります。
このプログラムは、バックアップの結果として作成されたファイルを読み取り、格納されている情報をデータベースに挿入します。

https://dev.mysql.com/doc/refman/5.6/ja/mysql-cluster-programs-ndb-restore.html より

ここでいう バックアップの結果として作成されたファイル というのが、前回記事で解説したダンプファイルを指します。
つまりダンプを元にデータベース情報をリストア(戻す/復元)するということですね💡

■ "リストア"の方法

こちらはリファレンスの別ページに説明がありました。

💡 参照記事

いずれもMySQLコマンドによるやり方で解説されていますが、
DBクライアントツール[2]からでも同様の操作ができると思います(※未検証)

あとがき

最後までお読みいただきありがとうございました🙏

今回もMySQL公式リファレンスサイトを頼らせていただきました。
かるーい内容の記事になってしまいましたが、前回の記事と併せてどこかのどなたかの参考になれば幸いです。

Typo指摘, ここは正しく無いのでは?等のコメントを寄せていただけるととてもうれしいです😇
都度修正・追記を続けてブラッシュアップしたいと思います👍

それでは次のシリーズ記事でまたお会いしましょう!


脚注
  1. 出典: コウビルド エッセンシャル英英辞典, 翻訳はDeepL・Google翻訳を元に作成 ↩︎

  2. 具体的なクライアントツールとしては、"A5:SQL Mk-2", "DBeaver", "phpMyAdmin"などがあります。Windowsユーザーであれば"A5:SQL Mk-2"が個人的におすすめです(継続的に機能改善がなされています) ↩︎

Discussion