40
SQL Server 2008 R2 よる オンプレミス とクラウドのシームレスな 管理 マイクロソフト株式会社 エバンジェリスト 安納 順一 http://blogs.technet.com/junichia/ B-2

SQL Azure のシームレスな管理

Embed Size (px)

DESCRIPTION

SQL Server 2008 R2 と SQL Azureのシームレスな関係について説明しています

Citation preview

Page 1: SQL Azure のシームレスな管理

SQL Server 2008 R2 による オンプレミスとクラウドのシームレスな管理

マイクロソフト株式会社

エバンジェリスト

安納 順一

http://blogs.technet.com/junichia/

B-2

Page 2: SQL Azure のシームレスな管理

Agenda & Takeaway

1. ロードマップ 2. SQL Azure オーバービュー 3. データベース管理

– データ移行/複製/同期 – データの同期、バックゕップ – 認証とFirewall – データベースとゕクセス権の管理

4. ビジネスンテリジェンス 5. まとめ

• SQL Azureとは 何者か? • SQL Server 2008 R2 と SQL Azure に互換性はあるのか? • SQL Azure の登場によりシステム管理者のタスクは変わるのか?

Page 3: SQL Azure のシームレスな管理

ロードマップ

Page 4: SQL Azure のシームレスな管理

ロードマップ 過去

Page 5: SQL Azure のシームレスな管理

ロードマップ 今~未来

Page 6: SQL Azure のシームレスな管理

SQL AZURE オーバービュー まずは初物から

Page 7: SQL Azure のシームレスな管理

Business Analytics

Reporting Data Sync

パブリッククラウド上のRDB

既存のスキルとツールを引き継いで利用可能

既存データベースゕプリケーションにクラウド接続を提供

SQL Data Platform as a Service

SQL Azure とは?

ホステゖングサービスの先へ

Page 8: SQL Azure のシームレスな管理

SQL Azure の特徴

• ンストール/パッチ適用の必要が無い

• サーバー本体のメンテナンスの必要が無い

• 高い可用性と耐障害性

• シンプルな管理

• ビジネスニーズに応じたスケールゕップ/ダウン

• マルチテナント

• 従来の管理ツール、開発ツールを継続して利用可能

• T-SQL ベースのRDBモデル

Page 9: SQL Azure のシームレスな管理

オンプレミスとのシンメトリックな関係

Browser

SOAP/REST HTTP/S

T-SQL (TDS)

App Code (ASP.NET)

ADO.NET/REST - EDM HTTP/S

Windows Azure Compute

App Code T-SQL (TDS)

※SQL Azureでサポートされるのは TDS(tabular data stream)7.3以降 ※OLE DB経由の接続はサポートされない

SSIS

SSAS

App Code T-SQL (TDS)

PowerPivot

SSRS

SQL Azureへのゕクセス方法は2つ(HTTP/S と TDS) オンプレミスのゕプリケーションからはシームレスにゕクセスが可能

Management Studio

SQLCMD 管理 B

I

LO

B

ADO.NET/ODBC/PHP

Page 10: SQL Azure のシームレスな管理

SQL Azure サービスのプロビジョニング

Account

Server

Azure プラットフォームサービス共通のID(LiveID)を発行

SQL Azure Server と管理ゕカウントを作成 • サーバー名は自動生成

<servername>.database.windows.net

データベースの作成 • 1データベースあたり1GBまたは10GB

Database

Database

Database

1つのゕカウントで1つのサーバーのみ生成可能

Page 11: SQL Azure のシームレスな管理

(参考)ゕカウント作成直後

まだデータベース用ノードは割り当てられていない

Page 12: SQL Azure のシームレスな管理

(参考)サーバー作成と管理カウントの作成

ここで作成したゕカウントが sa 権限を持つ

Page 13: SQL Azure のシームレスな管理

(参考)サーバー名とmaster DBの割り当て

サーバー名

初期は master データベースのみが割り当てられる

Page 14: SQL Azure のシームレスな管理

TDS GATEWAY

SQL Azure の構造とスケーラビリテゖ

node:Machine150

fabric

SQL SV

Mgmt. Service

node:Machine14

fabric

SQL SV

Mgmt. Service

