SQL Azure データベース - Center

Download Report

Transcript SQL Azure データベース - Center

セッション ID: T 1-312
クラウド時代の
データベース
ベスト プラクティス
-企業情報システムをクラウドへ移せマイクロソフト株式会社
コミュニケーションズ・セクター
シニア・テクノロジー・ストラテジスト
畠山 大有
セッションの目的とゴール
Session Objectives and Takeaways
セッションの目的
SQL Azure の特性を理解する
SQL Azure に移行するためのポイントを
理解する
セッションのゴール
SQL Azure を前提にしたシステム設計・
開発・運用時の留意点考慮した実装ができる
SQL Azure と RDBMS 間での最適な
データ移動方法にて実装できるようになる
SQL Azure ならではの活用方法を知る
3
アジェンダ
アジェンダ サブタイトル
SQL Azure 概要 (おさらい)
SQL Azure への移行
方式
ベスト プラクティス
SQL Azure の活用
まとめ
4
SQL Azure 概要
最近の強化点
SQL Azure 概要
単純化された展開
使った分払い
高可用性と
フォールト トレラント
ロード バランス
自動管理・
自動ヘルス チェック
物理サーバーや
仮想マシンの管理が
不要
業務対応の SLA
マルチテナント
高い複数サーバーの管理性
全世界での展開
既知の
リレーショナル
モデルでの開発
既存の開発・
管理ツール/スキル
ビジネスのスピードに
対応する
開発のスピード
業務の革新: データに関わる衝突を最小化し、
新しいビジネス ハブとしての価値創造
6
SQL Server と SQL Azure
を採用
メインラインでは
• 信頼性
• パフォーマンス
• セキュリティ
等の基本機能を強化
メインラインを安定した状態
に保つため、新機能の開発
は別ラインで実施
7
SQL Azure Service Update 4 !
クラウド内のデータベースバックアップ
CREATE DATABASE
モニタリング: sys.dm_database_copies, sys.databases
同一サーバー / 別サーバー
ログインユーザーのアクセス権設定
コピー元と先で、ID/Password を同一に
コピー元: dbo
コピー先: サーバー レベル dbmanager ロール
Project “Houston” CTP1 全部のデータセンターに
Server1
DB1
Server2
DB1’
DB1’
What's New in SQL Azure Service Update 4:
http://msdn.microsoft.com/en-us/library/ff602419.aspx
8
データベース作成・変更・削除・
バックアップ
CREATE DATABASE sqlazure01
GO
ALTER DATABASE sqlazure01
MODIFY (MAXSIZE=10GB)
GO
DROP DATABASE sqlazure01
GO
デフォルトは
MAXSIZE=1GB, EDITION= ‘ web ’
MAXSIZE のみでも
EDITION 連動変更
CREATE DATABASE sqlazure_backup
AS COPY OF sourcesver.sqlazure01
GO
SELECT * FROM sys.dm_database_copies
GO
master データベースにて実行すること!
9
非同期処理
データベース コピー
異なるサーバー間で
データベース ノード
リソースは共有されている
1 サーバー に
データベース ファイルと
ログ ファイルは、全ての
論理データベースにて
Machine
SQL Server Instance
master
シーケンシャル IO/グループ
コミットによって、最適な
スループットを実現
ファイルの自動拡張はさせない
tempdb
msdb
SQL DB
DB1
パーティションは、個々の
スキーマで独立
製品障害からの回避のための
ローカル バックアップ
DB2
master
DB5
DB1
DB6
DB3
DB4
DB7
master データベース は
システム データベースではない
11
NEW!
SQL Azure の運用
考慮事項
DBA の視点から
設計
ジョブ実行
アプリケーション
セキュリティ
高可用性/障害対策
開発
配置
SQL Agent が無い
課金利用状況
IP Filtering
SQL 認証のみ
データベース暗号化が未サポート
INDEX は REBUID のみ、
REORGANIZE はできない
ネットワーク遅延
パフォーマンス
RDBMS
OS
物理ストレージ
12
監視
ファイル グループが無い
バックアップ/リストアで
特定時点には戻せない
DBCC SHOW_STATISTICS のみ
DMV 全て提供はされていない
Project "Houston" CTP 1
SQL Azure Web based Management
Windows Azure 上に構築
のみで
アクセスできる!
オブジェクト管理
DB
表示
表示
DB 切り替え
T-SQL の実行
未保存のデータも警告
13
Project "Houston" CTP 1
クライアント環境にとらわれない DB
管理
SQL Azure への移
行
移行方式とツール
データベースの移行ステップ
1) SQL Server 2008 R2 へ
2) SQL Azure へ
スキーマ
(1 – 数度)
RDBMS 移行
RDBMS 移行
SQL Azure 移行
SQL Server
Version 移行
データ
(頻繁)
一度に移行 (戻すことも)
同期
ETL
16
SQL Azure Migration Wizard
スキーマとデータの移行ツール
メリット
SQLAzureMW.exe.config にて設定変更可能
バッチスクリプトの生成
互換性分析
BCP 利用
の作成を
試みる
注意点
ユーザー
BCP のデータはローカルの
ファイル システム上にできる
SQL Relational Engine の完全なる
パーサーではない
17
SQL Server Management Studio
スクリプトの生成ウィザード
SQL Azure ネイティブ対応
[データベース エンジンの種類に
対応したスクリプト]
="
"
非サポート オブジェクトなどの
修正は必要
INSERT 文も生成可能
トランザクション時間軽減のため、
適時 "GO"
ラウンドトリップを最小化するため
"SET NOCOUNT ON "
" N ’ xxx ’ "は自動出力
スクリプトは保存しておく
一度でうまくいかないケースもある
18
DAC (Data-tier Application)
パッケージ
DB アプリケーション ライフサイクルを考
慮した
DAC パッケージ
Developer: Visual Studio 2010
スキーマと DB の開発
コード管理、比較など
DBA: SQL Server Management Studio 2008
R2
DAC 単位での配置/更新
19
インポート/エクスポート ウィザード
単純なスキーマとデータ移行
複雑な SSIS ジョブの
テンプレートとしても活用
データベースは事前に作成
データ プロバイダー
"SQL Server Native Client
10.0" は OLE DB を
デフォルトで使うため注意
20
SQL Server からの移行
SQL Azure Migration Wizard
DAC パッケージ
SQL Server 移行: まとめ
SQL Azure
Migration
Wizard
スクリプト生成
ウィザード
DAC
スキーマ
√
√
√
データ
√
√
大きなデータ
√
22
インポート/
/エクスポー
ポート
SSIS
BCP
√
√
√
√
√
√
√
異なる RDBMS からの移行
Microsoft SQL Server
Migration Assistant
(SSMA)
SSMA for MySQL v1.0
MySQL 4.1 以降
テーブル、ビュー、ストアドプロ
シージャ、
ストアドファンクション、
トリガー、カーソル、
DML ステートメント、
コントロールステートメント、トラ
ンザクション制御
SSMA 4.2 for
Oracle/Sybase/Access
Oracle 7.3 以降
Access 97 以降
Sybase ASE 11.9 以降
23
クラスター化
インデックス対応
SQL Server の
PRIMARY KEY 制約は
デフォルトがクラスター化イン
デックスに
$$rowid 疑似列の自動付与
MySQL からの移行
Microsoft Migration Assistant for
MySQL
SQL Azure への移
行
ベスト プラクティス
大きなデータをどうするか?
正しいツールの選択
BCP
SSIS
SQL Server と同じ
ネットワーク パフォーマンス
遅延 と 帯域
接続性
26
クラウド共通
ネットワーク パフォーマンス
/
/
遅延 = 距離 = 物理制約
長距離はそのまま遅延の長期化に
並列処理により補える
帯域幅 = 太さ = 一度に送れるパケット量
一度帯域幅に達してしまうと並列処理でも補えない
接続性 = 切断のリスク
インターネットという回線を使う
遅延
帯
域
幅
27
Microsoft Windows Azure Datacenter
North Europe
North
Central US
We are Here! ! !
Central Europe
South
Central US
Asia Pacific
Southeast
Asia
データセンターの場所
ユーザーから 100 ms 以下
リージョン データセンター間の
間の遅延が 200 ms 以下
最低 1 つのリージョンデータ
センターまで、100 ms 以下
検証場所がないか、200 ms 以上
28
BCP
単純なバルク コピーとして
利用ケース
なインポート/エクスポート
ベスト プラクティス
最速へのデータベース側の事前準備
非クラスター化インデックスの無効化。ロード後に作成
インデックス上でのソート順
トリガー/制約の無効化
-n: データ変換が不要なネイティブ モード
"-c" 互換性のためのキャラクター モード
-b: トランザクションサイズのコントロールを
するためのバッチ データサイズ
-h "TABLOCK, ORDER (…)" 書き込み処理の
最適化
29
SSIS
柔軟かつ強力なデータ転送環境
データ フロー タスク
フラットファイル、ADO.NET、OLEDB
(SQL Azure は対応していない)
ループ、ソート、条件式
XML Web サービス
Visual Studio 上のデバッガー
ベスト プラクティス
(BCP と同じく) 最速へのデータベース側の
事前準備
バッチサイズ: トランザクションサイズ
バッファーとしての Windows Azure Blog
並列処理
30
BCP 1 GB データ転送検証
単純な 1 テーブル
1 行 142 バイト
8,000,000 行
BCP のみ
データ ファイルは、
1 ファイルのみ
-F, -L オプション
サンプル テーブル
CREATE TABLE LINEITEM
(L_ORDERKEY
bigint not null,
L_PARTKEY
int not null,
L_SUPPKEY
int not null,
L_LINENUMBER
int not null,
L_QUANTITY
float not null,
L_EXTENDEDPRICE
float not null,
L_DISCOUNT
float not null,
L_TAX
float not null,
L_RETURNFLAG
char (1) not null,
L_LINESTATUS
char (1) not null,
L_SHIPDATE
date not null,
L_COMMITDATE
date not null,
L_RECEIPTDATE
date not null,
L_SHIPINSTRUCT
char (25) not null,
L_SHIPMODE
char (10) not null,
L_COMMENT
varchar (44) not null);
CREATE CLUSTERED INDEX L_SHIPDATE_CLUIDX
ON LINEITEM (L_SHIPDATE) ;
CREATE INDEX L_ORDERKEY_IDX ON LINEITEM (L_ORDERKEY) ;
CREATE INDEX L_PARTKEY_IDX ON LINEITEM (L_PARTKEY) ;
SQL Customer Advisory Team Blog: Loading data to SQL Azure the fast way:
http://blogs. msdn.com/b/sqlcat/archive/2010/07/30/
loading-data-to-sql-azure-the-fast-way.aspx
31
BCP 1 GB データ転送検証: 結果
14 890,3
60
15 000
51,6
40
8 820,9
10 000
15,5
9,4
20
5 000
2 584,9
0
BCP: 1
BCP: 4
0
BCP: 8
BCP:1
6
50 000
5,1
4,1
5
4,5
35 493,1
40 000
4
30 000
3
20 000
2
BCP:8
41 550,2
26 165,7
10 000
1
0
0
BCP: 1
32
BCP:4
BCP: 4
BCP: 8
BCP: 1
BCP: 4
BCP: 8
BCP 1 GB データ転送検証: 考察
パフォーマンス
は極めて有効
帯域幅
バッチサイズをネットワーク帯域に合わせて
調整
接続性
ネットワーク接続性とデータ整合性のリスクを
考えるのであれば、Windows Azure の活用も
33
SQL Azure の活用
"Database as a Service"
アプリケーションのパターン
クラウド特性を活用
パッケージ アプリケーション
Capacity
"Capacity Bursting"
Average
Usage
Time
独自開発 Web アプケーション
35
データハブ
複数の場所へのリアル タイムのデータ共有と
コラボレーション
垂直/水平での参加者の分断
アプリケーションとデータ管理システムの
分断のため、複数の参加者横断で
ができない
トレンドの予測が難しく、意思決定も困難
例 1: K-12 education–アクセスと、
モニタリングが難しく、ファンドに応じた
学校ごとの成果の比較ができない
例 2: European Environment Agency–問題
発生の補足が困難で、必要なアクションが
取れない
ベスト プラクティスの共有が難しく、
コラボレーションができない
自動化が難しく、
SQL Azure によって多くのサービス参
加者への
提
供
による最小限の
システムでの多くのユーザーへ対応
なスケール–データサイズの
増加という課題に非常に容易に
対応
European Environment Agency
"Microsoft の SQL Azure にデータを入れておく–ク
ラウド型のデータベース サービスが
SQL Server の管理ソフトウェアを用いることで
いつでも利用できる。そのため非常に強力な
データベースのサポートと迅速な情報提供を
地球規模のプロセスに乗せて、意味のある
データのリアル タイムの提供を実現できた…"
事例: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx? CaseStudyID=4000006197
36
Azure to On-Premise のデータ連携
社内システム
Windows Azure Platform
Azure Web Role
MainTable
Transaction
Table
Work Table
必要に応じて Truncate or Delete
37
SQL Azure Data Sync 全体像
http://sqlazurelabs.com
B2C
オンプレミス
Sync
Sync
B2B
http://azure.com
38
オフライン
SQL Azure Data Sync Tool (CTP)
Sync
事前準備
SQL
Azure
特に不要
SQL Server Agent のジョブも
生成してくれる!
注意点
オンプレミスの SQL Server 内部に
変更トラック用のデータ保持のためのテーブル/
トリガー/ストアドプロシージャが
自動生成される
39
SQL Azure Data Sync Service (CTP)
事前準備
SQL
Azure
Sync
SQL
Azure
テーブルをあらかじめ作成しておく
テーブルには
必須
も対応
SQL Azure 内でスケジュール実行
注意点
(同じく) 変更トラック用のデータ保持のため、
HUB/Member 指定した DB 内部にテーブル/ス
トアドプロシージャが自動生成される
(しかも) 使用量課金である事に留意...
40
SQL Azure Data Sync Service
(CTP)
クラウド間のデータ同期
Blob データを含めての移行シナリオ
Windows Azure Platform
42
Blob
疎結合
既存データセンター
MySQL
mySQL
Blob
Blob
Contents Delivery System
MySQL
Contents
Delivery
System
Contents Management System
社内システム
Windows
Azure Blob
Blob の管理パターン
SQL Azure
構造化されたリレーショナル
Azure Blob
巨大な非構造化データ
Id
Name
Remote Blob Location-URI
1
Crazy.mp3
2
Fernando.mp3 http://sally.blob.core.windows.net/music/rock/abba/fernando.mp3
3
Song-3
http://sally.blob.core.windows.net/...
4
Song-4
http://sally.blob.core.windows.net/....
43
http://sally.blob.core.windows.net/music/rock/aerosmith/crazy.mp3
Windows
Azure
Blob
まとめ
今後提供が予定される機能
SQL Server に無いエリアも!
CTP
45
CTP
SQL Azure OData Service
Windows Azure AppFabric
もアクセス制御として有効活用
その他の予定 …
DB における複数
操作レポート
フルテキストサーチ
対応
… など
皆さんのフィードバックを! ! !
http://www. mygreatwindowsazureidea.com/forums/
34685-sql-azure-feature-voting
47
まとめ
SQL Azure は、1 Server 1 DB の
SQL Server 2008 R2
SQL Server の分散 DB での
ベスト プラクティスを改めて
異なる RBMS 移行
スキーマ/データ転送
疎結合での "Database as a Service" の活用を
グローバル リーチ
データ ハブ
ツールができない部分は多々出てくる
皆様自身の手で!!
48
関連セッション
T1-307: Windows Azure を利用したスケーラブルな
アプリケーション構築
T1-309: Windows Azure ストレージ詳説
8 月 27 日 (金) 10: 55-12: 05/ROOM C
T1-402: 既存業務システムの Windows Azure への移行
8 月 27 日 (金) 9: 20-10: 30/ROOM A
TH-301: SQL Azure 再入門
T1-401: クラウド時代の SOA のあり方と Windows Azure への
展開
49
リファレンス
SQL Azure Developer Center (英語)
http://msdn.microsoft.com/en-us/windowsazure/cc500985.aspx
SQL Azure Team Blog (英語)
http://blogs. msdn.com/b/sqlazure/
SQL Server Development Customer Advisory Team Blog (英語)
http://blogs. msdn.com/b/sqlcat/
Comparing SQL Server with SQL Azure (英語)
http://social.technet.microsoft.com/wiki/contents/articles/
comparing-sql-server-with-sql-azure.aspx
Developing and Deploying with SQL Azure (英語)
http://social.technet.microsoft.com/wiki/contents/articles/
developing-and-deploying-with-sql-azure.aspx
SQL Azure Labs
http://www.sqlazurelabs.com/
50
クラウドをコミックにしてみました
会議センター 3F
カタログ コーナー横
テクノロジ コミック
立ち読みコーナー
にて配布中
Windows
PowerShell 版
もあります→
51
ご清聴ありがとうございました。
T1-312
アンケートにご協力ください。
SQL Azure
ガイダンス
Appendix
スキーマ マイグレーション
スキーマとデータの移行ツール
http://sqlazuremw.codeplex.com/
スキーマ移行
SQL Serve から SQL Azure へは非常に簡便な移行
データ転送–単一のデータストリーム
小さなデータ転送
大きなデータ転送: BCP/SSIS
54
データ転送
複数のストリームに分割
BCP のバッチサイズとネットワークパケットサイズを調整
自分のデータ セットとネットワーク環境に合わせて
ロード後にクラスター化インデックスを作成
データ ロード前に 2 つの追加インデックスがあると、
最終データベースサイズが 50% 程度増加し、
ロード時間も 170% 程度の延びる場合も
巨大なインデックスを作成しているとき、リソース使用量
に関するエラー メッセージがでる場合がある。
その場合は、再トライ
参考 Blog
http://sqlcat.com/Default.aspx
55
接続性
SQL Azure には「インターネット」越しに接続
接続の確保
データ取得する最短の時間だけセッションをはる
コネクション プールの利用
クライアント側の変数でのキャッシュ再利用
良くある接続関連のエラー
リソース関連など
Error: 10053-コネクション プールからの再利用失敗
Error: 40197-処理中に何らかのエラー
Error: 40501–サービスがビジー状態に。10 秒後に再度リクエスト実行
ガイダンス
再接続と再実行のエラーハンドルを
56
管理ツール
SQL Server Management Studio
Project "Houston"
1度に 1 SQL Azure database
設計とデータのビュー
テーブル、ビュー、ストアドプロシージャの操作
クエリの作成と実行
T-SQL ファイルの実行
同一データセンターを使う場合には帯域幅を調整
https://manage.sqlazurelabs.com
57
サポートされる DMVs
サポートされている Dynamic Management Views
sys.dm_exec_requests
sys.dm_exec_text_query_plan
sys.dm_exec_sessions
sys.dm_exec_connections
sys.dm_tran_database_transactions
sys.dm_db_partition_stats
sys.dm_exec_query_plan
sys.dm_exec_query_stats
sys.dm_tran_active_transactions
sys.dm_tran_session_transactions
sys.dm_exec_sql_text
sys.dm_tran_locks
Monitoring SQL Azure using DMV
http://msdn.microsoft.com/en-us/library/ff394114.aspx
58
セキュリティ管理
認証
SQL Server 認証
ログイン管理
CREATE LOGIN [testlogin] WITH PASSWORD='password ‘
ユーザー管理
CREATE USER testuser FROM LOGIN testlogin;
サーバー ロール管理
EXEC sp_addrolemember ‘ dbmanager', 'testuser'; [securityadmin role]
EXEC sp_addrolemember ‘ loginmanager', 'testuser'; [dbcreator]
権限管理
Create Login and Database in Master
Create User and Grant Role in User Database
関連ビュー
sys.sql_logins
sys. databases
sys. database_principal
59
ファイヤーウォール管理
プログラムからのアクセスが可能
システム ビューとストアドプロシージャ
http://msdn.microsoft.com/en-us/library/ee621782.aspx
View: sys. firewall_rules
Stored Procedure: sp_set_firewall_rule
Stored Procedure: sp_delete_firewall_rule
実装の例
http://channel9.
msdn.com/learn/courses/Azure/SQLAzure/SQLAzureTips
AndTricks/Exercise-1-Manipulating-the-SQL-Azurefirewall-via-APIs/
60
SQL Azure Tips
Appendix
SQL Server と SQL Azure (1)
8 週間毎に差が少なくなっていく...
項目
DB 仕様
データベース
最大容量
ユーザー
データベース数
システム データ
ベース
SSB (サービス
ブローカー)
master のみ read-only で参照可能
○
×
データ転送
任意の方法
認証方式
SQL Azure データベース サービス
1 データベースあたり 50 GB
(Business Edition)
1 アカウントあたり 最大 150 個 (Web) ,
15 個 (Business)
※ Subscription による差異あり
すべて参照・操作可能
接続の暗号化
MARS
ジョブ実行
62
制限なし
TCP/IP
名前付きパイプ
共有メモリ
○
Windows 統合認証、
SQL Server 認証
任意
ネットワーク 接続方式
データ移行
SQL Server データベース
制限なし
(Express は 10 GB)
SQL Server Agent など
TCP/IP のみ
○
SQL Server 認証のみ
必須 (SSL)
 SSIS, BCP,
