amari3のはてなダイアリー このページをアンテナに追加 RSSフィード

2012-03-25

[][]Webエンジニアのためのデータベース技術[実践]入門読了

発売前から読むのを楽しみにしていた"Webエンジニアのためのデータベース技術[実践]入門"が読み終わった。

Webエンジニアのための データベース技術[実践]入門 (Software Design plus)

Webエンジニアのための データベース技術[実践]入門 (Software Design plus)

データベース構造の基本からインデックスの構造、データモデリングレプリケーションといった、Webエンジニアがデータベースを扱う上で必要となる知識がわかりやすく説明されていて、非常に勉強になった。

個人的には"第8章データベース運用技術の勘どころ"がすごくためになったと思ってて、問題の予防・認知・解決について書かれてて、多くの運用経験がある著書が書かれているのだからこそ、説得力があるなと思った。"よく知っている技術を使う"、"アーキテクチャを複雑にしない"当たり前だけど重要だよなぁと再認識。

データベースの基礎と実践を体系的に勉強できる良書。多くの人におすすめ出来る一冊です。

2010-03-31

[][]MySQL のバイナリログの削除方法

MySQL をマスタ/スレーブ構成で運用していると、バイナリログがハードディスク容量を圧迫してくるのでその削除手順をメモ。

1.レプリケーションの進行状態を確認

スレーブ側がどこまでバイナリログを読み込んでいるか確認する。Master_Log_File に表示されているファイル(mysql-bin.006223)まで読み込まれている。つまり、その直前のファイルまでは削除しても問題ないと言うことになる。

mysql> show slave status \G
Master_Log_File: mysql-bin.006223

2.マスタ側のバイナリログ一覧を確認

マスタ側のバイナリログ一覧を確認する。レプリケーションが正常かつ順調に行われている場合、1のMaster_Log_File と同じものになっているはずである。

mysql> show master logs;
| mysql-bin.005987 | 104957654 |
| mysql-bin.005988 | 104949424 |
<略>
| mysql-bin.006222 | 105051618 |
| mysql-bin.006223 | 22691624 |
+------------------+-----------+

3.バイナリログを削除

1で確認したバイナリログの直前まで削除する。以下のように、mysql-bin.006223 を指定すると、その直前までのバイナリログを削除してくれる。

mysql> purge master logs to 'mysql-bin.006223';

おしまい。

2009-09-14

[][]DB のテーブル定義

DB のテーブル定義ってどうするのがええんやろか。この辺って商用の DB を使う人と、オープンソースな DB を使う人で考え方が違うのやろうか。

ぱっと思いつくのはこんなところでしょうか。

  1. Excel でテーブル定義書を作って VBA で DDL 文を自動生成
  2. 表計算ソフトでテーブル定義書だけを作る
  3. ファイルに直接 DDL 文を書く
  4. DB のプロンプトでがんばる

今の仕事ではスケジュールが厳しいので、3 のやり方でやってるが、あとでテーブル定義書だけでも作っておいた方がいいのかしら結局 2 でやることにしますた。