Windows Azure TableをRDBMSと比較する

Windows Azure Table ストレージの「テーブル」 今回の解説に入る前に一つお知らせがあります。これまで1週間程度かかっていたWindows Azureのトークンの取得ですが、2009年9月3日よりプロダクトコードが即時発行されるようになりました。これで今までより容易にWindows

田中 主夫

2009年9月8日 20:00

Windows Azure Table ストレージの「テーブル」

 今回の解説に入る前に一つお知らせがあります。これまで1週間程度かかっていたWindows Azureのトークンの取得ですが、2009年9月3日よりプロダクトコードが即時発行されるようになりました。これで今までより容易にWindows Azureを体験できるようになったのではないかと思います。

 前回は、Windows Azureの簡単な紹介と、クラウドOSの要となるストレージを中心に解説しました。第2回となる今回は、Windows Azureの「テーブル」とはどのようなものなのか、リレーショナル・データベース・マネージメント・システム(以降RDBMS)のものと比較しながら見ていくことにします。

 ハードウエアの性能向上により、今日ではRDBMSのテーブルに画像ファイルを格納することも多くなりましたが、以前はファイル名はテーブル、本体ファイルは外部、といった具合に分けて保存することが多かったのです。

 Windows Azureストレージでは従来こうした使い分けが行われており、画像を格納するBlob、そしてファイル名などを保存するTableという構成になっています。このWindows Azure Table(Key-Valueストア型)は低コストでスケーラビリティーに優れますが、機能や操作性については、やはりSQL ServerがベースのSQL Azure(リレーショナル型)に一日の長があるようです。

 スケーラビリティーのための分散処理の仕組みの詳細については、3ページの資料をご参照いただくとして、ここでは実際にWindows Azure Tableにテーブルを作成しデータを格納、その検索を行うことで、このストレージの特徴を把握していくことにします。

Windows Azure Table ストレージにテーブルを作成する

 Windows Azure Tableは、Partition KeyとRow Keyの2つのキー項目の組み合わせで一意になるように設計されています。まずは単純に「Partition Keyが番号付きのテーブル名」で「Row Keyがシリアル番号」ととらえて進みます。図1-2をご参照ください。

 前回記事(http://thinkit.jp/article/1019/1/)のBlobストレージの操作で利用したAzure Storage Explorerでテーブルを作成します。作成の際に指定するのはテーブル名のみです。テーブルにデータを登録することもできますが、ここで設定できる値はPartition KeyとRow Keyだけです(図1-3参照)。

 データ本体となるのはEntitiesの部分ですが、この構造の定義はプログラムファイル内で行います。Azure Table ExplorerではEntitiesの値を登録することはできません。

 このあたりは、はじめ筆者もかなり戸惑ったところなのですが、Windows Azure Tableでは固定のスキーマはなく、スキーマ情報はWindows Azure Tableには格納されていません。つまりRDBMSにあるような辞書テーブルはWindows Azure Tableでは存在しません。

 従って、RDBMSでテーブルの構造を参照するための「describe テーブル名」のようなコマンドを実装するとしたなら、構造確認のために実際にサンプルとなるデータを取得する必要があります。また同じテーブルであっても、サンプルとして採用したデータによりEntitiesの構成が異なって見えることもある、ということです。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30