グーグルが構築した大規模システムの現実、そしてデザインパターン
Googleによる大規模Webシステムのスケールアップの技術に関する記事があったのでメモ。
【元ネタ】
グーグルが構築した大規模システムの現実、そしてデザインパターン(1)~MapReduce編 - Publickey
グーグルが構築した大規模システムの現実、そしてデザインパターン(2)~BigTable編 - Publickey
グーグルが構築した大規模システムの現実、そしてデザインパターン(3)~教訓編 - Publickey
グーグルが構築した大規模システムの現実、そしてデザインパターン(4)~デザインパターン編 - Publickey
SaaSを実現する場合、ハードウェア(特にサーバー)のスケールアップ技術は必須。
多分そこには、たくさんのノウハウが必要。
「アムダールの法則」にあるように、CPUをたくさんつなげたとしても、性能は向上しない。
マルチコアCPUが今流行しているが、理論上は制約がある。
Googleの技術で特徴的なことは、「信頼性はソフトウェアによって実現される」こと。
MapReduce、BigTableなどのように、並列処理に向くソフトウェアを大規模システムで使うこと。
そうすれば、ハードウェアの性能をフルに使える。
Erlangや関数型言語が静かに流行しているのも、並列処理に強い特徴があるからだろう。
日本でも、はてなやMixiでも大規模Webシステム構築のノウハウがあるはず。
色々調べてみたい。
| 固定リンク
「ソフトウェア」カテゴリの記事
- 「RedmineのUbuntu+Docker構築への移行」の感想 #redmineT(2024.11.24)
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのenum型はシングルトンクラスみたいだ(2022.06.20)
- テスラが従来の自動車メーカーと異なるところは工場までソフトウェア化すること(2022.02.09)
- 「RubyやRailsは終わった」という記事のリンク(2022.01.09)
「ソフトウェア工学」カテゴリの記事
- チームトポロジーの感想~大規模アジャイル開発でも組織構造は大きく変化する(2025.01.01)
- Redmineは組織のナレッジ基盤として実現可能なのか~島津製作所の事例を読み解く #redmineT(2024.12.29)
- アーキテクチャ設計はベストプラクティスを参照するプロセスに過ぎないのか?~Software Processes are Software, Too(ソフトウェアプロセスもまたソフトウェアである)(2024.09.22)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
コメント