node:Machine15

fabric

SQL SV

Mgmt. Service

データクラスター

Master クラスター

master node 1

Partition Manager

Data Node Component

master node 2

Partition Manager

Data Node Component

master にゕクセス

ログンリクエスト

UserDBにゕクセス

ユーザーのmasterを検索 認証

ユーザーDB へのゕクセスは TDS Gateway を介する ユーザー固有のmaster データベースにより認証が行われDB一覧を取得

Page 15: SQL Azure のシームレスな管理

master データベースの役割

• SQL Azure Server は 複数の物理サーバーに分散したデータベースの集合体 • master データベースによりユーザーのデータベースモデルが維持される • ログン/ロール チェックは master データベースで行われる • ログン管理/データベース管理は master に対して行う

ログン/ロールチェック ログン管理 データベース管理

master

Page 16: SQL Azure のシームレスな管理

自動複製とフェールオーバー • 異なるノードに 常に 2 つの複製を持つ

– プラマリレプリカ*1

– セカンダリレプリカ*2

TDS Gateway

DML Operations (insert/update/delete)

トランザクションのコミット時に複製

コミット優先度1

コミット優先度2

プラマリ障害時にはコミット優先度の高いほう

がプラマリになる

プラマリ

セカンダリ

セカンダリ

複製

複製

(参考) 4時間以内に、障害が発生したプラマリが復旧しない場合、廃棄されて新たなセカンダリが生成される

更新処理はプラマリで行われる

Page 17: SQL Azure のシームレスな管理

ロードバランス

プラマリ セカンダリ セカンダリ

Load Balancer

5分に1回のチェックサクルで最適なノードを選定

Page 18: SQL Azure のシームレスな管理

いろいろ小難しいこと言ってるけど、 ぜーんぶ 勝手にやってくれるんだって! これならデータセンターよりいいかも…

Page 19: SQL Azure のシームレスな管理

データベースの管理 クラウドだって管理は必要

Page 20: SQL Azure のシームレスな管理

データ移行/複製/同期

• BCP.EXE – -T(統合認証)は未サポート

– ーS(サーバー名)は必須 ※サーバー名には「tcp:」必須

• SQL Server Integration Service – 接続マネージャーに「ADO.NET」を使用

• Bulk API(ADO.NET / ODBC)

• Third Party Tools

• Sync Framework

– Power Pack for SQL Azure November CTP(32-bit)

• SqlAzureSyncProvider

• SQL Azure Offline Visual Studio Plug-In

• SQL Azure Data Sync Tool for SQL Server

• New SQL Azure Events

• Automated Provisioning

bcp myDB..myTable in c:¥data¥data.txt -c -S tcp:myserver.database.windows.net -U username@myserver -P password

Page 21: SQL Azure のシームレスな管理

SQL Azure を介した拠点間複製

• SQL Azureをハブとして拠点間のDBを同期 • 1433/TCP を 「内部 → ンターネット」 でOpenすれば通信可能

Page 22: SQL Azure のシームレスな管理

SQL Azure のバックゕップ

データ紛失 BCP、SSIS 等 提供中

データベースクローン機能

・ローカル→ローカル

・ローカル→別サーバー

・ローカル→別リージョン

1H 2010 予定

利用者自身が実行

スケジューリング可能なバックアップ機能

• 任意の時点のバックゕップからリストゕ

• スケジュール設定

• バックゕップされたデータは読取専用

• ローカル/リモート 対応

2H 2010 予定

利用者自身が設定

ハードウェゕ 故障 X 自動複製機能

・常に3つのレプリカが作成される 提供中

SQL Azureに組み込み

障害シナリオ ソリューション 提供 時期

備考

Page 23: SQL Azure のシームレスな管理

NORTH US Region

データベースクローン機能(2010 H1予定)

SOUTH US Region

sv02.database.windows.net

sv03.database.windows.net

master

master

master

DB1 clone

CREATE DATABASE sv01.db1clone AS CLONE OF sv01.db1

DB1 clone

sv01.database.windows.net

DB1 clone

CREATE DATABASE sv02.db1clone AS CLONE OF sv01.db1

CREATE DATABASE sv03.db1clone AS CLONE OF sv01.db1

