技術的には一長一短
RDBMSの牙城に食い込むNoSQLデータベース
急速な変化に応じてWebアプリケーションをスケーラブルに運用するニーズがWebサービス企業を中心に起こっている。それによって、かつて主流だったリレーショナルデータベース(RDBMS)に代わり「NoSQL」が脚光を浴びている。
1922年に自動車メーカーの米Ford Motorの創業者ヘンリー・フォード氏が、こう記したことはよく知られている。「顧客は好きな色の車を買うことができる。それが黒である限り」
最近まで、ITマネジャーやアプリケーション開発者、ビジネス幹部がデータベース技術を選ぶ際も、同様の限られた選択肢しかなかった。SQLプログラミング言語による操作を前提に構築されるリレーショナルデータベース(RDBMS)が、企業のITや業務システムのエンジンとして支配的な地位にあり、有力な対抗馬は見当たらなかった。
しかし、状況は変わった。2000年代半ば以降、米Yahooや米Google、米Facebook、米Amazon.com、米eBayといった企業の技術的な取り組みを背景に、SQLの圧倒的な優位性は崩れていった。こうした大手インターネット企業などでは、急速に変化する多様な要件を持つ極めてスケーラブルなWebアプリケーションを運用する必要があることから、主流のRDBMSに代わる選択肢が模索されるようになった。
これらの試みから、SQLの厳格な開発原則から離れて柔軟でスケーラブルなデータ設計に重点を置いた新しい技術の流れが起こり、ここ数年で大きなうねりとなっている。こうしたデータベースは幾つかの異なる製品カテゴリーに分かれており、さまざまなデータモデルに基づいている。だが、これらはいずれも、強い主張を感じさせる簡潔かつ包括的な用語で総称されている。それが「NoSQL」だ。
しかし、実はNoSQLを推進する動きは、RDBMSに対抗し、その一掃を目指す革命ではない。確かに、一部のNoSQLベンダーは、それが彼らの最終目標であるかのような口ぶりだ。しかし、NoSQLデータベースの多くはSQLの要素も含んでいることが認識されるようになり、NoSQLという言葉は、否定的な主張を排した「Not only SQL」(SQLに限らない)という意味を持つとも考えられるようになっている。
さらに重要なことに、NoSQL技術は、リレーショナルソフトウェアに大きく取って代わるものとして位置付けられているわけではない。頻繁なアクセスや更新が必要な大規模データセットを通常含む特定用途向けに構築されることが多い。これまでのところ、そうした形で利用が進んできている。NoSQLデータベースは、急激に増加するWebやソーシャルメディア、ユーザー統計、マシンのデータを抱える企業で必須となっている。しかし、多くの場合、データの処理や分析のワークロードをSQLベースのソフトウェアと共有している。
例えば、新興企業の米Crittercismは、8億台以上のモバイルデバイスから収集されるリアルタイムデータを基に、企業のモバイルアプリケーションのパフォーマンス監視を支援している。アプリケーションパフォーマンス管理の用語では、ユーザーによるアプリの操作は「リクエスト」と呼ばれるが、Crittercismは、1秒当たり3万件以上のリクエストに関する情報を取り込んでいる。1日当たりでは30億件近くに達するペースだ。これまでに蓄積されたデータは20Tバイトを超えており、この総量はどんどん増える一方だと、事業開発担当副社長を務めるラーズ・カンプ氏は語る。
これらのデータには、アプリケーションエラー、クラッシュ診断、Crittercismが言うところの“ネットワークのパンくず”に関するデータが含まれる。この“ネットワークのパンくず”は、アプリの問題につながるネットワーク呼び出しなどの処理イベントの痕跡を記録するものだ。そのデータは、「非常に非構造的かつ不均一であり、顧客やアプリケーションごとに大きく異なる」と、Crittercismのオペレーションエンジニアリングディレクターを務めるマイク・チェスナット氏は説明する。
効果は明確、普及はまだ道半ば
関連する情報が膨大な量で、かつ多様であることから、データ形式の設定を行うための斬新なアプローチが必要になった。もしリレーショナルソフトウェアを使っていたら、全ての情報に対応可能なデータベーススキーマを維持するために大きな処理オーバーヘッドが発生していただろうし、スキーマ変更に伴うダウンタイムも頻発していただろうと、チェスナット氏は語る。さらに同氏は、Crittercismはデータの収集および格納方法を、「大抵は1日に何回も、動的に変更できなければならなかった」と付け加える。カンプ氏はもっと単刀直入だ。SQLしか選択肢がなかった「10年前であれば、Crittercismは会社として成り立たなかっただろう」
そこで「MongoDB」の出番となった。CrittercismはこのNoSQLデータベースを米Amazon Web Services(AWS)のクラウドに導入して使っている。他のNoSQL技術と同様に、MongoDBでは柔軟なスキーマ設計が可能だ。そのおかげでCrittercismは、エラーデータとクラッシュデータを1つの“コレクション”(MongoDBにおいてリレーショナルテーブルに相当)に格納できるようになり、それらの情報に厳格なスキーマを強制する必要がなくなった。また、フィールドが統一された固定的なデータ構造がないため、Crittercismのパフォーマンス管理サービスは、さまざまな顧客のニーズに合わせて「有機的に進化できるようになった」と、チェスナット氏は語る。
同氏によると、さらにCrittercismは、AWSのNoSQLデータベース「Amazon DynamoDB」を使って、特に高いパフォーマンスを要求する特定のリクエストパスのデータを格納しているという。しかし、Crittercismのデータベースアーキテクチャには、SQLも含まれている。オープンソースデータベースの「PostgreSQL」が高度にリレーショナルなオペレーションデータを保持しており、全ての情報がAWSのSQLベースのデータウェアハウス「Amazon Redshift」で分析およびリポート用に要約される。チェスナット氏も同僚も、NoSQLだけに固執しているわけではない。「われわれは、われわれの問題解決と顧客への対応向上に役立つあらゆる技術を精力的に追求している」(同氏)
最近の調査は、NoSQLデータベースがビッグデータユーザーに普及してきていることを示している。しかし、総じて導入率はまだ比較的低い。例えば、米TechTargetの読者調査「2013 Analytics & Data Warehousing Reader Survey」では、ビッグデータプログラムを稼働中または構築中の回答者222人のうち21%が、その取り組みの一環としてNoSQLシステムを使っているか、導入を計画していることが分かった。
米Enterprise Management Associatesと南アフリカの9sight Consultingが2013年に行った別の調査も、ほぼ同じ結果になっている。回答者259人のうち22%が、NoSQLプラットフォームを運用していると答えている。米The Data Warehousing Instituteによる調査では、ビッグデータ管理の経験がある回答者189人のうち32%が、自社はNoSQLデータベースを使っているとしている。それでも、この割合は回答項目の中で最も低く、他の項目(RDBMS、データアプライアンス、列指向データベース、ビッグデータプラットフォームとしてよく使われる「Hadoop」)をいずれもかなり下回っている。
NoSQLは今後、データセンターへの導入が進む見通しだ。アナリストグループの米Wikibonは2013年に、NoSQLソフトウェアおよびサービスの世界売上高が2012年の2億8600万ドルから増加を続け、2017年には18億2500万ドルに達するとの見通しを示した。ベンチャーキャピタリストはそうした成長に大きく賭けている。MongoDB(同名のデータベースの開発を主導)は、2013年秋に1億5000万ドルの新規資金調達を行った。NoSQLベンダーの米DataStaxが4500万ドル、米Couchbaseが2500万ドルの資金調達を行って間もなくのことだ。
技術的には一長一短、市場にはRDBMSベンダーも活発に参入
大手RDBMSベンダーもNoSQLを手掛けるようになっている。米Oracleは2011年末にNoSQLデータベースを発表。2013年の「NoSQL Now!」カンファレンスではリードスポンサーに名を連ね、Oracle幹部が基調講演を行った他、2つの技術セッションを実施した。
米IBMも2013年6月、RDBMS「DB2」をMongoDBのAPIに対応させ、ユーザーがDB2にデータをJSON(JavaScript Object Notation)形式で格納できるようにした。また、DB2はグラフやXMLデータも扱える他、IBMは2014年3月、JSONベースのデータベース「CouchDB」のホステッド版を提供するNoSQLベンダーの米Cloudantを買収した。米Microsoftもクラウドプラットフォーム「Microsoft Azure」の一部としてNoSQLデータストアを提供している。
アプリケーション主導のデータニーズやクラウドコンピューティングの普及拡大を背景に、NoSQL技術を利用する機会が広がっていると、市場調査会社の米IDCのデータベースアナリスト、カール・オロフソン氏は指摘する。しかし、その一方で同氏は、NoSQLの導入を、上場して間もない企業への株式投資になぞらえ、ITマネジャーやビジネス幹部に注意を促している。
「ほとんどのNoSQLデータベースは新しい。まだ実運用の現場で鍛える必要がある」とオロフソン氏。「データ定義を頻繁に変更していて、RDBMSに対する変更が十分に速くできない場合、NoSQLに目が向くかもしれない。だが、リスクもある」
1つには、NoSQL技術は一般的に、RDBMSとは異なり、トランザクションの整合性を保証する完全なACID機能を提供しない。ACIDは、Atomicity(原子性)、Consistency(一貫性)、Isolation(隔離性)、Durability(耐久性)を指す。さらに、NoSQL技術は、ディザスタリカバリ、セキュリティ、データ品質といった分野でエンタープライズクラスのサービスが欠けていることが多いと、オロフソン氏は説明する。同氏も他のアナリストと同様に、市場の成熟化に伴い、今は多数ひしめいているNoSQLベンダーの淘汰が起こると予想している。
「NoSQLデータベースは、XMLやJSONデータを扱うのが非常に得意だ。これらの処理には、Java開発者が最近取り組んでいる多くのことが関わっている」と、米TechTargetの業界アナリストで、コンサルティング会社の米Eckerson Groupの社長を務めるウェイン・エッカーソン氏は指摘する。NoSQLデータベースは特に、「大量の読み書きが行われる」ハイパフォーマンスWebアプリケーションによく適していると、同氏は語る。ただし、「長時間クエリ」などの複雑な分析ジョブにはあまり向かないという。
NoSQLソフトウェアが実現する高速化メリット
米Exelateのデータベースアーキテクチャには、これらのことが反映している。Exelateは、マーケティングデータサービスおよび技術のプロバイダー。世帯の統計や購入動向の情報をオンライン広告主およびパブリッシャーに提供している。
「われわれの仕事はデータが生命線だ」と、共同創業者で最高技術責任者(CTO)を務めるエラド・エフレーム氏は語る。NoSQLは最高のパフォーマンスを提供してくれると、同氏は付け加える。Exelateは、7年前の設立時にはNoSQL技術を利用していなかった。だが、サービスのスピードアップが必要になり、エフレーム氏とそのチームは、最終的にインメモリNoSQLデータベース「Aerospike」を導入した。Aerospikeを使うことで、Exelateのインフラのスケーリングを行い、1カ月当たり1兆件ものリアルタイムデータトランザクションを高速に処理することが可能になっている。
Aerospikeは、Webサイト訪問者のユーザーセッションアクティビティに関するデータのハイパフォーマンスなリポジトリを提供するが、このデータは刻一刻と更新されていると、エフレーム氏は説明する。「われわれのこの大規模システムは、『数ミリ秒で読み書きが完了する』という要件に対応できる非常に高い能力を持っている。われわれにとって肝心なのは、われわれのデータアクセスの仕組みを工夫して、顧客がデータを意思決定に役立てられるようにすることだ」
このNoSQLデータベースは、世界4カ所の完全にレプリケートされたデータセンターのサーバで動作する。全データのインデックスをメモリ上に作成し、さらに処理が行えるようにサーバクラスタで保持する。そこからデータを掘り下げたり、アナリティクスシステム内やバックオフィスシステム内の他の情報と関連付けたりすることができる。
しかし、Exelateのアプリケーションは、それを実現するためにNoSQLソフトウェアだけを利用するわけではない。Aerospikeリポジトリの上のレイヤーには、「至って一般的な」RDBMSの「MySQL」が位置し、顧客によるデータ集約を可能にすると、エフレーム氏は説明する。ExelateはIBMのデータウェアハウスアプライアンス「Netezza」とRDBMSも、アナリティクス用のデータウェアハウスシステムとして使っている。
ヘンリー・フォード氏の言葉を借りれば、今やExelateやCrittercismのようなユーザーの選択肢は、かつて定番だった黒い車になぞらえられるRDBMSだけに限らない。こうしたユーザーは、NoSQLという新しい色の選択肢を利用して、主流のリレーショナルソフトウェアが適さないアプリケーションの活用を推進している。しかし、黒い色と同じ位置付けとなるSQLが、ITユーザーの間で完全に廃れることはなさそうだ。当分の間、この2つの技術はデータベース分野の中ですみ分けていく見通しだ。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「データストレージの活用方法」に関するアンケート
-
4
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
5
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
6
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
7
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
-
8
レガシー基幹システムをSAPに統合 山善が突き止めた「標準化と個別最適」の境界線
-
9
AI完全自律化はわずか9% 日本は「進化に追い付けない経営陣」が足かせに
-
10
LLMの「過学習」、正しく説明している文章はどれ?
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー