オラクルなどの負荷分散、スケールアウトを実現するNetScaler

この内容をPDFで読む

[PDF] インテリジェントなSQL負荷分散によるデータ層のスケーリング

エグゼクティブサマリー

ソーシャルネットワーク、ビデオ、モバイル、Web の普及により、情報の爆発的増加が発生し、データ管理の分野では大きな業界変化が引き起こされています。膨大な量の構造化/非構造化データに対する可視性とビジネスインテリジェンスを提供することは、従来的なデータベース、クラウドストレージモデル、Hadoop のような非構造化ファイルシステムに対して多くの要求を突きつけています。この結果、上昇する顧客ニーズは、データインフラストラクチャの効果的なスケーリング、保護、最適化を行う方向への転換点を迎えることになります。今日の飛躍的なデータの増加に対処するために、Citrix NetScaler は、ネイティブSQL データの負荷分散ソリューションを提供することによりこの課題に取り組みます。NetScaler は、ADC(アプリケーション デリバリー コントローラ)として業界で初めて、Web 層におけるスケーラビリティ、可用性、セキュリティを強化するメリットを、データベース層へと拡張します。

膨大なデータへの対処

構造化/非構造化データの増加

過去数年間で、利用可能なデータの量は爆発的に増大しています。オンライントランザクションレコード、政府機関データ、様々なビットレートのモバイルビデオ、オンラインデジタルメディア、Twitter やFacebook のアップデートなど、いずれについて語るにせよ、「構造化」データと「非構造化」データの両方ともに大きく増加しています。拡大し続けるWeb およびモバイルアプリケーションのおかげで、インターネットユーザーはより多くの時間をオンラインで過ごすようになり、彼らは自分が移動するあらゆる場所でデータを残すようになっています。特に構造化データは、Web 2.0 の登場とムーアの法則の直接的な結果として、このデータの爆発的な増加を経験しています。

転換点

メインフレームのようなシステムとは対照的に、スケーラビリティと弾力性を実現するx86 ベースのデータベースサーバーソリューションをターゲットとする企業やクラウドプロバイダの数が増加するに伴い、多くの企業は自社のIT 部門に現在のソリューションの再検討を要請する転換点を迎えています。特に従来的なデータベースは、性能スケール、セキュリティ、高可用性をコスト効率良く達成しなければならないという困難な課題を企業に突きつけます。例えば、大規模なSMP(対称型マルチプロセッシング)システムを使用した垂直スケーラビリティ(スケールアップ)は非常に高価です。同様のスケーラビリティを達成するためのスマートな方法、特に近年注目されている非構造化データに関する性能、弾力性、全体的なセキュリティとコンプライアンスを満たすような方法が求められています。このことは、オンデマンドで拡張でき、コスト効率の良い効果的な高可用性を実現するとともに、アップグレードに際しては既存のインフラストラクチャの大幅な入れ替えを必要としない、シームレスなソリューションを必要とする顧客にとっての重大な分岐点を形成しています。

現在のアプローチが不十分である理由

従来的なスケールアップとスケールアウトには以下の特徴があります。

  • スケールアップ:一部の企業は、データベースのクラスタリング技術を組み合わせることで垂直的な「スケールアップ」を行い、単一のデータベースリソースに対してより多くのキャパシティを追加することができます。しかし、このアプローチでは、企業は必要なハードウェアコストやライセンスコストが急増することや、自社の望むソリューション状態がオンデマンドで増分スケーリングを行えないことを認識できません。
  • スケールアウト:上記とは異なり、より多くのデータベースをプロビジョニングすることにより「スケールアウト」を実現します。各データベースは、従来的なTCP ロードバランサかオープンソースのSQL プロキシをフロントエンドとして、完全に複製されたデータストアを処理します。これらのロードバランサやSQL プロキシは、SQL リクエストの内容には関与せず、高度な状態監視機能も持たないため、スケールアウトに関する表面的な問題しか解決できず制限付きの可用性しか提供できません。結果として、汎用的なTCP ロードバランサを使用してデータベースのスケールアウトを実現しても、顧客の実際のペインポイントを解決できません。

高可用性(HA)の観点からは、HA 対応で設計する場合に両方のスケーリングオプションを使用すると、高価で複雑になり、新規インフラストラクチャに関するROI を低下させることになります。各データベースサーバー上でエージェントを使用するデータベースセキュリティは扱いにくい上に高価であり、中央に一元化されていないレコード生成は、不測の事態への対応が困難になります。

必要とされているものは何か?

今日のデータベース層の課題は、1990 年代のインターネットの爆発的普及期に見られたWeb 層の課題に非常によく似ています。今日ではあらゆる企業がHTTP ロードバランサを配備することによりWeb 層の課題に対処し、スケーラビリティ、信頼性、可用性、セキュリティを実現しています。このことから類推するならば、データ層向けの負荷分散ソリューションは、以下の主要な機能を持つ必要があります。

  • SQL プロキシライクなソリューション:SQL 接続管理のオフローディングを実施することにより、データベースのスケールアップシナリオでSQL 接続上限を引き上げることを可能にします。
  • TDS プロトコルおよびSQL トランザクション向けのインテリジェントな負荷分散:バックエンドサーバーの状態(スレーブレプリケーションのバックログを含む)を正確に監視することにより、データベースのスケールアウトに最適な負荷分散を可能にします。
  • 高可用性:マスター/マスターおよびマスター/スレーブの両方のレプリケーション配備に対応することにより、データベーススケーリングを完了します。コモディティハードウェアを使用して低コストの高可用性を実現するためには、スケールアップとスケールアウトの両方のアプローチで、高度なクラスタリングに匹敵する自動IPフェイルオーバー機能が可能になります。
  • データベースセキュリティ:ユーザーログインに関連するアクティビティを記録します。このログ情報は、コンプライアンスを目的として、レコード管理を簡素化するために一か所で生成されます。