windows azure bootcamp - sql azure

37
Windows Azure Boot Camp WindowsAzureBootCamp.com こここここここここここここここ SQL ここここここ SQL Server こここここ こここここここここ SQL Azure

Upload: -

Post on 28-May-2015

1.722 views

Category:

Technology


6 download

DESCRIPTION

2010/03/26のわんくま同盟勉強会で、Windows Azure BootCampのSQL Azureセクションのセッションを実施しました。

TRANSCRIPT

Page 1: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

このセッションでは、• クラウド上の SQL について学ぶ• SQL Server と異なる点• 簡単に移行する方法

SQL Azure

Page 2: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

自己紹介

Twitter : @SQLAzureJPBlog: 蒼の王座  http://sqlazure.jp/b/メーカー系 SIer で Public Sector なお仕事

昨年度までは全社の SQL Server 技術支援Microsoft MVP - SQL Azure

Page 3: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

SQL Azure を知っていますか?

Page 4: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

Azure… 私のお金はどこに?

ローカルストレージ非構造化

Blob StorageTables Queues(NOT relational)

リレーショナルを使いたい

SQL Azure へようこそ…

Page 5: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

SQL Azure は SQL Server がベース

どんどんガラパゴス化?

Page 6: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

SQL Server SQL Azure

次世代データベースプラットフォームアーキテクチャ

Page 7: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

データベースData SyncReporting

Datamarcket

Page 8: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

Server は Machine では無い

SQL Server

SQL Azure Server

Machine

TDS Endpoint

Page 9: Windows Azure BootCamp - SQL Azure

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

Page 10: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

サーバの設定

http://windows.azure.comにアクセス

Page 11: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

以前は、 http://sqlazurelabs.com

で公開されていた Houston

データベースの作成

Page 12: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

Silverlight SQL Manager

基本的なデータベース管理機能Table, Views, Stored Procedure の作成クエリの実行データベースオブジェクトの管理

Page 13: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

SSMS で接続

Page 14: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

demo

SQL Azure データベース 作成

Page 15: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

検討ポイント ...

アプリケーション接続互換性移行管理 & セキュリティ価格、サイズ、エディションCode Near vs. Code Far vs. Hybridパーティショニング、シャーディング、フェデレーションバックアップとレプリケーション

Page 16: Windows Azure BootCamp - SQL Azure

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 のルールを最初に設定する !

Page 17: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

SQL Azure Firewall

SQL Azure 用の IP アドレスベースのアクセスコントロール

初期値はすべての IP を拒否

SQL Azure Portal を使用して設定

Windows Azure にホストされたアプリケーションからのアクセス許可・非許可の設定

インターネット

Page 18: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

SQL Azure 互換性

現在サポートしているテーブル、インデックス、ビューストアドプロシージャトリガー制約Table 変数 , 一時 temp テーブル (#t)空間型 , HierarchyId

現時点は未サポートデータ型

スパース列 , Filestream

パーティションフルテキストインデックスSQL-CLR

テーブルはクラスタ化インデックスが必須

Page 19: Windows Azure BootCamp - SQL Azure

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 ブロッキング標準で暗号化は未サポート

Page 20: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

SQL Azure セキュリティ認証と承認モデル

21

SQL Serverログイン

Databaseユーザ

Databaseロール

サーバレベルでの認証接続、権限設定

データベースレベルでの認証接続、権限設定

データベースレベルでのユーザグループと権限設定

SQL Azure は、 Mirosoft SQL Server で使用したのと同じような実績のある認証と承認モデルを使用している

Page 21: Windows Azure BootCamp - SQL Azure

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

Page 22: Windows Azure BootCamp - SQL Azure

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

Page 23: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

セキュリティモデル

一般的な SQL セキュリティモデルを使用

ログインとユーザやロールをマッピングした認証SQL オブジェクトをユーザとロールで承認

標準的な SQL 認証をサポートユーザ名とパスワード

セキュリティモデルはオンプレミスの SQL と互換性がある

Page 24: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

サイズ

Web5 GB

Business50 GB

Page 25: Windows Azure BootCamp - SQL Azure

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 円 / 月 同じ

Page 26: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

現時点の SQL Azure スケールアウト

データベースの柔軟なプロビジョニングCREATE DATABASE and go仮想でも、サーバでも無い

使用料に応じたビジネスモデル

物理管理は無し高可用性、パッチ、メンテナンスはビルトイン

Database Copy, SQL Azure Data Sync

Page 27: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

バックアップ

2種類のリスク : ディザスターリカバリとSQL による破壊バックアップ機能は、現時点で未サポート次バージョンの最優先機能提供予定

コードで他のロケーションへのデータ移行ファイルエクスポートもしかすると BCP か SSIS

Page 28: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

Database Copyデータベースを同じサーバか別のサーバのデータベースへトランザクションコピーコピー元のデータベースのダウンタイムは無しTransactional equivalent at the END of the copy同じデータセンター のみ動作同じサーバの認証情報が必要元 DB の db_owner 権限と転送先の dbmanager 権限が必要

Page 29: Windows Azure BootCamp - SQL Azure

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

Page 30: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

日本固有の問題

照合順序タイムゾーン

Page 31: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

SQL Azure Data Sync – 主要機能

柔軟にスケール成長に応じたリソースをスケールさせるサービス

コードなしで同期設定同期するデータの定義が簡単

スケジュール同期同期させるデータを選択する方法

衝突のハンドリング複数個所で同じデータを変更された場合の検知

ロギングとモニタリング問題の監視とデータの追跡が可能

課金

Page 32: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

オンプレミスとクラウドの双方向同期  SQL Server と SQL Azure の同期

Sync

メリット• クラウドへの置き換え

よりもクラウドへ拡張するシナリオ

• 投資した既存のインフラを使用しつつクラウドを活用することができる

• エンタープライズをクラウドで補完する

SQL Azur

e

Page 33: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

小売店や支店へのデータ提供

SQL Azure から SQL Server への同期

メリット• 支店や小売店などとデータ

を共有する。データをエンドユーザの近くに置く

• 遅延が少ない – データ接続にラウンドトリップが必要なし

• 高可用性 – サーバがこけてもアプリを使用可能

• ネットワーク帯域の減少 – ほとんどのデータ接続はローカル

SQL Azur

e

Page 34: Windows Azure BootCamp - SQL Azure

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)

Page 35: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

まとめ

SQL Azure は SQL Server…TDS エンドポイント既知の知識で DB 作成管理が可能データ移行は必要に応じて最適な方法を選択する検討と未来の可能性に期待しよう

Page 36: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

補足情報

一般的なガイドラインと制限事項 (英語 ) http://msdn.microsoft.com/en-us/library/ee336245.aspx 蒼の王座http://sqlazure.jp/b/

Page 37: Windows Azure BootCamp - SQL Azure

Windows Azure Boot Camp WindowsAzureBootCamp.com

?Q

& A

Ask your questions.