先日ちょっとSQL Serverの冗長化に関して調べたので書いておきます。

  • http://technet.microsoft.com/ja-jp/library/ms189852.aspx
  • フェールオーバークラスタ(共有ディスク型)を用いた冗長化が可能
  • レプリケーションを利用した冗長化が可能。自動フェールオーバーまでやるか、やらないかは選択可能。
    • 自動フェールオーバーを行うためにはミラーリング監視サーバーが別途必要。
    • 自動フェールオーバーを行うには、「高い安全性モード」にする必要があり、パフォーマンスは落ちる。
    • 手動フェールオーバーにするなら、ミラーリング監視サーバーは必要ない。
    • 手動フェールオーバーにするには、「高い安全性モード」にする必要があり、パフォーマンスは落ちる。
    • サービスの強制にするなら、「高パフォーマンスモード」にでき、パフォーマンスは良いが、一部データが失われる可能性がある。

「高い安全性モード」の待機系のサーバーでのデータ受け取りを確認してからのコミットというロジックは遠隔地でのディザスタリカバリのパターンでは事実上パフォーマンス的に使えないのでは?という気がする。もちろんケースバイケースだろうけれども。

仕事でSQLサーバーを勉強中です。今日は、サイトによって第一正規化の説明が異なっていることに気がついてちょっと混乱してました。第一正規化は「繰り返しをなくす」という事なのですが・・・。

ひとつの枠に複数入れるのをやめる

  • http://www.mirai.ne.jp/~suehiro/am/kihonyougo/normal.htm
  • http://www.kogures.com/hitoshi/webtext/db-seikika/index.html

別表にする

  • http://www.atmarkit.co.jp/fdb/rensai/db_enginer03/db_enginer03_1.html
  • http://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E5%8C%96
  • http://sql.main.jp/cont/norm/map.html

上記のように2つのやり方が存在している模様。で、調べたところこれをまとめて説明しているページがありました。

  • http://www.wakhok.ac.jp/biblion/1994/DB/section2.7.6.html

つまりどちらの方法も「第一正規形」の条件を満たしている(どちらも間違いではなく2つのやり方がある。)が、別表にする方法のほうがより正規化された形と考えられる。ということでいいようです。

  • http://soudan1.biglobe.ne.jp/qa204402.html

ここでは「第一正規形には2つあるよ」と書いてあります。

そんなモンなんですね。

引き続きSQL Serverを勉強中です。きちんと睡眠をとってからでないと、頭になかなか入ってこない。よく寝るようにしなくては。

仕事でSQL Serverを理解しなくてはいけなくなったので、SQL Serverの勉強をしています。いままでもちょっとは触っていたけれども、いつか本腰をいれてやらなくてはいけないと思っていのたで、いい機会になってます。

その他の仕事との兼ね合いは大変ですが、覚悟の問題なので。覚悟を決めて。