System.Data.SqlClient.SqlBulkCopy,
INSERT
 RESTORE がサポートされていない
 データベースアタッチ がサポートされ
ていない
 SQL Server Agent がない
SQL Server と SQL Azure (2)
8 週間毎に差が少なくなっていく...
項目
データベース
照合順序
オブジェクト
トランザク
ション
テーブル、
インデックス、ビュー
ストアドプロシージャ、
トリガー
制約
一時テーブル
(# テーブル)
SQL-CLR
分散トランザクション/
クエリ
分離レベル
SQL Server データ
ベース
SQL Azure データベース サービス
任意に設定可能
SQL_LATIN1_GENERAL_CP1_CI_AS が
DB デフォルト設定。
テーブル、カラムなど個別設定は可能
○
○ クラスター化インデックスが必須
○
○
○
○
○
○ (## グローバルは未サポート)
○
×
○
× (同一インスタンス内でも不可)
READ_COMMITTED_SNAPSHOT と
ALLOW_SNAPSHOT_ISOLATION が DB
デフォルト設定
SQL Azure–T-SQL:
http://msdn.microsoft.com/en-us/library/ee336281.aspx
SQL Azure–Guidelines & Limitations
http://msdn.microsoft.com/en-us/library/ee336245.aspx
63
最近の機能強化点
Service Update 3
データベースを最大
まで容量拡張
からでも変更可能
最大値の宣言であって、実際の課金は利用サイズ
データ量が "MAXSIZE" を超えた場合
40544 のエラー出力
できること
データの読み取りと削除
テーブルとインデックスの TRUNCATE と DROP
Rebuild Indexes
できないこと
データの登録と更新
新規オブジェクトの作成
ALTER DATABASE のサイズ増加は最大 15 分程度にて反映
新しいデータ型のサポート
Hierarchyid
Spatial (geography, geometry)
SQL CLR はまだ...
What's New in SQL Azure Service Update 3:
http://msdn.microsoft.com/en-us/library/ff 602419.aspx
64
一般的な留意点 (1)
おさらい
接続
SQL Azure firewall (IP filtering)
接続文字列の設定
ENCRYPTION=TRUE
User ID に @<<servername>> を付与
開発と管理
テーブル には
最初の INSERT ステートメント実行前に
デフォルトのタイムゾーンは
+ 9 時間で JST
デフォルトの Collation 設定は、
JAPANESE_CI_AS
65
頻繁に問題になる!
一般的な留意点 (2)
おさらい
ネットワーク接続性
そもそものネットワーク接続性
SQL Azure によるセッション切断
リソースひっ迫
長時間のクエリ実行
30 分の アイドル
なんらかの原因でのフェイルオーバー実行
66
クラスター化インデックスが無い
テーブルのリスト アップ
SELECT DISTINCT OBJECT_NAME(object_id)
FROM sys.indexes
WHERE index_id = 0 AND
OBJECTPROPERTY(object_id, 'IsUserTable') = 1
67
SQL Azure Data Sync Tool (CTP) による
主な変更点
Sync
68
SQL
Azure
項目
オブジェクト名
役割
メタデータ管理
scope_config
同期の設定
scope_info
同期情報
追跡テーブル
<xxx>_tracking
追加、更新、削除レコード
トリガー
<xxx>_delete_trigger,
<xxx>_insert_trigger,
<xxx>_update_trigger
ストアドプロシー
ジャ
<xxx>_delete,
<xxx>_insert,
<xxx>_update
追加、更新、削除実行
<xxx>_deketemetadata,
<xxx>_insertmetadata,
<xxx>_updatemetadata
追加、更新、削除のメタデータ
<xxx>_selectchanges
<xxx>_tracking を基に
変更レコードを抽出
<xxx>_selectrow
競合の抽出
SQL Azure Data Sync Service (CTP)
による主な変更点
Sync
SQL
Azure
69
SQL
Azure
項目
オブジェクト名
役割
メタデータ管理
scope_config
同期の設定
scope_info
同期情報
追跡テーブル
<xxx>_tracking
追加、更新、削除レコード
ストアドプロシー
ジャ
<xxx>_bulkdelete,
<xxx>_bulkinsert,
<xxx>_buldupdate,
<xxx>_delete,
<xxx>_insert,
<xxx>_update
追加、更新、削除実行
<xxx>_deketemetadata,
<xxx>_insertmetadata,
<xxx>_updatemetadata
追加、更新、削除のメタデータ
<xxx>_selectchanges
<xxx>_tracking を基に
変更レコードを抽出
<xxx>_selectrow
競合の抽出
SQL Azure 事例
Appendix
キャパシティ プランニング困難な
データ中心型アプリケーション
Compute
# of Hr’s
Capacity
"Capacity Bursting"
Average
Usage
Time
Average Usage
プロモーション イベントなどの
チケット販売はそもそも予測不可能な
リクエスト状態
の高コスト体質
が非常に
高コスト化
外部キャパシティを迅速に取り入れる
のが非常時困難
柔軟なスケール構造–
"Database as a Service"
拡大/縮小に応じた支払
比較的容易なデータベースの
プロビジョニングと管理
ハードウェアも非常に高度な
データベース管理も不要
Ticket Direct 事例:
http://www.microsoft.com/showcase/en/us/details/831a8a76-b180-4b56-a7cc-ef857ebe4b3c
71
情報の世界中への迅速な展開
アプリケーションとデータの
による拡張
DataSync による
に
よる負荷分散/災害対策
なスケール–データサイズの
増加という課題に非常に容易に対応
ニュース情報の提供–
の顧客、
パートナーへ
な
アクセス可能な環境を提供するのが
難しい
の瞬間的な非常に大規模な
Web サイトへのアクセスが、
パフォーマンス劣化や場合によっては
サイト ダウンを招いていた
外部リソースの利用や、データ
センターを世界中に拡大するに
はあまりにも高コスト
72
事例:
Associated Press: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx? casestudyid=4000005887
Kelly Blue Book: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx? casestudyid=4000005874
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should
not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.