RDBにとってかわる?NoSQLの現在と未来
リレーショナル・データベースに変わってNoSQLと呼ばれるデータベースが話題となってしばらく経ちます。実際に業務で利用する機会も増えていますが、まだ主流というわけではなく、そもそもNoSQLが何かもはっきり理解していない技術者も多くいます。ここではNoSQLとはどういうものか、そして現在と今後の展望について以下に簡単にまとめました。
Contents [hide]
NoSQLというデータベースの意味と登場の背景
NoSQLはNoSQLと思われがちですがNotonlySQL、「SQLだけではない」と解釈するのが主流です。もとは今までのデータベースとは違うという意味で提唱され始め、現在ではリレーショナル・データベース(RDB)とは異なるという意味で使われています。NoSQLの登場の背景には、データが膨大になるにつれRDBは性能的が劣化するという問題があります。RDBは集計などいろいろな機能を持ちますが、Webシステムなどではそれらは必ずしも重要ではありません。いくつかの機能をあきらめるかわりに大規模データを扱いやすくしたのがNoSQLといえるでしょう。
大規模データを安全で高速に!NoSQLのメリット
NoSQLのメリットはまず大規模データを扱っても性能が劣化しないということです。RDBではデータを1テーブルごとに管理し整合性を保つためロックを行うことが多く、データ量が大きくなるとアクセスが遅くなりがちです。一方NoSQLはデータを分散して保存することが多いのでそのような問題は生じません。またデータを複数のデバイスに分散可能なものが多く、デバイスを増やすことで簡単にスケールアウトが可能です。データを別のデバイス上に複数保存することもできるので冗長性の確保が簡単なのもメリットです。
NoSQLのデメリット!小規模ならRDBが有利
NoSQLのデメリットはまず小規模システムでは利点が生かされないことです。データ自体の容量が少なければその格納方法がどうかはさほど問題ではありません。冗長性の確保についてもデータが多ければデータを分割方法の問題が生じますが、少なければ分割せずに単にサーバーを多重化すれば良いだけです。他のデメリットはNoSQLはデータが分散しているため、データ全体に対する集計といった処理は不得意で複雑な解析などには向かないことがあります。
NoSQLとRDBの現在と今後の展望
大規模データをあつかう機会が増えるにつれてNoSQLの存在感は増しています。しかしNoSQLはデータが多い場合に有用で、それ以外ではまだまだRDBが主役なのも確かです。RDBとNoSQLを場合によって使い分けたり組み合わせたりしているのが現状と言えるでしょう。さらに最近ではRDBとNoSQLを組み合わせたNewSQLというデータベースも現れ始めています。将来はこのようなハイブリッドなデータベースが主流となるかもしれません。
利点を生かしたNoSQLとRDBの使い分けが重要
NoSQLの重要性は増していますが、現状ではRDBにとってかわるほどではありません。NoSQLとRDBのメリットデメリットを理解して使い分けるのが重要となっています。一方でNewSQLなど新たなDBがトレンドとなる可能性もあり、常に情報を取り入れる必要があります。