データベースを扱う上で最も哲学的な作業:スキーマ定義。最初にどう定義するかによって今後の拡張性、パフォーマンスに大きく影響してきてしまいます。未来にシステムがどう進化していくのか、それがわからないとこれが正解という完璧な答えのない作業、それがスキーマ定義です。もしスキーマ定義をもうしなくていいとしたら、、、
ドキュメント指向データベース
ドキュメント指向データベース。
RDBMSやカラムナデータベースと比べて、まだそこまで派手に陽の目を見れてはいませんが、利用者は着々と増えているような気がします。Googleトレンドで見てみても、Cassandraと比べると、だいぶ小さな規模ですがmongodbが確実に伸びてきています。

もう疲れたよ。行? 列? スキーマ?
開発者がデータストアに求められることは表の形にデータを収めることではありません。データを保存して、保存したデータを取ってこれることです。そのシンプルな形がファイルシステムだと思っています。
それに加えて検索したり、整合性を保ったり、結合したりと色々な要望を効率的に満たすために表の形になっているのではないでしょうか。そしていつの間にか、データは表になっていることが当たり前になっており、表同士に関係をもたせたりしながらあらゆるデータを入れてきました。
もし、別の方法で効率的にこれらの欲望を満たせるのであれば、データは表の形で入っている必要はないはずです。
ドキュメント指向のデータベースには、表のような形でデータを保持しません。表に見立てた形で保存することはもちろん可能です。ドキュメント指向データベースの有名所CouchDBも、MongoDBもKeyValueStoreのようにIDに対してデータが入っているのですが、IDに対してツリー構造のデータが入り、そのツリー構造を効率的に扱えるような仕組みが取り入れられています。そのため、最初から決められたカラムなどはなく、自由にデータを入れ、それを効率的に取り出すことができるようになってます。
この記事は参考になりましたか?
- クラウド時代のデータストア連載記事一覧
- この記事の著者
-
得上竜一(トクガミリュウイチ)
株式会社マイニングブラウニー代表。
高校卒業後、電力会社の通信部門へ。社内にいくつもASがあるようなIP網やPDH,HDLCなどのL2以下のネットワークの保守を担当。その後パソコン・家電の激安店で価格調査と価格設定のシステムを開発。現在は進化させたそのシステムでインターネットの情報を集めるため...※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア