BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ホワイトペーパーがリリースされた:SQL Azureにおけるシェーディング

ホワイトペーパーがリリースされた:SQL Azureにおけるシェーディング

原文(投稿日:2010/12/14)へのリンク

昨日、マイクロソフトは、Michael Heydt氏とMichael Thomassy氏によって書かれたsharding with SQL Azure(SQL Azureにおけるシャーディング)という新しいホワイトペーパーをリリースした。SQL Azureは現在、インスタンスごとに50GBの制限があり、さらに大きなサイズで、アプリケーションのスケールアウトに成功するためには、水平パーティショニングを採用しなくてはならない。ホワイトペーパーの趣旨は、データレイヤのリソースの弾力性と流動性が必要なアプリケーションをどのように設計するのかである。

ホワイトペーパーは、以下の内容を提供している。

  • 水平パーティショニング/シャーディングの基本コンセプト
  • パターン&ベストプラクティスの概要
  • 現状のそれ自身の挑戦
  • ADO.NET標準ライブラリの高レベル設計
  • SQL Azureフェデレーションの紹介

水平パーティショニングは、通常同じデータベースインスタンスの中で、行ごとにひとつ以上のテーブルに分割する。これにより、インデックスサイズが小さくでき、セオリーではより早いデータの取得が可能になる。対照的にシャーディング(sharding)では、テーブル間の同期を行うために通知とリプリケーションを行い別々のハードウェアにある複数のインスタンスにまたがるテーブルに分割することによって、同じ問題に対応する。

マイクロソフトのシャーディングパターンでは、「シャーディングキー」がデータエンティティのプライマリキーとして、分割されたデータを特定するために使用される。関連するデータエンティティは、関連セットとして共有シャードキーに格納され、このユニットは、原子ユニットと呼ばれる。すべてのレコードは、原子ユニットとして、同じシャードに格納される。加えて、キーのリバランスは、物理的インフラを変更するため、シャードのリバランスプロセスは、オフラインで行うべきである。

マイクロソフトは、データベースレベルで分割をサポートしたSQL Azureフェデレーションを2011年にリリースする予定である。今のところ、すべての分割機能は、ADO.NETを使ってアプリケーションレベルで実装する必要がある。これは、代替機能であるMongoDB、CouchDB、SimpleDBなどの「NoSQL」がすでにシャーディングをサポートしているのとは対照的である。

この記事に星をつける

おすすめ度
スタイル

BT