Download presentation
Presentation is loading. Please wait.
Published byねんたろう じゅふく Modified 約 9 年前
2
マイクロソフト株式会社 コミュニケーションズ・セクター シニア・テクノロジー・ストラテジスト 畠山 大有 クラウド時代の データベース ベスト プラクティス -企業情報システムをクラウドへ移せ- セッション ID: T 1-312
3
3 セッションの目的とゴール Session Objectives and Takeaways セッションの目的 SQL Azure の特性を理解する SQL Azure に移行するためのポイントを 理解する セッションのゴール SQL Azure を前提にしたシステム設計・ 開発・運用時の留意点考慮した実装ができる SQL Azure と RDBMS 間での最適な データ移動方法にて実装できるようになる SQL Azure ならではの活用方法を知る
4
4 アジェンダ アジェンダ サブタイトル SQL Azure 概要 (おさらい) SQL Azure への移行 方式 ベスト プラクティス SQL Azure の活用 まとめ
5
最近の強化点 SQL Azure 概要
6
6 単純化された展開 高可用性と フォールト トレラント 自動管理・ 自動ヘルス チェック 物理サーバーや 仮想マシンの管理が 不要 SQL Azure 概要 使った分払い ロード バランス 業務対応の SLA マルチテナント高い複数サーバーの管理性全世界での展開 既知の リレーショナル モデルでの開発 既存の開発・ 管理ツール/スキル ビジネスのスピード に対応する 開発のスピード 業務の革新: データに関わる衝突を最小化し、 新しいビジネス ハブとしての価値創造
7
7 メインラインを安定した 状態に保つため、新機能 の開発は別ラインで実施 メインラインでは 信頼性 パフォーマンス セキュリティ 等の基本機能を強化 SQL Server と SQL Azure
8
8 SQL Azure Service Update 4 ! What's New in SQL Azure Service Update 4: http://msdn.microsoft.com/en-us/library/ff602419.aspx http://msdn.microsoft.com/en-us/library/ff602419.aspx Server1Server1Server2Server2 DB1 DB1’
9
9 データベース作成・変更・削除・ バックアップ CREATE DATABASE sqlazure01 GO ALTER DATABASE sqlazure01 MODIFY (MAXSIZE=10GB) GO DROP DATABASE sqlazure01 GO CREATE DATABASE sqlazure_backup AS COPY OF sourcesver.sqlazure01 GO SELECT * FROM sys.dm_database_copies GO デフォルトは MAXSIZE=1GB, EDITION= ‘ web ’ デフォルトは MAXSIZE=1GB, EDITION= ‘ web ’ MAXSIZE のみでも EDITION 連動変更 master データベースにて実行すること ! 非同期処理
10
異なるサーバー間で データベース コピー
11
11 データベース ノード リソースは共有されている Machine SQL Server Instance SQL DB DB5 DB1 DB6 mastermaster tempdbtempdb msdbmsdb DB1 DB2 mastermaster DB3 DB4 DB7 master データベース は システム データベースではない
12
12 SQL Azure の運用 DBA の視点から 物理ストレージ物理ストレージ OSOS RDBMSRDBMS パフォーマンスパフォーマンス 高可用性/障害対策 アプリケーション セキュリティ ジョブ実行ジョブ実行 設計設計開発開発配置配置監視監視 ファイル グループが無い ファイル グループが無い 考慮事項考慮事項 NEW!NEW! DBCC SHOW_STATISTICS のみ DBCC SHOW_STATISTICS のみ DMV 全て提供はされていない DMV 全て提供はされていない DBCC SHOW_STATISTICS のみ DBCC SHOW_STATISTICS のみ DMV 全て提供はされていない DMV 全て提供はされていない ネットワーク遅延 ネットワーク遅延 バックアップ/リストアで 特定時点には戻せない バックアップ/リストアで 特定時点には戻せない INDEX は REBUID のみ、 REORGANIZE はできない INDEX は REBUID のみ、 REORGANIZE はできない SQL 認証のみ SQL 認証のみ IP Filtering IP Filtering データベース暗号化が未サポート データベース暗号化が未サポート 課金利用状況 課金利用状況 SQL Agent が無い SQL Agent が無い
13
13 Project "Houston" CTP 1 SQL Azure Web based Management
14
クライアント環境にとらわれない DB 管理 Project "Houston" CTP 1
15
移行方式とツール SQL Azure への 移行
16
16 データベースの移行ステップ 1) SQL Server 2008 R2 へ 2) SQL Azure へ スキーマ (1 – 数度 ) スキーマ データ ( 頻繁 ) データ RDBMS 移行 SQL Server Version 移行 RDBMS 移行 一度に移行 ( 戻すことも ) 同期同期 SQL Azure 移行 ETLETL
17
17 SQL Azure Migration Wizard
18
18 SQL Server Management Studio スクリプトの生成ウィザード
19
19 DAC (Data-tier Application) パッケージ
20
20 インポート/エクスポート ウィザード
21
SQL Azure Migration Wizard DAC パッケージ SQL Server からの移行
22
22 SQL Server 移行: まとめ
23
23 異なる 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 以降 クラスター化 インデックス対応 SQL Server の PRIMARY KEY 制約は デフォルトがクラスター化 インデックスに $$rowid 疑似列の自動付与
24
Microsoft Migration Assistant for MySQL MySQL からの移行
25
ベスト プラクティス SQL Azure への 移行
26
26 大きなデータをどうするか? 正しいツールの選択BCPSSIS ネットワーク パフォーマンス 遅延 と 帯域 接続性 SQL Server と同じ クラウド共通
27
27 ネットワーク パフォーマンス 帯域幅帯域幅 遅延
28
28データセンターの場所 リージョン データセンター 間の遅延が 200 ms 以下 South Central US North Central US North Europe Southeast Asia Central Europe ユーザーから 100 ms 以下 最低 1 つのリージョンデータ センターまで、100 ms 以下 検証場所がないか、200 ms 以上 Asia Pacific Microsoft Windows Azure Datacenter We are Here! ! !
29
29 BCP 単純なバルク コピーとして
30
30 SSIS 柔軟かつ強力なデータ転送環境
31
31 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) ; 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 http://blogs. msdn.com/b/sqlcat/archive/2010/07/30/ loading-data-to-sql-azure-the-fast-way.aspx
32
32 BCP 1 GB データ転送検証: 結果 特定環境での参考結果です
33
33 BCP 1 GB データ転送検証: 考察
34
"Database as a Service" SQL Azure の活用
35
35 クラウド特性を活用 データハブ パッケージ アプリケーション 独自開発 Web アプケーション アプリケーションのパターン Capacity Time "Capacity Bursting" Average Usage
36
36 複数の場所へのリアル タイムのデータ共有と コラボレーション "Microsoft の SQL Azure にデータを入れておく– クラウド型のデータベース サービスが SQL Server の管理ソフトウェアを用いることで いつでも利用できる。そのため非常に強力な データベースのサポートと迅速な情報提供を 地球規模のプロセスに乗せて、意味のある データのリアル タイムの提供を実現できた…" European Environment Agency 事例: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx? CaseStudyID=4000006197http://www.microsoft.com/casestudies/Case_Study_Detail.aspx? CaseStudyID=4000006197
37
37 Azure to On-Premise のデータ連携 社内システム社内システム Windows Azure Platform Transaction Table Azure Web Role Work Table Work Table MainTableMainTable 必要に応じて Truncate or Delete
38
38 オンプレミス SyncSync SyncSync SyncSync オフライン SyncSync SyncSync SyncSync SyncSync B2C B2B SyncSync SyncSync SyncSync SQL Azure Data Sync http://azure.com SQL Azure Data Sync http://azure.com SQL Azure Data Sync Service http://sqlazurelabs.com (今すくご評価を!) SQL Azure Data Sync Service http://sqlazurelabs.com (今すくご評価を!) Microsoft Sync Framework v3 (sqllab–間もなく) Microsoft Sync Framework v3 (sqllab–間もなく) SQL Azure Data Sync 全体像
39
39 SQL Azure Data Sync Tool (CTP) 事前準備特に不要 SQL Server Agent のジョブも 生成してくれる! 注意点 オンプレミスの SQL Server 内部に 変更トラック用のデータ保持のためのテーブル /トリガー/ストアドプロシージャが 自動生成される Sync SQL Azure
40
40 SQL Azure Data Sync Service (CTP) Sync SQL Azure
41
クラウド間のデータ同期 SQL Azure Data Sync Service (CTP)
42
42 Blob データを含めての移行シナリオ 社内システム社内システム Windows Azure Platform 既存データセンター既存データセンター Contents Management System BlobBlob Contents Delivery System Windows Azure Blob MySQLMySQL 疎結合疎結合 Contents Delivery System BlobBlob mySQLmySQL MySQLMySQL BlobBlob
43
43 IdNameRemote Blob Location-URI Windows Azure Blob 1 Crazy.mp3 http://sally.blob.core.windows.net/music/rock/aerosmith/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/.... Blob の管理パターン
44
まとめ
45
45 今後提供が予定される機能 SQL Server に無いエリアも! CTPCTP CTPCTP
46
Windows Azure AppFabric もアクセス制御として有効活用 SQL Azure OData Service
47
47 その他の予定 … 皆さんのフィードバックを! ! ! http://www. mygreatwindowsazureidea.com/forums/ 34685-sql-azure-feature-voting http://www. mygreatwindowsazureidea.com/forums/ 34685-sql-azure-feature-voting
48
48 まとめ SQL Azure は、1 Server 1 DB の SQL Server 2008 R2 SQL Server の分散 DB での ベスト プラクティスを改めて 異なる RBMS 移行 スキーマ/データ転送 疎結合での "Database as a Service" の活用を グローバル リーチ データ ハブ ツールができない部分は多々出てくる 皆様自身の手で!!
49
49 関連セッション 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 への 展開
50
50 リファレンス SQL Azure Developer Center (英語) http://msdn.microsoft.com/en-us/windowsazure/cc500985.aspx http://msdn.microsoft.com/en-us/windowsazure/cc500985.aspx SQL Azure Team Blog (英語) http://blogs. msdn.com/b/sqlazure/ http://blogs. msdn.com/b/sqlazure/ SQL Server Development Customer Advisory Team Blog (英語) http://blogs. msdn.com/b/sqlcat/ 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 http://social.technet.microsoft.com/wiki/contents/articles/ comparing-sql-server-with-sql-azure.aspx 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 http://social.technet.microsoft.com/wiki/contents/articles/ developing-and-deploying-with-sql-azure.aspx http://social.technet.microsoft.com/wiki/contents/articles/ developing-and-deploying-with-sql-azure.aspx SQL Azure Labs http://www.sqlazurelabs.com/ http://www.sqlazurelabs.com/
51
51 クラウドをコミックにしてみました Windows PowerShell 版 もあります→ 会議センター 3F カタログ コーナー横 テクノロジ コミック 立ち読みコーナーにて配布中 会議センター 3F カタログ コーナー横 テクノロジ コミック 立ち読みコーナーにて配布中
52
ご清聴ありがとうございました。 T1-312
53
Appendix SQL Azure ガイダンス
54
54 スキーマ マイグレーション スキーマとデータの移行ツール http://sqlazuremw.codeplex.com/ スキーマ移行 SQL Serve から SQL Azure へは非常に簡便な移行 データ転送–単一のデータストリーム 小さなデータ転送 大きなデータ転送: BCP/SSIS
55
55 データ転送 複数のストリームに分割 BCP のバッチサイズとネットワークパケットサイズを調整 自分のデータ セットとネットワーク環境に合わせて ロード後にクラスター化インデックスを作成 データ ロード前に 2 つの追加インデックスがあると、 最終データベースサイズが 50% 程度増加し、 ロード時間も 170% 程度の延びる場合も 巨大なインデックスを作成しているとき、リソース使用量 に関するエラー メッセージがでる場合がある。 その場合は、再トライ 参考 Blog http://sqlcat.com/Default.aspx
56
56 接続性 SQL Azure には「インターネット」越しに接続 接続の確保データ取得する最短の時間だけセッションをはる コネクション プールの利用 クライアント側の変数でのキャッシュ再利用良くある接続関連のエラーリソース関連など Error: 10053-コネクション プールからの再利用失敗 Error: 40197-処理中に何らかのエラー Error: 40501–サービスがビジー状態に。10 秒後に再度リクエスト実行 ガイダンス再接続と再実行のエラーハンドルを
57
57 管理ツール SQL Server Management Studio Project "Houston" 1度に 1 SQL Azure database 設計とデータのビュー テーブル、ビュー、ストアドプロシージャの操作 クエリの作成と実行 T-SQL ファイルの実行 同一データセンターを使う場合には帯域幅を調整 https://manage.sqlazurelabs.com
58
58 サポートされる DMVs サポートされている Dynamic Management Views sys.dm_exec_requestssys.dm_exec_text_query_plansys.dm_exec_sessionssys.dm_exec_connectionssys.dm_tran_database_transactionssys.dm_db_partition_statssys.dm_exec_query_plansys.dm_exec_query_statssys.dm_tran_active_transactionssys.dm_tran_session_transactionssys.dm_exec_sql_textsys.dm_tran_locks Monitoring SQL Azure using DMV http://msdn.microsoft.com/en-us/library/ff394114.aspx
59
59 セキュリティ管理 認証 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
60
60 ファイヤーウォール管理 プログラムからのアクセスが可能 システム ビューとストアドプロシージャ http://msdn.microsoft.com/en- us/library/ee621782.aspx 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/SQLAzur eTipsAndTricks/Exercise-1-Manipulating-the-SQL- Azure-firewall-via-APIs/ http://channel9. msdn.com/learn/courses/Azure/SQLAzure/SQLAzur eTipsAndTricks/Exercise-1-Manipulating-the-SQL- Azure-firewall-via-APIs/
61
Appendix SQL Azure Tips
62
62 SQL Server と SQL Azure (1) 8 週間毎に差が少なくなっていく... 項目 SQL Server データベースSQL Azure データベース サービス DB 仕様 データベース 最大容量 制限なし (Express は 10 GB) 1 データベースあたり 50 GB (Business Edition) ユーザー データベース数 制限なし 1 アカウントあたり 最大 150 個 (Web), 15 個 (Business) ※ Subscription による差異あり システム データ ベース すべて参照・操作可能master のみ read-only で参照可能 SSB (サービス ブローカー) ○× ネットワーク接続方式 TCP/IP 名前付きパイプ 共有メモリ TCP/IP のみ MARS○○ 認証方式 Windows 統合認証、 SQL Server 認証 SQL Server 認証のみ 接続の暗号化任意必須 (SSL) データ移行データ転送任意の方法 SSIS, BCP, System.Data.SqlClient.SqlBulkCopy, INSERT RESTORE がサポートされていない データベースアタッチ がサポートされ ていない ジョブ実行SQL Server Agent など SQL Server Agent がない
63
63 SQL Server と SQL Azure (2) 8 週間毎に差が少なくなっていく... 項目 SQL Server データ ベース SQL Azure データベース サービス データベース オブジェクト 照合順序任意に設定可能 SQL_LATIN1_GENERAL_CP1_CI_AS SQL_LATIN1_GENERAL_CP1_CI_AS が DB デフォルト設定。 テーブル、カラムなど個別設定は可能 テーブル、 インデックス、ビュー ○ クラスター化インデックスが必須 ○ クラスター化インデックスが必須 ストアドプロシージャ、 トリガー ○○ 制約○○ 一時テーブル (# テーブル) ○○ (## グローバルは未サポート) SQL-CLR○× トランザク ション 分散トランザクション/ クエリ ○× (同一インスタンス内でも不可) 分離レベル READ_COMMITTED_SNAPSHOT と ALLOW_SNAPSHOT_ISOLATION が DB デフォルト設定 SQL Azure–Guidelines & Limitations http://msdn.microsoft.com/en-us/library/ee336245.aspx SQL Azure–T-SQL: http://msdn.microsoft.com/en-us/library/ee336281.aspx http://msdn.microsoft.com/en-us/library/ee336281.aspx
64
64 最近の機能強化点 Service Update 3 What's New in SQL Azure Service Update 3: http://msdn.microsoft.com/en-us/library/ff 602419.aspx http://msdn.microsoft.com/en-us/library/ff 602419.aspx http://msdn.microsoft.com/en-us/library/ff 602419.aspx
65
65 一般的な留意点 (1) おさらい 頻繁に問題になる !
66
66 一般的な留意点 (2) おさらい ネットワーク接続性そもそものネットワーク接続性 SQL Azure によるセッション切断 リソースひっ迫長時間のクエリ実行 30 分の アイドル なんらかの原因でのフェイルオーバー実行
67
67 クラスター化インデックスが無い テーブルのリスト アップ SELECT DISTINCT OBJECT_NAME(object_id) FROM sys.indexes WHERE index_id = 0 AND OBJECTPROPERTY(object_id, 'IsUserTable') = 1
68
68 SQL Azure Data Sync Tool (CTP) による 主な変更点 Sync SQL Azure
69
69 SQL Azure Data Sync Service (CTP) による主な変更点 Sync SQL Azure
70
Appendix SQL Azure 事例
71
71 柔軟なスケール構造– "Database as a Service" 拡大/縮小に応じた支払拡大/縮小に応じた支払 比較的容易なデータベースの プロビジョニングと管理 ハードウェアも非常に高度な データベース管理も不要 Capacity Time "Capacity Bursting" Average Usage Compute # of Hr’s "SQL Azure 無しでは, 私たちは今回の プロジェクトを成しえませんでした。 そしてそれの意味するところは、 Windows Azure と SQL Azure こそが、真のクラウドプラット フォームであり、これによってデータベースの最 適化を成し得たという事です Chris Auid, Director of Strategy and Innovation, キャパシティ プランニング困難な データ中心型アプリケーション Ticket Direct 社 Ticket Direct 事例: http://www.microsoft.com/showcase/en/us/details/831a8a76-b180-4b56-a7cc-ef857ebe4b3chttp://www.microsoft.com/showcase/en/us/details/831a8a76-b180-4b56-a7cc-ef857ebe4b3c
72
72 "Microsoft のクラウドに よって、キャパシティ プランニングをしなくて 良い事は、本当に大きな メリット …" Jonathan Malek, Chief Architect and Director of Research, Associated Press ".. 日次・週次・季節毎 のサイト トラフィック 変動は、常に予測しきれ ない.. Windows Azure と SQL Azure は、 それらを解消しただけで なく、自分たちの ビジネスをクラウドへと 拡張させてくれた 情報の世界中への迅速な展開 事例: Associated Press: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx? casestudyid=4000005887http://www.microsoft.com/casestudies/Case_Study_Detail.aspx? casestudyid=4000005887 Kelly Blue Book: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx? casestudyid=4000005874 http://www.microsoft.com/casestudies/Case_Study_Detail.aspx? casestudyid=4000005874 Associated Press 様 Kelly Blue Book 様
73
© 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.
Similar presentations
© 2025 slidesplayer.net Inc.
All rights reserved.