windows azure bootcamp - sql azure
DESCRIPTION
2010/03/26のわんくま同盟勉強会で、Windows Azure BootCampのSQL Azureセクションのセッションを実施しました。TRANSCRIPT
Windows Azure Boot Camp WindowsAzureBootCamp.com
このセッションでは、• クラウド上の SQL について学ぶ• SQL Server と異なる点• 簡単に移行する方法
SQL Azure
Windows Azure Boot Camp WindowsAzureBootCamp.com
自己紹介
Twitter : @SQLAzureJPBlog: 蒼の王座 http://sqlazure.jp/b/メーカー系 SIer で Public Sector なお仕事
昨年度までは全社の SQL Server 技術支援Microsoft MVP - SQL Azure
Windows Azure Boot Camp WindowsAzureBootCamp.com
SQL Azure を知っていますか?
Windows Azure Boot Camp WindowsAzureBootCamp.com
Azure… 私のお金はどこに?
ローカルストレージ非構造化
Blob StorageTables Queues(NOT relational)
リレーショナルを使いたい
SQL Azure へようこそ…
Windows Azure Boot Camp WindowsAzureBootCamp.com
SQL Azure は SQL Server がベース
どんどんガラパゴス化?
Windows Azure Boot Camp WindowsAzureBootCamp.com
SQL Server SQL Azure
次世代データベースプラットフォームアーキテクチャ
Windows Azure Boot Camp WindowsAzureBootCamp.com
データベースData SyncReporting
Datamarcket
Windows Azure Boot Camp WindowsAzureBootCamp.com
Server は Machine では無い
SQL Server
SQL Azure Server
Machine
TDS Endpoint
Windows Azure Boot Camp WindowsAzureBootCamp.com
動作方法 アプリケーション ツール
ODBC ADO.NET
TDS
SQL Azure ServerConnection Routing
Billing
Provisioning
Server
SQL Serve
r
SQL Azure Fabric
Server
SQL Serve
r
SQL Azure Fabric
Server
SQL Serve
r
SQL Azure Fabric
Windows Azure Boot Camp WindowsAzureBootCamp.com
サーバの設定
http://windows.azure.comにアクセス
Windows Azure Boot Camp WindowsAzureBootCamp.com
以前は、 http://sqlazurelabs.com
で公開されていた Houston
データベースの作成
Windows Azure Boot Camp WindowsAzureBootCamp.com
Silverlight SQL Manager
基本的なデータベース管理機能Table, Views, Stored Procedure の作成クエリの実行データベースオブジェクトの管理
Windows Azure Boot Camp WindowsAzureBootCamp.com
SSMS で接続
Windows Azure Boot Camp WindowsAzureBootCamp.com
demo
SQL Azure データベース 作成
Windows Azure Boot Camp WindowsAzureBootCamp.com
検討ポイント ...
アプリケーション接続互換性移行管理 & セキュリティ価格、サイズ、エディションCode Near vs. Code Far vs. Hybridパーティショニング、シャーディング、フェデレーションバックアップとレプリケーション
Windows Azure Boot Camp WindowsAzureBootCamp.com
SQL Azure へ接続SQL Azure の接続文字列は、以下のように通常の SQL と同じ
アプリケーションから直接データベースへ接続する“Initial Catalog = <db>” in connection stringデータベースの切り替え文は未サポート (USE <db> は使用できない )1 つのバッチに 1 つしか記述できないコマンドがある
Create/Alter/Drop Database & Create/Alter/Drop Login, & Create/Alter USER with FOR/FROM LOGIN
暗号化セキュリティSet Encrypt = True, only SSL connections are supportedTrustServerCertificate = False, avoid Man-In-The-Middle-Attack!
認証用ユーザ名のフォーマット :ADO.Net:Data Source=server.database.windows.net;User ID=user@server;Password=password;...
Firewall のルールを最初に設定する !
Windows Azure Boot Camp WindowsAzureBootCamp.com
SQL Azure Firewall
SQL Azure 用の IP アドレスベースのアクセスコントロール
初期値はすべての IP を拒否
SQL Azure Portal を使用して設定
Windows Azure にホストされたアプリケーションからのアクセス許可・非許可の設定
インターネット
Windows Azure Boot Camp WindowsAzureBootCamp.com
SQL Azure 互換性
現在サポートしているテーブル、インデックス、ビューストアドプロシージャトリガー制約Table 変数 , 一時 temp テーブル (#t)空間型 , HierarchyId
現時点は未サポートデータ型
スパース列 , Filestream
パーティションフルテキストインデックスSQL-CLR
テーブルはクラスタ化インデックスが必須
Windows Azure Boot Camp WindowsAzureBootCamp.com
SQL Azure セキュリティ
SQL 認証と Windows 認証データベースユーザとロールによる制御serveradmin, securityadmin ,dbcreatorのようなサーバロールTCP ポート 1433 上の SSLと TDS 経由の接続ホスト Firewall を使用したFirewall と IP ブロッキング標準で暗号化 (TDE) のサポート
伝統的な SQL Server vs SQL Azure
SQL 認証のみ使用でき、Windows 認証は使用できないデータベースユーザとロールによる制御MasterDB にサーバロールlogin manager とdbmanager ロール の追加TCP ポート 1433 上のSSL と TDS 経由の接続SQL Azure 標準の Firewall で IP ブロッキング標準で暗号化は未サポート
Windows Azure Boot Camp WindowsAzureBootCamp.com
SQL Azure セキュリティ認証と承認モデル
21
SQL Serverログイン
Databaseユーザ
Databaseロール
サーバレベルでの認証接続、権限設定
データベースレベルでの認証接続、権限設定
データベースレベルでのユーザグループと権限設定
SQL Azure は、 Mirosoft SQL Server で使用したのと同じような実績のある認証と承認モデルを使用している
Windows Azure Boot Camp WindowsAzureBootCamp.com
承認、監査、暗号化のサポート
SQL Azure は、オンプレミスの SQL Server と同じデータベースレベルの権限モデル
Logins associated to users in databases
Users may be part of one or more database rolesPermissions granted to roles or directly to users
現在のバージョンの SQL Azure では、監査は未サポートまだ標準で暗号化 (TDE) をサポートしていないAzure は SSL 暗号化と接続文字列での証明書チェックのオプション
Encrypt=True;TrustServerCertificate=False
Windows Azure Boot Camp WindowsAzureBootCamp.com
マイグレーション選択肢• スクリプト生成ウィザード
• SQL Azure と互換性のあるスキーマやデータの SQL スクリプトの生成
• SQL Server マイグレーションアシスタント ( ダウンロード可能 )• MySQL, Oracle, Access, SQL Server...
• SQLAzureMW 日本語化• SQL Azure で未サポートの機能抽出に便利• 効率的なデータ移行• 非公式サポート
• データ層アプリケーションコンポーネント (DAC)• T-SQL による新たなデプロイ単位インストール、アンイン
ストールのサポート• ポリシーによる制御
Data-tier Application Component
Schema
LOGICALTables, Views,
Constraints, SProcs,
UDFs,
PHYSICALUsers, Logins,
Indexes
Future - DAC Deployment ProfileDeployment Requirements,
Management Policies, Failover Policies
Unit o
f Deplo
ym
en
t
Windows Azure Boot Camp WindowsAzureBootCamp.com
セキュリティモデル
一般的な SQL セキュリティモデルを使用
ログインとユーザやロールをマッピングした認証SQL オブジェクトをユーザとロールで承認
標準的な SQL 認証をサポートユーザ名とパスワード
セキュリティモデルはオンプレミスの SQL と互換性がある
Windows Azure Boot Camp WindowsAzureBootCamp.com
サイズ
Web5 GB
Business50 GB
Windows Azure Boot Camp WindowsAzureBootCamp.com
価格
SQL Azure Development Accelerator Core - $74.95http://microsoft.com/japan/windowsazure/pricing/
Edition Web Business Bandwidth
最大 1 GB 980 円 / 月 n/a 受信 9.8 円送信 14.7 円
アジア受信 9.8 円送信 19.6 円
最大 5 GB 4900 円 / 月 n/a 同じ
最大 10 GB n/a 9800 円 / 月 同じ
最大 20 GB n/a 19600 円 / 月 同じ
最大 30 GB n/a 29400 円 / 月 同じ
最大 40 GB n/a 39200 円 / 月 同じ
最大 50 GB n/a 49000 円 / 月 同じ
Windows Azure Boot Camp WindowsAzureBootCamp.com
現時点の SQL Azure スケールアウト
データベースの柔軟なプロビジョニングCREATE DATABASE and go仮想でも、サーバでも無い
使用料に応じたビジネスモデル
物理管理は無し高可用性、パッチ、メンテナンスはビルトイン
Database Copy, SQL Azure Data Sync
Windows Azure Boot Camp WindowsAzureBootCamp.com
バックアップ
2種類のリスク : ディザスターリカバリとSQL による破壊バックアップ機能は、現時点で未サポート次バージョンの最優先機能提供予定
コードで他のロケーションへのデータ移行ファイルエクスポートもしかすると BCP か SSIS
Windows Azure Boot Camp WindowsAzureBootCamp.com
Database Copyデータベースを同じサーバか別のサーバのデータベースへトランザクションコピーコピー元のデータベースのダウンタイムは無しTransactional equivalent at the END of the copy同じデータセンター のみ動作同じサーバの認証情報が必要元 DB の db_owner 権限と転送先の dbmanager 権限が必要
Windows Azure Boot Camp WindowsAzureBootCamp.com
Database Copy
CREATE DATABASE destination_database_name AS COPY OF [source_server_name.]source_database_name
進捗状況の確認 :SELECT * FROM sys.dm_database_copies
Windows Azure Boot Camp WindowsAzureBootCamp.com
日本固有の問題
照合順序タイムゾーン
Windows Azure Boot Camp WindowsAzureBootCamp.com
SQL Azure Data Sync – 主要機能
柔軟にスケール成長に応じたリソースをスケールさせるサービス
コードなしで同期設定同期するデータの定義が簡単
スケジュール同期同期させるデータを選択する方法
衝突のハンドリング複数個所で同じデータを変更された場合の検知
ロギングとモニタリング問題の監視とデータの追跡が可能
課金
Windows Azure Boot Camp WindowsAzureBootCamp.com
オンプレミスとクラウドの双方向同期 SQL Server と SQL Azure の同期
Sync
メリット• クラウドへの置き換え
よりもクラウドへ拡張するシナリオ
• 投資した既存のインフラを使用しつつクラウドを活用することができる
• エンタープライズをクラウドで補完する
SQL Azur
e
Windows Azure Boot Camp WindowsAzureBootCamp.com
小売店や支店へのデータ提供
SQL Azure から SQL Server への同期
メリット• 支店や小売店などとデータ
を共有する。データをエンドユーザの近くに置く
• 遅延が少ない – データ接続にラウンドトリップが必要なし
• 高可用性 – サーバがこけてもアプリを使用可能
• ネットワーク帯域の減少 – ほとんどのデータ接続はローカル
SQL Azur
e
Windows Azure Boot Camp WindowsAzureBootCamp.com
同期シナリオ
オンプレミスアプリケーション
Sync
SyncSync
オフラインアプリケーション
Sync
SyncSQL Azure DatabaseSy
nc Sync
Sync
SQL Azure Data Sync
http://azure.com
SQL Azure Data Sync CTP2
Microsoft Sync Framework 4.0 CTP
Sync Sync
支店小売店
SQL Azure Data Sync CTP1http://azure.com)
Windows Azure Boot Camp WindowsAzureBootCamp.com
まとめ
SQL Azure は SQL Server…TDS エンドポイント既知の知識で DB 作成管理が可能データ移行は必要に応じて最適な方法を選択する検討と未来の可能性に期待しよう
Windows Azure Boot Camp WindowsAzureBootCamp.com
補足情報
一般的なガイドラインと制限事項 (英語 ) http://msdn.microsoft.com/en-us/library/ee336245.aspx 蒼の王座http://sqlazure.jp/b/
Windows Azure Boot Camp WindowsAzureBootCamp.com
?Q
& A
Ask your questions.