グーグルが構築した大規模システムの現実、そしてデザインパターン
Googleによる大規模Webシステムのスケールアップの技術に関する記事があったのでメモ。
【元ネタ】
グーグルが構築した大規模システムの現実、そしてデザインパターン(1)~MapReduce編 - Publickey
グーグルが構築した大規模システムの現実、そしてデザインパターン(2)~BigTable編 - Publickey
グーグルが構築した大規模システムの現実、そしてデザインパターン(3)~教訓編 - Publickey
グーグルが構築した大規模システムの現実、そしてデザインパターン(4)~デザインパターン編 - Publickey
SaaSを実現する場合、ハードウェア(特にサーバー)のスケールアップ技術は必須。
多分そこには、たくさんのノウハウが必要。
「アムダールの法則」にあるように、CPUをたくさんつなげたとしても、性能は向上しない。
マルチコアCPUが今流行しているが、理論上は制約がある。
Googleの技術で特徴的なことは、「信頼性はソフトウェアによって実現される」こと。
MapReduce、BigTableなどのように、並列処理に向くソフトウェアを大規模システムで使うこと。
そうすれば、ハードウェアの性能をフルに使える。
Erlangや関数型言語が静かに流行しているのも、並列処理に強い特徴があるからだろう。
日本でも、はてなやMixiでも大規模Webシステム構築のノウハウがあるはず。
色々調べてみたい。
| 固定リンク
「ソフトウェア」カテゴリの記事
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのenum型はシングルトンクラスみたいだ(2022.06.20)
- テスラが従来の自動車メーカーと異なるところは工場までソフトウェア化すること(2022.02.09)
- 「RubyやRailsは終わった」という記事のリンク(2022.01.09)
- 実践した後に勉強するのがエンジニアの本来の道(2022.01.09)
「ソフトウェア工学」カテゴリの記事
- 「ソフトウェアアーキテクチャ・ハードパーツ」の情報リンク~マイクロサービスの設計技法の課題は何なのか(2023.11.12)
- パッケージ原則とクラス原則の違いは何なのか(2023.10.14)
- パッケージ設計の原則の意義は変化しているのか(2023.09.30)
- QAエンジニアの役割は開発チームのガードレールみたいなものという考え方(2023.08.21)
- テストアーキテクチャ設計モデルとJSTQB概念モデルの比較(2023.07.02)
コメント