検索
連載

RDBではうまくいかなくなってきた理由NoSQLベストプラクティス(2)(2/2 ページ)

本連載では、「NoSQLデータベースの今」を正しく理解し、ビジネス躍進の実現に向けて対策していくための「ベストプラクティス」を掲示していきます。今回は「RDBではうまくいかなくなってきた理由」の基礎と背景を解説します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

リレーショナルデータベースは現代的アプリケーション開発には合わない

 現代のアプリケーションは、Java、JavaScript、Python、C#などのオブジェクト指向言語で開発されます。これらの言語では、データ構造をデータとコード(属性とメソッド)を含む「オブジェクト」として扱います。このようなデータの扱い方はRDBとは大きく異なるために、データベースとアプリケーションプログラミングの間でインピーダンスミスマッチが発生します。

 これを回避する策に「ORM(Object-Relational Mapping:オブジェクト関係マッピング)」があります。しかし残念ながらこの手法では、オブジェクト内のデータの興味深い部分を保持できません。データを取り出してバラバラにしてしまう上、処理のオーバーヘッドが増える課題も残ります。

 一方のNoSQLデータベースは、構造が柔軟なためにこのような問題が発生しません。データベース内のデータに合わせたモデリングができ、業務的な観点から論理的に表現することもできます。

 従来のリレーショナルアーキテクチャでこれを行うならば、パフォーマンスが損なわれ、またコードのバグが増える可能性もあります。今日望まれるスピーディなアプリケーション開発サイクルでは、ユーザーはインタラクティブ(対話式)かつ対応性の高いやりとりを求めています。リレーショナルモデルはこれにもうまく適応できません。

 だから開発者は、リレーショナルモデルのミスマッチの回避策を探す代わりに、より具体的でパフォーマンスが高速なNoSQLデータベースのような新しいモデルを受け入れ始めているのです。

現代のデータ問題に、従来の技術だけを使い続けて解決するのは無理がある

 ここまでの説明で、RDBが抱えている課題、そして現代のデータ問題の解決に、従来のテクノロジーだけを使い続けるのは無理があるということを分かっていただけたでしょうか。こうした問題に対する新しいアプローチがNoSQLデータベースです。

 次回は、NoSQLデータベースはどのような問題を具体的に解決しようとしたのか。そのアプローチやベストプラクティスを解説したいと思います。

筆者紹介

三浦デニース(Denise Miura)

photo

マークロジック株式会社日本法人代表。ソフトウェア開発ならびにwebテクノロジーに関して25年以上の経験を持ち、さまざまなエンジニアリング、コンサルティング、管理職などの要職を歴任。前職はSilicon Graphics、E*TRADE Financial、Blue Martini Software(日本法人代表取締役)など。カーネギーメロン大学卒(コンピュータサイエンス専攻)


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る