第1回:データベースを取り巻く状況 (2/4)

近未来データベース
近未来データベース

第1回:データベースを取り巻く状況
著者:NTTデータ先端技術  鈴木 幸市   2005/8/8
前のページ  1  2   3  4  次のページ
なぜデータベースのスケールアウトは難しいのか

   Webサーバやアプリケーションサーバとデータベースサーバの違いは、共有データを処理するかどうかにあります。

   Webサーバの場合は、それぞれのWebサーバが別々のブラウザを相手にしており、ブラウザ同士の動きには関連はありません。ですからWebサーバは、別のブラウザを相手にしている限りは別のサーバを気にする必要はなく、それぞれ勝手に動くことが可能です。アプリケーションサーバも同じで、基本的にはWebアプリケーションは1つのブラウザだけを相手にしていて、他のブラウザには関係がありません。

   一方データベースは、基本的には共通データを管理します。共通データとは、複数のブラウザから同時に読み書きされる可能性があるデータのことです。

   例えば、Webページでの投票でYes/Noを集計する場合を考えます(図2)。

Yesを数える
図2:Yesを数える

   あるブラウザからYesが入力されると、現在のYesの数を読んでこれに1を加え、これをYesの数に書き戻します(面倒なようですが、コンピュータの中ではこのように演算するしかないのです)。

   この間に別のブラウザが同じようにYesの数を読み、これに1を加えてしまうと、全体としての結果は誤ったものになってしまいます。この場合最初のブラウザがYesの数を増やし終わるまで、次のブラウザは待っていなければならないのです(図3)。

共有データの処理では交通整理が必要
図3:共有データの処理では交通整理が必要

   データベースはこのようなデータの読み書きが正しくできるように、多くの機能を提供しているのです。この場合注意してほしいのは、この「Yes」の数を記録する場所(メモリでもディスクでも)は、何個のブラウザがこのサービスにアクセスしていたとしてもただ1つであるということです。ですからいくらデータベースの性能が悪いからといって、単純にデータベースサーバを増やしても、Yesの格納場所が2つになってしまうだけで、このままでは正しく処理はできません(図4)。

共有データを増やしてもあまり意味がない例
図4:共有データを増やしてもあまり意味がない例

   非常に単純な例でしたが、アプリケーションの「共有データ」を扱うデータベースにとってシステムの中に複製があっては困るので、単純にスケールアウトすることが大変難しいことはおわかりいただけると思います。

   アプリケーションサーバはスケールアウトできると書きましたが、ここでも複数のブラウザを相手にする際に共有データが必要になることがあります。この場合にも、データベースの場合と同様に共有データに矛盾なく複数のアプリケーションが読み書きできるようにしなければならなくなり、単純にはスケールアウトできなくなります。

前のページ  1  2   3  4  次のページ


NTTデータ先端技術株式会社 鈴木 幸市
著者プロフィール
NTTデータ先端技術株式会社  鈴木 幸市
Unixにおける日本語ハンドリング、Oracleの移植、オブジェクトリレーショナルデータベースのエンジンの開発などに携わる。現在、NTTデータ先端技術にてLinux、PostgreSQLなどのオープンソースソフトウェアに関する技術を統括している。著書に「RDBMS解剖学」(翔泳社)、訳書に「オブジェクト指向データベース入門」(共立出版)など。


INDEX
第1回:データベースを取り巻く状況
 はじめに
なぜデータベースのスケールアウトは難しいのか
 データベースとはどんなソフトウェアか
 信頼性
近未来データベース
第1回データベースを取り巻く状況
第2回データベースのスケールアウト(前半)
第3回データベースのスケールアウト(後半)
第4回データベースレプリケーション
第5回データベース技術者を育むために

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30