More Related Content
Similar to クラウドの原理とパラダイム 第一章 (20)
More from Kazuki Aranami (14)
クラウドの原理とパラダイム 第一章
- 1. 第一章 クラウドの定義
第一節 本稿の目的とその対象と読者の方々
第二節 Googleの定義と米NIST(国立標準技術研究所)の定義
第三節 クラウドをクラウドたらしめるもの
第四節 スケールアウトを実現できるソフトウェアたち
第二章 CAPとBASE、ACIDの呪縛
第一節 なぜスケールアウトできるのか?
第二節 トランザクションモデル
第三節 ローカルトランザクション
第一項 フラットトランザクション
第四節 グローバルトランザクション
第一項 入れ子トランザクション
第二項 分散トランザクション
第五節 ACID特性
第六節 CAP定理
第七節 BASE特性
第八節 なぜ我々はACID特性の呪縛に捕らわれたのか?
第三章 分散システムの基礎知識
第一節 データセンター間の地理的レプリケーション(Geo-Replication)
第二節 分散システムにおける同期(クロック)
第三節 P2P技術を適用した分散相互排他アルゴリズム
第四章 分散システムとしてのクラウドの技術
第一節 Google - BigTable
第二節 Amazon - Dynamo
第三節 Microsoft - Windows Azure
第四節 OSS - Apache Cassandra
第五章 P2Pと複雑ネットワーク
第六章 セキュリティーとプライバシー
第一節 クラウドにおける仮想マシンのセキュリティー
第二節 CDNサービスによるDDoS攻撃の回避
第三節 法律
第七章 総括
第一節 分散システムとしてのクラウドのこれから
- 3. ウド・コンピューティング社会の基盤に関する研究会」報告書および、経済産業省が平成
22 年 8 月にまとめた「クラウドコンピューティングと日本の競争力に関する研究会」報告
書が参照する、米 NIST(国立標準技術研究所)の定義を用います。なお、米 NIST の定義
は、日本の最大手の SIer のひとつである NTT データも採用しています。
Google の定義
とても簡単に、インターネットを経由して受けるサービスを、すべてクラウドと言って
いる。ただし、インターネットを経由して受けるサービスであっても、リソースの制約を
受けてスケーラブル(柔軟に拡張できる)ではないものは、クラウドとは呼べない。
(グーグル エンタープライズ プロダクト マーケティング マネージャー:藤井彰人氏)
「クラウドならではのイノベーション起こす」グーグル藤井氏 - CIO 公開質問状:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20100204/344147/
米 NIST(国立標準技術研究所)の定義
クラウド・コンピューティングとは、設定可能なコンピューティング・リソース(例え
ば、ネットワーク、サーバー、ストレージ、アプリケーション、そしてサービス)から構
成される共有層へ、オンデマンドなネットワークアクセスを可能し、活用可能なモデルの
ことである。それらのリソースは、最小限の管理手順とサービスプロバイダーとのやり取
りにより、プロビジョニング(迅速に資源の割り当てと解消)がなされなければならない。
このクラウドモデルは、5 つの本質的な特徴と、3 つのサービスモデル、そして 4 つの開
発モデルで構成され、スケーラビリティを促進させるものだ。
The NIST Definition of Cloud Computing,Authors: Peter Mell and Tim Grance,Version
15, 10-7-09,National Institute of Standards and Technology, Information Technology
Laboratory
http://csrc.nist.gov/groups/SNS/cloud-computing/cloud-def-v15.doc
以上が、本書で用いるクラウドの定義です。何が本質かわかりましたでしょうか?
クラウドをクラウドたらしめるもの
クラウドの定義から導き出されるのは、コモディティ化した廉価なコンピューターリソ
- 5. 本稿では、主に KVS(Key Value Store、キー・バリュー型データストア)と呼ばれるもの
を取り上げます。
KVS は、そのデータ構造上、従来のリレーショナル・データベースで利用できた SQL
これは SQL に慣れた開発者にとってみると、
をすべてそのまま取り扱うことができません。
敷居の高いものとなり、KVS を扱うための専門的なノウハウが必要となります。その点に
注意する必要があります。もちろん、そのまま SQL が使えるソフトウェアも存在します。
スケールアウトを実現できるソフトウェアたちは、他にも Oracle TimesTen In-Memory
Database、IBM solidDB、VoltDB のようにインメモリー型データベースがあります。この
ようなソフトウェアは、ミリ秒からマイクロ秒と非常に高速に SQL がそのまま実行できま
す。このようなメリットを享受できる反面、全データをメモリー上に配置しなければなら
ず、パフォーマンス上の観点からも 64bit 化も不可欠となり、コストがかかります。従って、
パフォーマンスとコストとのトレードオフとなり、その効果に対する検討が必要となりま
す。
本稿で中心的に取り上げる KVS は、それらから見て相対的な位置づけによるものです。
Apache Cassandra
Apache HBase
Amazon Dynamo
Google BigTable
IBM WebSphere eXtreme Scale
Microsoft Windows Azure Table Storage
Oracle Coherence
Yahoo! Research PNUTS/Sherpa
NTT 未来ねっと研究所 Kai
グリー Flare
筑波大学 Kumofs
Mixi Tokyo Cabinet / Tokyo Tyrant
楽天 ROMA
表 1 スケールアウトを実現できるソフトウェアたち