SQLer 生島勘富 のブログ

RDB・SQLの話題を中心に情報発信をしています。

MySQL Cluster: NoSQL について

 MySQLの Cluster: NoSQL がなかなか良さそうです。

 私自身は、それを使う様な案件に恵まれてないので使わないとは思うけれど、チャンスがあれば使ってみたい。所謂、NoSQLは半端すぎて使いにくい。NoSQLという新たなモノを作るよりも、RDBMS が NoSQL を飲み込む、つまり、DB Engineを通さずにダイレクトアクセスできる API を提供して欲しいと考えて来たが、MySQLがその先駆けとしてやってくれました。この先、PostgreSQL も同様の API の提供を予定しているようです。

 この流れが商用RDBMSにも起きてくれたらと思います。

O/Rマッパとどう違うのか?

 要するに、O/RマッパはDB Engine、SQLというボトルネックの上に、抽象度が逆転するラッパーとなっているため、必ず非効率になる。

 DB Engineを利用するならば、効率的なSQLを書いて抽象度が逆転しないように、アプリケーション側ではSQLでできないUIのみにするのが正しい。

 O/Rマッパを使って効率が逆転するのは、DB Engine以下の技術力しか持ち合わせてない人間が使った場合に限られる。レベルが低いだけでなく、それを理解できないのなら、もうプロを名乗るべきではないと言い続けて来たわけです。

 O/Rマッパはボトルネックを重ねることになるので、レベルが低い技術者以外にとっては必ず非効率になりトレードオフはない。

 しかし、MySQL Cluster: NoSQLは、O/Rマッパとは違い、ボトルネックになるDB Engine、SQLをショートカットしている。この形が理想で、工数を見てSQLを使うか、パフォーマンスを見てAPI(NoSQL)を使うか、選択の余地が出てくる。

 商用RDBMSでこの動きはなかなか起きないとは思いますが、是非とも起きて欲しいと思う。

 まだ、ちらっとしか見てないけれど、勉強したい人はこれお勧めです。

 

MySQL Cluster構築・運用バイブル ?仕組みからわかる基礎と実践のノウハウ

MySQL Cluster構築・運用バイブル ?仕組みからわかる基礎と実践のノウハウ