前々回前回、に引き続き、Key Valueストア(KVS)ネタ。

データの整合性(Consistency)を重視するRDB、データの可用性(Availability)とデータの分散化(Partition-tolerance)を重視するKVS。

要件によって向き不向きがある訳だけど、toCのWEBサービスを考える時、全部バランスよく、しかもコストを抑えつつ実現したい訳です。

RDBマンセーなわたしでさえ、KVSに軍配を上げざるを得ないんですね。

もちろん、SalesForceみたいなアプローチも悪くない。

でも、DOA的な観点から考えると、アレは邪道なんでしょうねぇ。

Key Valueストアがリレーショナルデータベースを駆逐するシナリオの妥当性:Azureの鼓動:ITmedia オルタナティブ・ブログ

概ね同意ですが、少なくともWEBアプリケーション、特に toC に関して言えば、Key Valueストアは破壊的イノベーションだと思います。

前回も参考にしたこの記事が、的を射た説明をしてくれている。

もう1つの、DBのかたち、分散Key-Valueストアとは (13) – @IT

RDBで負荷分散させようとすると……

例えばMySQLを使う場合、1テーブルのレコード件数が数百万~数千万件を超えるような規模になると、1台のDBサーバだけでは実用的なパフォーマンスが達成しにくくなります。そこで一般には、以下のような対策によってRDBのスケーラビリティを引き上げる努力が必要となります。

・RDBサーバのスケールアップ(大型サーバへの載せ替え)

・DBのレプリケーションやシャード(パーティション)分割によるクラスタ構築

・分散キャッシュ(Oracle RACやmemcachedなど)によるクラスタ構築

経験者ならばお分かりいただけるとおり、このどれもが結果的に「高コスト」となるソリューションです。

要するに、そういうことなんすよ・・・

私たちRDBMS屋は、ココが腕の見せ所のひとつであり、飯の種な訳だったんですが、GAE上のBigTableでいともあっさり解決できてしまう予感。

DOA+コンソーシアム(ディー・オー・エー・プラス コンソーシアム)

ひっそりと活動を続けるDOAコンソーシアムでは、Key Valueストアをどう捕らえているんだろう。

株式会社マジカジャパンの羽生章洋が書いてるブログ:端境期を感じるシステム開発 – livedoor Blog(ブログ)

Bigtableの使い方教えます – ひがやすを blog

夏椰の湧水-Spring from Kaya- … 正規化について(基本)

正規化を判りやすく解説してある。

1NF~BCNFまで。

夏椰の湧水-Spring from Kaya- … 正規化について(オプション)

4NF~5CNFまで。