InfoQ

News

RAMが新たなるディスクとなる...

作者 Steven Robbins, 翻訳者 中村 弥生 投稿日 2008年7月1日 午前6時28分

コミュニティ
Architecture
トピック
データアクセス,
パフォーマンス&スケーラビリティ,
クラスタリング&キャッシング
タグ
データベース,
MySQL,
GigaSpaces
過去40年間においてテクノロジーに多大に貢献した男、Jim Gray氏(リンク・英語)が、メモリは新たなるディスクであり、またディスクは新たなるテープであると名言したことにより賞賛を受けている。膨大なスケーラビリティを要する“リアルタイム”のアプリケーションとシステムの拡散に伴ってハードウェアとソフトウェアはこのミームにどのように関係してくるのだろうか。

グリッドコンピューティングが話題の的になる以前(リンク・英語)、Tim Bray氏は(リンク・英語)ディスカッションの中でRAMとネットワーク周辺の発展がディスククラスタよりも速かったRAMクラスタの創造にどのように貢献したかを指摘した。
メモリはデータへのランダムなアクセス用のディスクよりも数桁以上速い。(一番ハイエンドなディスクストレッジのサブシステムでさえも1000シーク/秒に達するのには難しい)
二つ目にデータセンターのネットワークが速くなるのと共にディスクよりもメモリにアクセスする事だけでなく、ネットワークを通してもう一つのコンピューターのメモリにアクセスする方が安上がりなのだ。Sun社のInfiniband製品ラインはそれぞれ30GBit/秒で動作する9つの相互接続された非ブロック性のポートを伴ったスイッチを備えている。すごい!上記に掲載されているVolaire製品は更にたくさんのポートを備えている。ぎょっとしてしまう。(もしあなたがこの種の超高パフォーマンスネットワークに関して極めつけの一言が聞きたかったらAndreas Bechtolsheim氏のStanfordレクチャーを見る事を勧める。)
またTim氏はGray氏のステートメントの二つ目に関する真実を指摘した。 “ランダムなアクセスにはディスクはいらいらするほど遅いのです;でももしあなたがディスクはテープドライブであると仮定すればものすごい率でシーケンシャルのデータを取り入れる事ができるのです。元来RAMに入っているアプリケーションをログ、ジャーナルするのには打ってつけなのです。”


今その二年間先に行ってみるとRAMとネットワークのためにハードウェアは発展し続け、一方ディスクに対しては停滞していた。Bill McColl氏は膨大なメモリシステムが(リンク・英語)パラレルコンピューティングに有効になると話している。
メモリが新たなるディスクだ!ディスクスピードの成長が遅く、メモリチップの容量の成長が飛躍的であるとインメモリのソフトウェアアーキテクチャは全ての種類のデータインテンシブアプリケーションのパフォーマンスに桁違いの向上をもたらす可能性がある。テラバイトかそれ以上の小さな(IU、2U)ラックマウントのサーバがまもなく入手可能になり、サーバアーキテクチャ内のディスクとメモリのバランスに対する私たちの考え方を変える事だろう。またディスクは新たなるテープとなりランダムアクセス用のツール(とても遅い)としてというよりもむしろシーケンシャルストレッジのツールとして同様に使用されるだろう。(ディスクからのストリームは適度に速い)既存の製品に比べて10から100倍向上した新たな製品を作る機会はそこらじゅうに転がっているのだ。

Dare Obsanjo氏はTwitterの課題をおろそかにする事がどのようにネガティブな影響を及ぼすか(リンク・英語)を指摘している。Twittersのコンテンツマネジメント風実装に関してコメントをしているObsanjo氏は“問題はもし単純にその問題文を反映したデザインを実装するのであれば私たちはディスクに入ってしまう、言い換えると地獄に行ってしまうというところなのです。Ruby on Rails、Cobol on Cogs、C++かもしくはマニュアルでコードされたアッセンブリ、何を使おうが関係なく、読み込み、書き込みロードが全てを台無しにしてしまうのです。言い換えるとランダムアクセスの動作をRAMに押し込んでディスクをシーケンシャル動作の為だけに使用するということです。”と述べている。

Hadoop Coreの(リンク・英語)委員であり、またHadoop プロジェクト運営委員のTom White氏は(リンク・英語)Gray氏の“ディスクが新たなテープとなる”という発言に関してより深く掘り下げた。MapReduceプログラミングモデルに関して議論する際にWhite氏はディスクがなぜまだHadoopのようなツールのためのアプリケーションデータストレージツールとして使用可能なのかを(リンク・英語)指摘した。

実質的にMapRedceはディスクのトランスファー率でディスクから流れ出て、またディスクへ流されるデータを反復的にソート、マージすることによって動作しているのだ。これをシーク率で動作する関連性データベースからデータにアクセスするのと比較してみて欲しい。(シークとはデータの読み込み、書き込みのためにディスクの先頭をディスクのある特定の場所に配置するというプロセスである)それではなぜこれが面白いのでしょう。なぜならシークタイムとトランスファー率の傾向に目を向けてみよう。シーク時間は年間で5%成長し、一方トランスファー率は20%成長している。という事はシーク時間の成長率はトランスファー率よりも遅いのだ。だからトランスファーで動作するモデルを使う事には価値があるのだ。そしてMapReduceがこの役割を果たしているのである。
しかしながらSolid State Drives(SSD)がシーク、トランスファー率を変化させるかどうかはまだ分からずWrite氏の議論に対して沢山のコメンテーター達は(リンク・英語)それらがRAM、ハードドライブに関するディベートの平準係数であるかもしれないと(リンク・英語)感じている。


