ちょっと硬派なコンピュータフリークのBlogです。

カスタム検索

2013-12-27

DB設計の難しさ

今日は徒然なるままにDB設計について思っていることを並べてみようと思う。

2013-12-20

InnoDBのREPEATABLE READにおけるLocking Readについての注意点

本日は、MySQL Casual Advent Calendar 2013の20日目である。というわけでカジュアルに小ネタを紹介しよう。

2013-12-14

SQLインジェクション対策に正解はない

最近、SQLインジェクションのネタが盛り上がってるようだ。下記のTogetterまとめあたりが震源地だろうか。

「プリペアードクエリが基本だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」 - Togetterまとめ

まとめを読んだ感想としては、「どちらの意見も間違ってはいない」というものだ。前提あるいは見方が異なるために、見解の相違が生じているだけのように思う。SQLインジェクションについては私も若干思うところがあるので意見を書いておこうと思う。

2013-12-10

IDの設計についてのさらに突っ込んだ議論

今日も前回に引き続きデータベース設計の話をする。今回の話で一旦データベース設計については筆を置くつもり(ブログ書いてないで原稿書けよ>俺)であるが、その前に話をすっきりさせて置きたいと思う。最後を飾るテーマはIDの設計である。

2013-12-08

リレーショナルモデルのドメイン設計についての議論

リレーショナルモデルを実践するには、ドメイン(≒データ型)を如何に正しく設計するかということが極めて重要になる。しかしながら、ドメインをどう設計すべきかという議論はあまりされていないように思う。その結果、ドメインについての理解はあまり進まず、データベース設計に失敗しているパターンが多いように思われる。

というわけで今日のテーマはドメインである。

2013-12-07

Dbtech Showcase 2013で使用したスライドを公開しました。

11月は非常に多忙な月であった。セミナーでの発表を3つこなすというのは、私のペースからするとかなり無茶だったかも知れない。反省。

さて、スライドを公開する順序が前後してしまったが、11月に発表したひとつめのセミナーがDbtech Showcase Tokyo 2013だ。発表内容はMySQL Clusterに関するもので、題して「MySQL Cluster 徹底活用術」だ。どのようなシーンで利用できるかというコンセプトのもと、構成や性能、運用といったトピックについて解説している。

2013-12-04

ナチュラルキーとサロゲートキーについての議論

とあるブログエントリで「ナチュラルキーを主キーにしてはいけない」という主張を見かけたのでこれに反論しておく。これはリレーショナルモデル的には明らかに間違った考えだからだ。

2013-12-03

ヒゲモジャのギークが提案する技術習得戦略

先月、Dbtech Showcaseで松信さんがデータベース技術の羅針盤という講演をされた。残念ながらプレゼンそのものを観に行くことはできなかったが、その前の日に松信さんと一緒に昼飯を食べたとき、講演のあらすじについては伺っていた。その際にも同じようなことを松信さんには言ったのだが、スライドを見直した上で改めて自分の意見をまとめておこうと思ったので筆をとることにする。

なお、このエントリではスライドに書かれているトピックについて語るので、まだ松信さんのスライドを見てない人は先にスライドに目を通してから本エントリを読んで欲しいと思う。結論は全く違った方向に進んで行くが、その点は了承して頂きたい。

2013-12-01

その選択、ちょっと待った!NoSQLデータベースへ乗り換える前に検討すべき3つのポイント

最近、どうも安易に「NoSQLにすれば厄介なDB設計から開放される」と考えている人が多いように思えて仕方がない。だが待って欲しい。本当にNoSQLと呼ばれるデータベースを使えばアプリケーションの開発・運用の苦しみから逃れられるのだろうか。もちろん「そんなことは無い!!絶対にだ!!」と私は考える。今日はその理由について語ろうと思う。