このブログシリーズの第1部と第2部では、リレーショナルデータベースと非リレーショナルデータベースのスケーラビリティの基本的な違いをいくつか見てきました。この投稿では、これらのデータベースを正しく使用する方法と、これらのデータベースを使用している有名な企業について説明します。
リレーショナルデータベース
このブログシリーズの最初の部分では、ACIDプロパティについて説明しました。これらのプロパティは、緊密なトランザクション統合を維持するために重要です。銀行、小売など、各トランザクションでACIDプロパティが必要な業界がいくつかあります。銀行取引では、1つの口座に貸方が記入される場合、別の口座から借方に記入する必要があります。データの整合性に影響を与えるため、部分的な更新は許可されません。このシナリオでは、Oracle、SQL Server、MySQL、およびその他のRDBMSが使用されます。
非リレーショナルデータベース(NoSQL DB)
このブログシリーズの最初の部分では、BASEプロパティについても説明しました。これらは、データベース内のすべてのノード間でデータの一貫性を保つために重要です。厳密なデータ整合性を必要としない情報は、NoSQLDBに保存できます。たとえば、検索エンジンシステムのコンテンツは、情報をすばやく取得するのが簡単なため、非リレーショナルデータベースに保存できます。検索エンジンシステムの良い例はGoogleです。 Googleは通常、キャッシュされたWebページを定期的に更新されるWebレイヤーに保存します。これらのデータベースは、分散環境でテラバイトの履歴データ(たとえば、過去5年間の銀行のクレジットカード取引)を保存できます。 SQLのようなHIVEデータウェアハウスソフトウェアを使用すると、NoSQLDBのデータを簡単に分析およびマイニングできます。 NoSQL DBは、大量の非構造化データを格納するために使用でき、テキスト分析にも適しています。
これらのデータベースを使用している上位の組織をいくつかリストしました:
リレーショナルデータベース
SQL Server:LG Electronics、MySpace、HiltonHotels。
オラクル:British Telecom、MasterCard、Reliance Ltd.
MySQL:Facebook、Twitter、LinkedIn。 FacebookはMySQLを使用して、ステータスの更新、共有、いいねなどのユーザーインタラクションを保存します。
非リレーショナルデータベース
CouchBase:LinkedIn、AdAction。
カサンドラ:Facebook、Twitter、Digg。
MongoDB:LinkedIn、Pearson。
Neo4j:Cisco、eBayなど
これまで見てきたように、Facebook、Twitter、LinkedInなどの企業は、要件に基づいて、リレーショナルデータベースと非リレーショナルデータベースの両方を使用しています。
それでは、このシリーズの最初の部分に戻り、次の質問に答えてみましょう。
リレーショナルデータベースはビッグデータを処理できますか?
リレーショナルデータベースはスケーラブルですか?
リレーショナルデータベースは、現代のデータ要件に適していますか?リアルタイム分析、非構造化データの処理など?
これらすべての質問に対する答えは、激しい「はい」です。この社会の世界では、リレーショナルデータベースがなくなることはありません。データセットの性質と複雑さに基づいて、適切なデータベースを使用する必要があります。リレーショナルデータベースと非リレーショナルデータベースには、それぞれ長所と短所があります。正しい環境設定では、Facebook、Twitter、LinkedInのように、リレーショナルデータベースと非リレーショナルデータベースを適切な方法で利用できます。