Nati Shalom氏はメモリがどのようにデータベースのデプロイメントとMySQLの使用において有利に働くかという事に関して筋の通った議論を行った(リンク・英語)。Shalom氏はパフォーマンス性とスケールを提供するツールとしてのデータベースクラスタリングとデータベースパーティショニングの制限を強調し、“データベース複製とデータベースパーティショニングにおける基本的な問題はデータベースクラスタを設定する際の複雑性とファイルシステムとディスクのパフォーマンスにおける依存性なのです。”と述べている。
彼が提案したソリューションはアプリケーション用のサービスとして持続性を提供するためハイバーネートセカンドレベルキャッシュかもしくはGigaSpaces Spring DAOのようなテクノロジーにバックアップされたインメモリデータグリッド(IMDG)に釣り合うようになっている。Shalom氏はIMDGに関してメモリ内でオブジェクトベースのデータベース能力を提供し、またアドバンスインデックスとクエリ、トランザクショナルセマンティック、ロッキングのようなコアなデータベース機能をサポートすると説明している。またIMDGはアプリケーションコードからデータトポロジーを抽象化する。このやり方で、データベースは完全に排除される事無く“適切な”場所に置かれる。
ディレクトRDBMSインタラクションにおけるIMDGの主要な利点は下記の通りである。
  • ファイルシステムよりも断然速くまたより並列のメモリに依存している
  •  リファレンスがデータにアクセス可能
  • データ操作がインメモリのオブジェクト上で直接的に行われる
  • 削減されたデータ要素用の競合
  • 並列に集合したクエリ
  • インプロセスローカルキャッシュ
  • オブジェクト関連マップを防ぐ (ORM)

あなたが最終的にアプリケーションとハードウェアに関する考え方を変える必要があるかどうかはあなたがそれらを使用して何をするかに関わってくる。世論調査は今日パフォーマンスとスケーラビリティに対するデベロッパ達のソリューションが変わって来ている事を示している。

原文はこちらです:     http://www.infoq.com/news/2008/06/ram-is-disk

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

ジャンル別一覧

Googleの分散処理技術(マルレク2006 第1回より)

Web2.0 に対する関心は、引き続き高いものがあります。 ただ、その関心は、新しいビジネス・モデルと、プログラミング・スタイルの二つの分野に集中しているように思えます。 今回のセミナーでは、Google のサービスの基礎である分散処理技術に注目します。

Jean Tabaka氏による「Collaboration Explained--真のアジャイルチームのためのファシリテーションツール」

Jean Tabaka氏の書いた書籍では、会議などのチーム活動において、ファシリテーションの手法とツールについて具体的かつ実践的に説明しています。8/8(金)、Agile2008の最終日の朝のセッションでは、Jean Tabaka氏自身が本の内容をベースとしたセッションを行いました。

Hubert Smits氏による「ゲーム・デザイン・ワークショップ」

Agile2008の4日目となる8/6(木)の8:30から、Hubert Smits氏による「ゲーム・デザイン・ワークショップ」がおこなわれました。ゲームと言っても単なる遊びではなく、「フレームゲーム」と呼ばれる、グループでの情報収集や意志決定、また教育やトレーニングの教材として使えるいろいろなゲームです。

スケーラビリティに関するベストプラクティス:eBayからの教訓

eBayが日々挑んでいる主要なアーキテクチャの勢力は、スケーラビリティです。これはアーキテクチャや設計に関するあらゆる意思決定を特徴づけたり、駆り立てたりします。

インタビュー: Emmanuel Bernard氏にBean Validation仕様について聞く

Bean Validationフレームワークの初期ドラフトに関する以前の記事に続き、InfoQは専門家グループが求めているコミュニティの関与と提案について理解を深めるため、Emmanuel Bernard氏と対談しました。

ポーカーに学ぶ、ソフトウェア開発のレッスン

ポーカーは他のトピックにも広く適用できるような数少ない教えを私にもたらしてくれたと信じています。実際私はソフトウェアを開発すればするほど、これら二つの仕事は非常に似ていると言う確信の度合いを深めています。

InfoQがBPEL4PEOPLEの代表と対談

恒例の「バーチャルパネルセッション」で、InfoQは新しいOASIS BPEL4People技術委員会の代表と対談をし、この作業が何故必要であるかについて彼らのフィードバックを得る機会を得ました。

CLR上でのドメイン特化言語の構築

ドメイン特化言語は最近非常に人気が高まっている話題です。これは恐らく、Rails現象に起因していると考えられます。Railsの人気と、Railsにおけるドメイン特化言語(以降、DSL)の大規模な使用は、DSLに対する広範な関心を呼び起こしました。