Tips

MariaDB はじめてのMariaDB 【第9回 バックアップとリストア、容量見積もり】

バックアップとリストアの必要性

どのようなサーバ、PCであっても様々な原因によりデータが破損する可能性があります。
そのため、常日頃からバックアップを取得しておくことが大事です。

では、バックアップの取得方法について、記載します。

バックアップ

バックアップの取得には下記種類があります。

  • 指定したDBをバックアップ
  • 指定したテーブルをバックアップ

バックアップを行うには、コマンドプロンプトからmysqldumpを実行します。
【DB単位でバックアップ】

mysqldump -u ユーザ名 DB名 --password="パスワード" > 保存先のディレクトリ名/保存するファイル名

【テーブル単位でバックアップ】

mysqldump -u ユーザ名 DB名 テーブル名 --password="パスワード" > 保存先のディレクトリ名/保存するファイル名

リストア

バックアップを取得したからには、戻す方法も当然あります。
リストア方法については、DB単位、テーブル単位どちらも同じ方法です。

mysql -u ユーザ名 DB名 --password="パスワード" < 保存先のディレクトリ名/保存するファイル名

テーブルとインデックスの容量見積もり

バックアップ、リストアとは少し話が離れますが、DBの見積もり方法について
簡単に記載しておきます。
リストアする際や新規にDBサーバを構築する際に役立つかと思います。

では、どのようにサイズの見積もりを行うのでしょうか?

各テーブルおよびインデックスに対する1件あたりのサイズを計算する

まず、DBに作成するテーブルを考えます。
テーブルには当然、フィールド(カラム、項目)が存在します。
このフィールドには、型(データタイプ)が設定されています。
この型毎に設定されるサイズは決まっています。

データ型 データサイズ 備考
INT 4 Bytes
DOUBLE 8 Bytes
VARCHAR(M) 0≦M≦255:M + 1 Bytes
255 < M:M + 2 Bytes
TEXT M + 2 Bytes M:文字列の長さ(Byte単位)
DATE 3 Bytes
TIME/td>

3 Bytes
DATETIME 8 Bytes
TIMESTAMP 4 Bytes

上記以外のデータ型については下記を参照してください。
[styled_link link=”https://mariadb.com/kb/en/mariadb/documentation/data-types/data-type-storage-requirements/” textColor=”#000000″]MariaDBのデータ型サイズ[/styled_link]

また、テーブルだけではなく、インデックスのサイズも
計算しなくてはならないことに注意してください。

上記から計算方法は下記のようになるかと思います。

1レコードあたりのデータサイズ × 想定登録件数 × 安全係数 = テーブルの見積もりサイズ
※安全係数:何らかの事態を想定し、余分に確保する係数(1.3とか1.2とか・・・)

どうしても必要な知識というわけではないですが、
あった方が良い知識だと思い、記載しておきました。

WEBアプリケーション関連 人気連載リンク

データベースの基礎が学べるSQL基礎講座
SQL基礎 連載

より実践的なWEBアプリ開発講座!Bootstrap活用を学ぶなら・・
魁!小野の塾 連載

Recent News

Recent Tips

Tag Search