Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

もうスキーマ定義とかしなくていいんだよ

edited by DB Online   2011/10/25 07:00

データベースを扱う上で最も哲学的な作業:スキーマ定義。最初にどう定義するかによって今後の拡張性、パフォーマンスに大きく影響してきてしまいます。未来にシステムがどう進化していくのか、それがわからないとこれが正解という完璧な答えのない作業、それがスキーマ定義です。もしスキーマ定義をもうしなくていいとしたら、、、

ドキュメント指向データベース

 ドキュメント指向データベース。

 RDBMSやカラムナデータベースと比べて、まだそこまで派手に陽の目を見れてはいませんが、利用者は着々と増えているような気がします。Googleトレンドで見てみても、Cassandraと比べると、だいぶ小さな規模ですがmongodbが確実に伸びてきています。

Googleトレンドで見るCassandra,CouchDBとmongoDB
Googleトレンドで見るCassandra,CouchDBとmongoDB

もう疲れたよ。行? 列? スキーマ?

 開発者がデータストアに求められることは表の形にデータを収めることではありません。データを保存して、保存したデータを取ってこれることです。そのシンプルな形がファイルシステムだと思っています。

 それに加えて検索したり、整合性を保ったり、結合したりと色々な要望を効率的に満たすために表の形になっているのではないでしょうか。そしていつの間にか、データは表になっていることが当たり前になっており、表同士に関係をもたせたりしながらあらゆるデータを入れてきました。

 もし、別の方法で効率的にこれらの欲望を満たせるのであれば、データは表の形で入っている必要はないはずです。

 ドキュメント指向のデータベースには、表のような形でデータを保持しません。表に見立てた形で保存することはもちろん可能です。ドキュメント指向データベースの有名所CouchDBも、MongoDBもKeyValueStoreのようにIDに対してデータが入っているのですが、IDに対してツリー構造のデータが入り、そのツリー構造を効率的に扱えるような仕組みが取り入れられています。そのため、最初から決められたカラムなどはなく、自由にデータを入れ、それを効率的に取り出すことができるようになってます。

※この続きは、会員の方のみお読みいただけます(登録無料)。


※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 得上竜一(トクガミリュウイチ)

    株式会社マイニングブラウニー代表。 高校卒業後、電力会社の通信部門へ。社内にいくつもASがあるようなIP網やPDH,HDLCなどのL2以下のネットワークの保守を担当。その後パソコン・家電の激安店で価格調査と価格設定のシステムを開発。現在は進化させたそのシステムでインターネットの情報を集...

バックナンバー

連載:クラウド時代のデータストア

もっと読む

All contents copyright © 2007-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5