キムラデービーブログ

オープンソースデータベースを加速する「キムラデービー」のブログです。カレー日記を兼ねてます。なお著者は2010-06-01より日本オラクルに在籍していますが、本サイト(ブログ、またはウェブサイト)において示されている見解は、私自身の見解であって、オラクルの見解を必ずしも反映したものではありません。
<< [#ouchidbボツ原稿シリーズ]縦横に長い表を画面表示に収めるには? | main | グリーンカレー大盛@目黒松屋 >>
[#ouchidbボツ原稿シリーズ]データベースファイルからの差分バックアップ生成
0
    ミックさんとの共著「おうちで学べるデータベースのきほん」はおかげさまで好評です。

    ただ執筆時には原稿を盛り込みすぎてボツになったものもあり、本シリーズ(?) では、そのうちのいくつかをひろって供養したいと思います。

    今回は「関西DB第3回」で話があがった、バックアップ・リカバリについて。

     MySQLの例だけみると「フルバックアップとバイナリログがあればリカバリできるじゃん」と思われた方も多いと思います。それはそのとおりですが、バイナリログを時系列に適用していくと、その適用に時間がかかり、想定した時間内にリカバリが終わらない、といった事態も起こりえます。またこのようなバイナリログの適用は同じ行のデータを何度も更新するような場合には、最後の一度以外は無駄な作業であることが想像できます。たとえば次のようなケースです。

    (0) -- 最初の状態
    (1) UPDATE t1 SET v2 = 'AAA' WHERE i1 = 1;
    (2) UPDATE t1 SET v2 = 'BBB' WHERE i1 = 1;
    (3) UPDATE t1 SET v2 = 'CCC' WHERE i1 = 1;
    (4) UPDATE t1 SET v2 = 'DDD' WHERE i1 = 1;
    (5) UPDATE t1 SET v2 = 'EEE' WHERE i1 = 1;
    (6) UPDATE t1 SET v2 = 'FFF' WHERE i1 = 1;
    (7) -- 最新の状態

    このような場合、実は最後の(6)が実行できれば、その前の(1)〜(5)は不要な気がします。つまり「最終的な値がわかれば、その過程は不要」というものです。多くのRDBMSでは(0) 最初の状態、と(7) 最新の状態を比較して差分情報を抽出することができます。これはデータが格納されているディスクファイル(もしくはディスクファイルを構成するブロック)を比較して更新されていた場合に差分として抽出するものです。この機能があればフルバックアップを(0) 最初の状態として、任意のタイミングで差分バックアップを生成できます。差分バックアップのイメージでは現在のデータベースは以下のように表現できます。

    現在のデータベース = フルバックアップしたデータ + 現在までの差分バックアップ

    以下主要なRDBMSのバックアップ機能と名称について一覧にまとめましたので、ご参照ください。

    ----------------------------------------------------------------------------------------------------------------------------
    名称          フルバックアップ    差分バックアップ            増分バックアップ
    ----------------------------------------------------------------------------------------------------------------------------
    対象データ       すべて         前回のフルバックアップからの差分    前回の任意バックアップからの差分
    バックアップ総処理時間 大           中                   小
    リカバリの総処理時間  小           中                   大
    メリット        運用が簡単。      運用は普通。              運用が難しい。
    デメリット       RDBMSの停止が必要。  差分抽出に時間がかかることも。     リカバリ時全ての増分ファイルが必要
    各DBMSでの呼び名
    Oracle         全体バックアップ    累積増分バックアップ          差分増分バックアップ
    Microsoft SQL Server 完全バックアップ    差分バックアップ            トランザクションログバックアップ
    IBM DB2        フルバックアップ    増分バックアップ            デルタバックアップ
    PostgreSQL      ベースバックアップ    ×                   増分バックアップ(トランザクションログ使用)
    MySQL         フルバックアップ     ×*6                 増分バックアップ(バイナリログ使用)
    Firebird         フルバックアップ     差分バックアップ           増分バックアップ
    ----------------------------------------------------------------------------------------------------------------------------

    注6: Enterprise Editionに含まれるMEB(MySQL Enterprise Backup)のincremental指定により可能。

    JUGEMテーマ:コンピュータ

    | meijik | データベース | 16:46 | comments(0) | trackbacks(0) | - | - |









    http://blog.kimuradb.com/trackback/877468
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   
    << January 2018 >>
    + RECOMMEND
    100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊
    100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊 (JUGEMレビュー »)

    100人のうちの一人としてミックさんの本を推薦しています。
    + RECOMMEND
    MySQL 5.1 Plugin Development
    MySQL 5.1 Plugin Development (JUGEMレビュー »)
    Andrew Hutchings,Sergei Golubchik
    MySQL 5.1 のプラグインを作るならこれ!
    + RECOMMEND
    AWKを256倍使うための本 (Ascii 256倍)
    AWKを256倍使うための本 (Ascii 256倍) (JUGEMレビュー »)
    志村 拓,鷲北 賢,西村 克信
    ここにきてまさかの復刊。15〜16年前の本ですが、いまでも十分役立ちますよ!!
    + RECOMMEND
    Linux-DB システム構築/運用入門 (DB Magazine SELECTION)
    Linux-DB システム構築/運用入門 (DB Magazine SELECTION) (JUGEMレビュー »)
    松信 嘉範
    Linux-DB システム構築の新スタンダード。DB Magazine人気連載、待望の書籍化です!!
    + RECOMMEND
    + RECOMMEND
    超・極める!MySQL
    超・極める!MySQL (JUGEMレビュー »)
    坂井 恵,志村 和彦,ひろせ まさあき,松信 嘉範
    内容は少々古くなりましたが、内部説明があり、いろいろ面白いです。
    + RECOMMEND
    The Root of .NET Framework
    The Root of .NET Framework (JUGEMレビュー »)
    荒井 省三
    .NETの根っこをつかむ、か?
    + RECOMMEND
    エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド
    エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド (JUGEMレビュー »)
    奥野 幹也
    これまでにない構築、そして構築後のMySQLのための本。
    + RECOMMEND
    Database Management Systems
    Database Management Systems (JUGEMレビュー »)
    Raghu Ramakrishnan,Johannes Gehrke
    ミックさん連載の参考書籍です。
    + RECOMMEND
    Advanced Programming in the UNIX Environment: Paperback Edition (2nd Edition) (Addison-Wesley Professional Computing Series)
    Advanced Programming in the UNIX Environment: Paperback Edition (2nd Edition) (Addison-Wesley Professional Computing Series) (JUGEMレビュー »)
    W. Richard Stevens,Stephen A. Rago
    必読! といいつつ私が読んだのは初版の日本語訳です。差分はチェックしないといけませんね。
    + RECOMMEND
    + RECOMMEND
    + RECOMMEND
    Western Digital Scorpio Blue 2.5inch 5400rpm 320GB 8MB PATA WD3200BEVE
    Western Digital Scorpio Blue 2.5inch 5400rpm 320GB 8MB PATA WD3200BEVE (JUGEMレビュー »)

    DELL SX260の換装用に購入。今はコチラのほうが安いですね。
    + RECOMMEND
    情熱プログラマー ソフトウェア開発者の幸せな生き方
    情熱プログラマー ソフトウェア開発者の幸せな生き方 (JUGEMレビュー »)
    Chad Fowler
    OSC2010神戸に出展されたジュンク堂で買いました。
    + RECOMMEND
    Software Design 総集編 【2000~2009】(DVD付)
    Software Design 総集編 【2000~2009】(DVD付) (JUGEMレビュー »)

    メガトン級の過去記事。売り切れる前にお店に急げ!
    + RECOMMEND
    + RECOMMEND
    玄人志向 2.5型HDDケース SATA対応USB2.0接続 GW2.5AI-SU2
    玄人志向 2.5型HDDケース SATA対応USB2.0接続 GW2.5AI-SU2 (JUGEMレビュー »)

    Aspire 1410 HDD換装後、昔のHDDはこれにいれます。
    + RECOMMEND
    + RECOMMEND
    acer Aspire Timeline AS1410 11.6型ノートPC Windows7搭載 250GB ブラック AS1410-KK22
    acer Aspire Timeline AS1410 11.6型ノートPC Windows7搭載 250GB ブラック AS1410-KK22 (JUGEMレビュー »)

    色違い黒(他に青と白があります): メモリは最大4GBとあるが、がんばれば8GBいけるらしい。
    + RECOMMEND
    Firebird 徹底入門
    Firebird 徹底入門 (JUGEMレビュー »)
    木村 明治,はやし つとむ,坂井 恵
    Firebird日本ユーザ会のはやしさん、そしてMyNAから拝借(?) してきた坂井さんとともに書きました。まだ誰も知らないFirebird 2.5や、いままでドキュメントのなかったツール類についてもソースを確認してとりあげた本です。是非ご活用ください。
    + SELECTED ENTRIES
    + RECENT COMMENTS
    • 使い慣れたSQLに潜む実装依存: Firebirdの場合(6) 文字列との結合演算子
      noname (12/10)
    • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
      Moriaki_ (01/05)
    • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
      Moriaki_ (01/05)
    • 2015年版 InterBaseの歩み
      nakagami (12/06)
    • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
      meijik (11/22)
    • 分散DB本読書会第46回メモ「STOP AFTER 10」
      masudahidehiko (09/01)
    • Windows上でのMySQLビルド方法
      kinoyasu (03/31)
    • 気軽に新しいMySQLを試してみる: MySQL Sandboxのススメ
      MeijiK (09/19)
    • 伝わらない曲シリーズ: 川島恵「ミスター不思議」
      96 (07/05)
    • 気軽に新しいMySQLを試してみる: MySQL Sandboxのススメ
      MeijiK (02/17)
    + RECENT TRACKBACK
    + CATEGORIES
    + ARCHIVES
    + MOBILE
    qrcode
    + LINKS
    + PROFILE