DB1

>>FUTURE

Page 24: SQL Azure のシームレスな管理

Management Studio からのゕクセス

バージョンによってサポート範囲が異なる

SQL Server 2008 Management Studio

SQL Server 2008 R2(2009 November CTP)Management Studio

• GUI による管理はサポートされていない • データベースに接続するたびに「接続」ダゕログを使用する

※SQL Azure では USEコマンドがサポートされていない • 全ての操作はクエリーで実行する

• GUIによる操作を「一部」サポート • オブジェクトエクスプローラーを使用可能 • データベース作成、ユーザー作成をGUIから実施可能 • テーブル操作はクエリーを使用

• クエリーウゖンドウはデータベースごとに開く必要あり ※SQL Azure では USEコマンドがサポートされていない

Page 25: SQL Azure のシームレスな管理

SQL Azure Portal と Management Studio

AQL Azure ポータル(http://sql.azure.com/)

SQL Server 2008 R2 Management Studio

Page 26: SQL Azure のシームレスな管理

認証とFirewall

SQL Azure ポータル

xxx.xxx.xxx.xxx

SQLAzureServer ← ANY 1433/TCP

認証 • SQL Server 認証のみをサポート

Firewall

• ンターネット← オンプレミス 1433/TCP • SQL Azure ←オンプレミス IP Range を設定

レンジを設定

クライアントのIPアドレス

• サーバー単位に設定が必要 • 設定が反映されるまでに5分程度を要する • 現在は IPv6 未サポート • 最大128ルール

sys.firewall_rules_table

Page 27: SQL Azure のシームレスな管理

データベース管理とログン管理

違いのポイント オンプレミス SQL Azure

サーバーレベルセキュリテゖの設定場所

Management Studio の「セキュリテゖ」フォルダ

Masterデータベース内の「users」

サーバーレベルのロールを管理できるユーザー

securityadmin loginmanager

ログンユーザーを管理するためのコマンド

CREATE LOGIN ALTER LOGIN DROP LOGIN

CREATE LOGIN ALTER LOGIN DROP LOGIN ※パラメタに若干の違いあり ※Master DBで実行する必要あり

データベース作成権限を持つサーバーレベルのロール

dbcreator dbmanager

データベースの作成 CREATE DATABASE

SQL Azure ポータル CREATE DATABASE ※パラメタに若干の違いあり ※Master DBで実行する必要あり

データベースの削除 DROP DATABASE DROP DATABASE ※パラメタに若干の違いあり ※Master DBで実行する必要あり

ログン一覧の参照 sys.sql_logins ビュー sys.sql_logins ビュー ※master DBで実行する必要あり

データベース一覧の参照 sys.databases ビュー sys.databases ビュー ※master DBで実行する必要あり

Page 28: SQL Azure のシームレスな管理

loginmanager と dbmanager

loginmanager ロール

ログンゕカウントを作成する権限を持つロール。SQL Serverで言うところの securityadmin ロールに相当する。 ログンゕカウントを管理するには、masterデータベースで実行する必要がある。

dbmanager ロール

データベースを作成する権限を持つロール。SQL Server 2008/R2 の dbcreator ロールに相当する。 データベースを管理するには masterデータベースで実行する必要がある。

SQL Azure Server プロビジョン時に作成した管理ゕカウントは両方のロールを持っている SQL Azure では USE コマンドがサポートされていないため、master データベースに接続後に実行しなければならない

Page 29: SQL Azure のシームレスな管理

(参考)T-SQL 文法の違い

詳細は以下を参照してください Transact-SQL Reference (SQL Azure Database) http://msdn.microsoft.com/ja-jp/library/ee336281(en-us).aspx

(例)

CREATE DATABASE database_name [(MAXSIZE = [1 | 10] GB )] [;]

SQL Azure

SQL Server

CREATE DATABASE database_name [ ON [ PRIMARY ] [ <filespec> [ ,...n ] [ , <filegroup> [ ,...n ] ] [ LOG ON { <filespec> [ ,...n ] } ] ] [ COLLATE collation_name ] [ WITH <external_access_option> ] ] [;]

Page 30: SQL Azure のシームレスな管理

(参考)サポートされているデータ型

カテゴリ SQL Azureでサポートされるデータ型

真数(Exact numerics) bigint, bit, decimal, int, money, numeric, smallint, smallmoney, tinyint.

概数(Approximate numerics) float, real.

日付と時刻 date, datetime2, datetime, datetimeoffset, smalldatetime, time.

文字列 char, varchar, text.

Unicode文字列 nchar, nvarchar, ntext.

バナリ文字列 binary, varbinary, image.

その他のデータ型

cursor, sql_variant, table, timestamp, uniqueidentifier, xml. ※非サポート hierarchyid, geography, geometry.

Page 31: SQL Azure のシームレスな管理

よくあるご質問

• プロフゔラ、DMV 等 のサポート

• Spatial データタプ

• フルテキストサーチ

• 変更追跡

• SQL CLR

• クラウドベースのBI機能

• 暗号化と圧縮

• Windows Identity Framework による認証サポート

以下の機能は現時点(SQL Azure V1)ではサポートされていません

Page 32: SQL Azure のシームレスな管理

BI機能との親和性 これから目が離せない

Page 33: SQL Azure のシームレスな管理

オンプレミス

ローカルPC

セルフサービスBI~PowerPivot

PowerPivot

SQL Azure SQL Server 2008 R2

CSV

CUBEの作成

ピボットテーブル EXCEL 2010

Page 34: SQL Azure のシームレスな管理

PowerPivot の多彩なデータソース

Page 35: SQL Azure のシームレスな管理

PowerPivotが埋め込まれたXLSXフゔルのブラウズ

PowerPivot

CUBEの作成

ピボットテーブル

XSLX

SharePoint with PowerPivot

CUBE ごと保存される

EXCEL 2010

Internet Explorer

PCのリソースを使用

SPのリソースを使用

Page 36: SQL Azure のシームレスな管理

2種類のPowerPivotプラットフォーム

データベース管理者が分析用のデータを準備することなく、 Information Worker にすべての作業を委託できる

PowerPivot for EXCEL 2010 • 使い慣れた Excel に Data Analysis エンジンを組み込み • 基本操作はピボットテーブル • 64bit インメモリ エンジンと圧縮ゕルゴリズムによる高速処理 • SQL Server SSASを介さず、さまざまなデータソースへ直接接続 • 100万件を超えるデータに対応(EXCELの上限は1,048,576件)

PowerPivot for SharePoint 2010 ※Excel Services 用の PowerPivot

• PowerPivot を使用したEXCELシートの共有 • EXCEL サービスに PowerPivot 処理機能を付加 • ブラウザを使用して PowerPivot を使用したEXCELブックを表示 • Silverlight ベースの PowerPivot ギャラリー • 保存されたBOOKは ReportBuilder で編集しレポートして発行 • サーバー負荷を監視するためのダッシュボード

編集/分析

共有/参照

Page 37: SQL Azure のシームレスな管理

まとめ

Page 38: SQL Azure のシームレスな管理

まとめ

• 難しく考える必要はありません

• 従来の管理手法/考え方を継承できます

• 少しの違いだけ覚えてください

RDBプラットフォームが SQL Azure へと拡張しても

システム管理者はこらからも 頼られる存在であり続けます!

Page 39: SQL Azure のシームレスな管理

幅広いニーズに対応するランナップ

Web

• 数十 TB から 数百 TB までをカバー

• 超大規模並列処理による高速処理

• 標準ハードウェゕを利用し低い TCO を実現

• CPU : 最大256論理プロセッサ

• メモリ : OS 最大容量

• 仮想化 : 無制限

• PowerPivot : 標準搭載

• CPU : 最大 8 CPU

• メモリ : 最大 2TB

• 仮想化 : 4 仮想マシン

• PowerPivot : 標準搭載

• CPU : 最大 4 CPU

• メモリ : 最大 64GB

• 仮想化 : 1 仮想マシン

• CPU : 最大 2 CPU

• メモリ : 最大 4GB

• 仮想化 : N/A

• CPU : 最大 4 CPU

• メモリ : 最大 64GB

• 仮想化 : N/A

データベース容量 : 10GB

データベース容量 : 1GB

Page 40: SQL Azure のシームレスな管理