スケール アウト と は。 “スケールアウト”と“スケールアップ”の違いは?

Dell EMCのスケールアウトNAS「Isilon」が「PowerScale」に名称変更、11TBの小規模から導入可能に

スケール アウト と は

今回は、データベースをスケールアウトさせるにはどうすればよいのかを解説します。 基本的なアイデア スケールアウトとは、何台もサーバを並べて全体で処理能力を上げる方法です。 WebサーバやJavaのアプリケーションサーバの場合には、共有データが必要ない場合が多いので、単純にサーバを増やして、負荷分散装置(あるいはサーバと不可分散ソフトウェア)を使えばスケールアウトが可能でした。 一方データベースは本質的に共有データを扱うソフトウェアなので、そうは簡単にはいきませんが、図1に示すように、2つの方法のスケールアウトが考えられます。 SQL文を処理するサーバの台数を増やす• データを格納するサーバの台数を増やす 2については、前回の解説から、有効性はご理解いただけるでしょう。 データベースの性能を決める上では、ディスクの性能が大きな影響をあたえるので、データを格納するサーバを増やして、1台あたりに格納するデータの量が増えないようにしておけば、これらのサーバが連携して全体の性能が上がります。 1については、前回解説しませんでしたが、SQLの処理速度の問題があります。 SQL言語は非常に複雑な言語で、C言語と比べても文法は3倍程度複雑です(注1)。 注1: C言語の文法を記述しているファイルよりも、SQLの文法を記述しているファイルの方が3倍程度大きいのです。 どちらの文法も、yaccとよばれるツールで記述されている例があるので、このような比較ができます。 しかもC言語は、あらかじめコンパイルしてサーバが直接処理できるバイナリ命令に変換しておくことができますが、SQLの場合は、相手のデータベースの状態がわからなければ処理できないのです(注2)。 注2: 例えば、あるテーブルの全部のタプルを取り出すSQLを考えます。 この場合は、Tab1という名前のテーブルが実際にデータベース内にあるかどうかを確認しないと、データは取り出せません。 このように、SQL文の実行手順は、実際にデータベースの中を調べなければ決められないのです。 つまりSQL文の場合、基本的には実行時に命令を解釈するため、実行手順を作り出す必要があるのです。 これには相当の時間がかかります。 これを軽減するために、ストアドプロセジャといって、あらかじめ決まったSQLをデータベースに入れておく手段もありますが、この能力も限られています。 そのため、SQLの処理部分を担当するサーバを増やすことにも意味があるのです。 もう一度、図1のサーバ構成を見てみましょう。 SQLの構文を処理するサーバとデータを格納するサーバが複数台、相互に接続されています。 一見複雑そうですが、基本は上記の1と2のアイデアの組み合わせです。 図1を出発点として、このような構成を作り上げるための主な技術的背景を解説していくことにします。 1 著者プロフィール NTTデータ先端技術株式会社 鈴木 幸市 Unixにおける日本語ハンドリング、Oracleの移植、オブジェクトリレーショナルデータベースのエンジンの開発などに携わる。 現在、NTTデータ先端技術にてLinux、PostgreSQLなどのオープンソースソフトウェアに関する技術を統括している。 著書に「RDBMS解剖学」 翔泳社 、訳書に「オブジェクト指向データベース入門」 共立出版 など。 この記事の評価をお聞かせください ボタンをクリックしますとウインドウが開きます。 INDEX 第2回:データベースのスケールアウト(前半) 近未来データベース 第1回.

次の

スケールアウトとは

スケール アウト と は

サービス• コンピュート• コンソール• ストレージ• ネットワーキング• その他• サービス• スケールアウトとは、システムを構成するサーバーの台数を増やすことで、システムの処理能力を高めることをいいます。 たとえば、1台につき1分に10件のリクエストを処理できるWebサーバーがあったとします。 Webサーバーをさらに1台増設することで、1分間に20件のリクエストが処理できるようになるという発想です。 また、何らかのトラブルでサーバーが故障しても別のサーバーでカバーできるため、システムの可用性が高まり安定運用が可能です。 「スケールアウト」と「スケールアップ」の違い スケールアウトと対照的な方法として「スケールアップ」があります。 サーバー台数を増やすスケールアウトに対し、スケールアップはCPUやメモリなどのサーバースペックを増強することでシステムの性能を向上させることをいいます。 では、必要な時に必要なだけサーバーリソースを用意できるため、スケールアウトを容易に行うことができます。 スムーズなインフラの増強や、急なアクセス増にも柔軟に対応可能で、APIを利用してオートスケールの構築もできます。

次の

[ThinkIT] 第2回:データベースのスケールアウト(前半) (1/4)

スケール アウト と は

(イラスト・アニメーション:岸本 ムサシ) 今回の回答者: 黒河内 倫 楽天 DU グループインフラ構築・運用課 ネットワーク構築・運用グループ マネージャー サーバーやネットワークといったインフラの性能を上げる方法の一つに「スケールアウト」があります。 また、似た言葉で「スケールアップ」もあります。 この二つの違いを、Webサービスを提供するサーバーを例に説明しましょう。 スケールアップは、サーバーのCPUやメモリーといったハードウエアを高性能なものにして処理性能を上げる方法。 一方のスケールアウトは、サーバーの数を増やすことで性能を上げる方法です。 後者の場合、1台1台が高性能でなくても、大量のサーバーで同じWebサービスを動かせば処理性能を上げられます。 スケールアップより構築コストが安く済む、1台くらいサーバーが停止してもWebサービスを提供し続けられる、というメリットがあります。 ここ数年、インフラ構築ではスケールアウトが注目されてきています。 二つの方法は、一般的にサーバーの種類で使い分けられます。 通常、Webサーバーはスケールアウトで、データベース(DB)サーバーはスケールアップで処理性能を上げます。 DBでスケールアウトを使わない理由は、分散したサーバーで処理を継続するのが難しいためです。 しかし近年はDBの機能が向上し、スケールアウトでも処理がしやすくなっています。 そこで最近では、各種サーバーでスケールアウトとスケールアップの二つを同時に用いることもあります。 スケールアップしたサーバー上で、仮想サーバーをいくつも動かすのです。 仮想サーバーとは、サーバーの中でソフトウエア的に作ったサーバーのことです。 高性能なサーバーならば、たくさんの仮想サーバーを作って動かせます。 仮想サーバーは、サーバー管理者が簡単な設定をするだけで自由に数を増減できます。 この数を増やしたときが、スケールアウトというわけです。

次の