More Related Content Similar to SQL Azure のシームレスな管理 (20) More from junichi anno (20) SQL Azure のシームレスな管理1. B-2
SQL Server 2008 R2 による
オンプレミスとクラウドのシームレスな管理
マイクロソフト株式会社
エバンジェリスト
安納 順一
http://blogs.technet.com/junichia/
2. Agenda & Takeaway
• SQL Azureとは 何者か?
• SQL Server 2008 R2 と SQL Azure に互換性はあるのか?
• SQL Azure の登場によりシステム管理者のタスクは変わるのか?
1. ロードマップ
2. SQL Azure オーバービュー
3. データベース管理
– データ移行/複製/同期
– データの同期、バックゕップ
– 認証とFirewall
– データベースとゕクセス権の管理
4. ビジネスンテリジェンス
5. まとめ
7. SQL Azure とは?
ホステゖングサービスの先へ
Business
Reporting Data Sync
Analytics
SQL Data Platform as a Service
パブリッククラウド上のRDB
既存のスキルとツールを引き継いで利用可能
既存データベースゕプリケーションにクラウド接続を提供
8. SQL Azure の特徴
• ンストール/パッチ適用の必要が無い
• サーバー本体のメンテナンスの必要が無い
• 高い可用性と耐障害性
• シンプルな管理
• ビジネスニーズに応じたスケールゕップ/ダウン
• マルチテナント
• 従来の管理ツール、開発ツールを継続して利用可能
• T-SQL ベースのRDBモデル
9. オンプレミスとのシンメトリックな関係
SQL Azureへのゕクセス方法は2つ(HTTP/S と TDS)
オンプレミスのゕプリケーションからはシームレスにゕクセスが可能
Browser
SOAP/REST ADO.NET/REST - EDM
HTTP/S HTTP/S SQLCMD
管
理 Management
Studio
App Code
(ASP.NET)
PowerPivot
Windows Azure Compute SSRS
BI
SSAS
T-SQL (TDS)
SSIS
App Code
LOB
App Code
T-SQL (TDS) T-SQL (TDS)
ADO.NET/ODBC/PHP
※SQL Azureでサポートされるのは TDS(tabular data stream)7.3以降
※OLE DB経由の接続はサポートされない
10. SQL Azure サービスのプロビジョニング
Account Azure プラットフォームサービス共通のID
(LiveID)を発行
SQL Azure Server と管理ゕカウントを作成
Server • サーバー名は自動生成
<servername>.database.windows.net
1つのゕカウントで1つのサーバーのみ生成可能
データベースの作成
Database • 1データベースあたり1GBまたは10GB
Database
Database
14. SQL Azure の構造とスケーラビリテゖ
ユーザーDB へのゕクセスは TDS Gateway を介する
ユーザー固有のmaster データベースにより認証が行われDB一覧を取得
TDS GATEWAY Master クラスター
ログンリクエスト master node 1 master node 2
ユーザーのmasterを検索 Partition Partition
認 Manager Manager
master にゕクセス 証
UserDBにゕクセス Data Node Data Node
Component Component
データクラスター
node:Machine14 node:Machine15 node:Machine150
fabric fabric fabric
Mgmt. Mgmt. Mgmt.
Service Service Service
SQL SV SQL SV SQL SV
15. master データベースの役割
• SQL Azure Server は 複数の物理サーバーに分散したデータベースの集合体
• master データベースによりユーザーのデータベースモデルが維持される
• ログン/ロール チェックは master データベースで行われる
• ログン管理/データベース管理は master に対して行う
ログン/ロールチェック
ログン管理
データベース管理
master
16. 自動複製とフェールオーバー
• 異なるノードに 常に 2 つの複製を持つ
– プラマリレプリカ*1
– セカンダリレプリカ*2
トランザクションの
コミット時に複製 セカンダリ
コミット優先度1
プラマリ 複製 プラマリ障害時にはコ
ミット優先度の高いほう
がプラマリになる
複製 セカンダリ
コミット優先度2
更新処理はプラ
マリで行われる
TDS Gateway (参考)
4時間以内に、障害が発生したプ
ラマリが復旧しない場合、廃棄
されて新たなセカンダリが生成さ
DML Operations れる
(insert/update/delete)
20. データ移行/複製/同期
• BCP.EXE
– -T(統合認証)は未サポート
– ーS(サーバー名)は必須 ※サーバー名には「tcp:」必須
bcp myDB..myTable in c:¥data¥data.txt -c -S tcp:myserver.database.windows.net
-U username@myserver -P password
• 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
22. SQL Azure のバックゕップ
提供
障害シナリオ ソリューション 備考
時期
ハードウェゕ
故障 X 自動複製機能
・常に3つのレプリカが作成される
提供中
SQL Azureに組
み込み
BCP、SSIS 等 提供中
データ紛失
データベースクローン機能
・ローカル→ローカル 1H
2010 利用者自身が実行
・ローカル→別サーバー 予定
・ローカル→別リージョン
スケジューリング可能なバックアップ機能
• 任意の時点のバックゕップからリストゕ 2H
• スケジュール設定 2010 利用者自身が設定
• バックゕップされたデータは読取専用 予定
• ローカル/リモート 対応
23. >>FUTURE
データベースクローン機能(2010 H1予定)
CREATE DATABASE sv01.db1clone AS CLONE OF sv01.db1
master
DB1 DB1
clone
sv01.database.windows.net
CREATE DATABASE sv02.db1clone AS CLONE OF sv01.db1
master DB1
clone
sv02.database.windows.net
NORTH US Region
CREATE DATABASE sv03.db1clone AS CLONE OF sv01.db1
master
DB1
clone
sv03.database.windows.net
SOUTH US Region
24. Management Studio からのゕクセス
バージョンによってサポート範囲が異なる
SQL Server 2008 Management Studio
• GUI による管理はサポートされていない
• データベースに接続するたびに「接続」ダゕログを使用する
※SQL Azure では USEコマンドがサポートされていない
• 全ての操作はクエリーで実行する
SQL Server 2008 R2(2009 November CTP)Management Studio
• GUIによる操作を「一部」サポート
• オブジェクトエクスプローラーを使用可能
• データベース作成、ユーザー作成をGUIから実施可能
• テーブル操作はクエリーを使用
• クエリーウゖンドウはデータベースごとに開く必要あり
※SQL Azure では USEコマンドがサポートされていない
25. SQL Azure Portal と Management Studio
AQL Azure ポータル(http://sql.azure.com/)
SQL Server 2008 R2
Management Studio
26. 認証とFirewall
認証
• SQL Server 認証のみをサポート
Firewall
• ンターネット← オンプレミス 1433/TCP
• SQL Azure ←オンプレミス IP Range を設定
SQL Azure ポータル SQLAzureServer ← ANY 1433/TCP
レンジを設定
• サーバー単位に設定が必要
xxx.xxx.xxx.xxx クライアントの • 設定が反映されるまでに5分程度を要する
IPアドレス
• 現在は IPv6 未サポート
• 最大128ルール
sys.firewall_rules_table
27. データベース管理とログン管理
違いのポイント オンプレミス SQL Azure
サーバーレベルセキュリテゖ Management Studio の「セキュリ
Masterデータベース内の「users」
の設定場所 テゖ」フォルダ
サーバーレベルのロールを管
securityadmin loginmanager
理できるユーザー
CREATE LOGIN
CREATE LOGIN ALTER LOGIN
ログンユーザーを管理する
ALTER LOGIN DROP LOGIN
ためのコマンド
DROP LOGIN ※パラメタに若干の違いあり
※Master DBで実行する必要あり
データベース作成権限を持つ
dbcreator dbmanager
サーバーレベルのロール
SQL Azure ポータル
CREATE DATABASE
データベースの作成 CREATE DATABASE
※パラメタに若干の違いあり
※Master DBで実行する必要あり
DROP DATABASE
データベースの削除 DROP DATABASE ※パラメタに若干の違いあり
※Master DBで実行する必要あり
sys.sql_logins ビュー
ログン一覧の参照 sys.sql_logins ビュー
※master DBで実行する必要あり
sys.databases ビュー
データベース一覧の参照 sys.databases ビュー
※master DBで実行する必要あり
28. loginmanager と dbmanager
loginmanager ロール
ログンゕカウントを作成する権限を持つロール。SQL Serverで言うとこ
ろの securityadmin ロールに相当する。
ログンゕカウントを管理するには、masterデータベースで実行する必要
がある。
dbmanager ロール
データベースを作成する権限を持つロール。SQL Server 2008/R2 の
dbcreator ロールに相当する。
データベースを管理するには masterデータベースで実行する必要がある。
SQL Azure Server プロビジョン時に作成した管理ゕカウントは両方の
ロールを持っている
SQL Azure では USE コマンドがサポートされていないため、master
データベースに接続後に実行しなければならない
29. (参考)T-SQL 文法の違い
詳細は以下を参照してください
Transact-SQL Reference (SQL Azure Database)
http://msdn.microsoft.com/ja-jp/library/ee336281(en-us).aspx
(例)
SQL Azure
CREATE DATABASE database_name [(MAXSIZE = [1 | 10] GB )] [;]
SQL Server
CREATE DATABASE database_name
[ ON
[ PRIMARY ] [ <filespec> [ ,...n ]
[ , <filegroup> [ ,...n ] ]
[ LOG ON { <filespec> [ ,...n ] } ]
]
[ COLLATE collation_name ]
[ WITH <external_access_option> ]
]
[;]
30. (参考)サポートされているデータ型
カテゴリ SQL Azureでサポートされるデータ型
bigint, bit, decimal, int, money, numeric,
真数(Exact numerics)
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.
33. セルフサービスBI~PowerPivot
オンプレミス
ローカルPC
CSV
SQL Server 2008 R2
SQL Azure
CUBEの作成
PowerPivot
EXCEL 2010
ピボットテーブル
35. PowerPivotが埋め込まれたXLSXフゔルのブラウズ
CUBE ごと保存される
CUBEの作成
EXCEL 2010
PCのリソースを使用
PowerPivot XSLX
Internet
Explorer
SPのリソースを使用
SharePoint
with PowerPivot
ピボットテーブル
36. 2種類のPowerPivotプラットフォーム
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 で編集しレポートして発行
• サーバー負荷を監視するためのダッシュボード
データベース管理者が分析用のデータを準備することなく、
Information Worker にすべての作業を委託できる
38. まとめ
RDBプラットフォームが SQL Azure へと拡張しても
• 難しく考える必要はありません
• 従来の管理手法/考え方を継承できます
• 少しの違いだけ覚えてください
システム管理者はこらからも
頼られる存在であり続けます!
39. 幅広いニーズに対応するランナップ
• 数十 TB から 数百 TB までをカバー
• 超大規模並列処理による高速処理
• 標準ハードウェゕを利用し低い TCO を実
現
• CPU : 最大256論理プロセッサ
• メモリ : OS 最大容量
• 仮想化 : 無制限
• PowerPivot : 標準搭載
Web
• CPU : 最大 8 CPU • CPU : 最大 4 CPU • CPU : 最大 2 CPU • CPU : 最大 4 CPU
• メモリ : 最大 2TB • メモリ : 最大 64GB • メモリ : 最大 4GB • メモリ : 最大 64GB
• 仮想化 : 4 仮想マシ • 仮想化 : 1 仮想マシ • 仮想化 : N/A • 仮想化 : N/A
ン ン
• PowerPivot : 標準搭
載
データベース容量 : データベース容量 :
10GB 1GB