在Windows azure平台上進行資料庫處理及架構設計

49
Windows Azure 在在在 在在在在在在在在在在在在 Sky Chang blog.sanc.idv.tw

description

在Windows azure平台上進行資料庫處理及架構設計

Transcript of 在Windows azure平台上進行資料庫處理及架構設計

Page 1: 在Windows azure平台上進行資料庫處理及架構設計

在 Windows Azure  平台上進行資料庫處理及架構設計Sky Changblog.sanc.idv.tw

Page 2: 在Windows azure平台上進行資料庫處理及架構設計

About.me

Sky ChangWindows Azure 微軟最有價值專家

天空的垃圾場blog.sanc.idv.tw

• ASP.NET MVC• Visual Studio ALM• Windows Azure

Page 3: 在Windows azure平台上進行資料庫處理及架構設計

Global Footprint

Page 4: 在Windows azure平台上進行資料庫處理及架構設計

Agenda

SQL Server 2014 in Azure VM Deploy a database to SQL Server in a

Windows Azure Virtual Machine SQL Server Backup and Restore to

Azure Blob Storage Service Windows Azure SQL Database Windows Azure SQL Data Sync How to choose

Page 5: 在Windows azure平台上進行資料庫處理及架構設計

SQL Server 2014 in Windows Azure VM

Page 6: 在Windows azure平台上進行資料庫處理及架構設計

PaaS SaaSPhysical

Virtual IaaS

A Continuous Offering From Private to

Public Cloud

Page 7: 在Windows azure平台上進行資料庫處理及架構設計

SQL Server in Azure VM 完整兼容 SQL Server 產品 完全的控制 OS 與 SQL Server

SQL Database

Page 8: 在Windows azure平台上進行資料庫處理及架構設計

快速部屬 隨選隨用 提供各種版本 建置速度超快

Page 9: 在Windows azure平台上進行資料庫處理及架構設計

注意事項 開啟端點 開啟防火牆 開啟 DB 端點

http://blog.sanc.idv.tw/2013/08/windows-azure-sql-server-in-vm.html

Page 10: 在Windows azure平台上進行資料庫處理及架構設計

demo

Creating A SQL Database Server

Page 11: 在Windows azure平台上進行資料庫處理及架構設計

Deploy a database to SQL Server in a

Windows Azure Virtual Machine

Page 12: 在Windows azure平台上進行資料庫處理及架構設計

Deploy to Azure VM SQL Server 2014 新功能 VM 需開啟 port 11435 簡化原本繁雜的動作

Page 13: 在Windows azure平台上進行資料庫處理及架構設計

demo

Deploy to Azure VM

Page 14: 在Windows azure平台上進行資料庫處理及架構設計

SQL Server Backup and Restore to Windows Azure Blob Storage

Service

Page 15: 在Windows azure平台上進行資料庫處理及架構設計

Data-Tier Application Framework 替代傳統 Script 的作法 大大的簡化數據庫的部屬和遷移 提供 dacpac 和 bacpac 模式 支援 SQL Server 2005 以上版本 快速建立從無到有的 db

Page 16: 在Windows azure平台上進行資料庫處理及架構設計

Backup and Restore to Azure Blob Storage 透過 DAC 機制 封裝成 bacpac 而非使用

dacpac 提供快速備份與還原 SQL

Server DB SQL Server 2012 SP1 with

cu2 後開始支援

http://blog.sanc.idv.tw/2013/08/windows-azure-sql-serverdacazureblob.html

Page 17: 在Windows azure平台上進行資料庫處理及架構設計

demo

SQL Server Backup and Restore to Windows Azure Blob Storage Service

Page 18: 在Windows azure平台上進行資料庫處理及架構設計

Windows Azure SQL Database

Page 19: 在Windows azure平台上進行資料庫處理及架構設計

SaaSPhysical Virtual

A Continuous Offering From Private To

Public Cloud

IaaS PaaS

Page 20: 在Windows azure平台上進行資料庫處理及架構設計

此 Server 不是一台機器…SQL

ServerA Machine

SQL Database

Server

A TDS Endpoint

Page 21: 在Windows azure平台上進行資料庫處理及架構設計

SQL Database SQL Server database 是一種

服務 完全的託管 自動支援企業級 HA 應用程式的理想選擇

Page 22: 在Windows azure平台上進行資料庫處理及架構設計

demo

Creating A SQL Database Server

Page 23: 在Windows azure平台上進行資料庫處理及架構設計

如何工作Architecture Client Layer -

使用應用程式來與 SQL Database溝通 .

Services Layer – Client layer 和 Platform layer 之

間的閘道 . Platform Layer –

實體和支持著 Services layer 的服務 .

Infrastructure Layer – 最底層的硬體和 OS.

Infrastructure Layer

PHPWCF Data Services

SQL ServerApplications

and Tools

ODBC ADO.NET

Tabular Data Stream (TDS)

Client Layer

Services Layer

Provisioning

Billing and Metering

Connection Routing

Provisioning

Billing and Metering

Connection Routing

Provisioning

Billing and Metering

Connection Routing

TDS+SSL

Platform Layer

SQL Server

SQL Database

Fabric

Management Services

SQL Server

SQL Database

Fabric

Management Services

SQL Server

SQL Database

Fabric

Management Services

Page 24: 在Windows azure平台上進行資料庫處理及架構設計

Create Database…Use Familiar TechnologiesTransact-SQL

Languages.NET Framework (C#, Visual Basic, F#) via ADO.NET

C / C++ via ODBC

Java via Microsoft JDBC provider

PHP via Microsoft PHP provider

FrameworksOData, Entity Framework, WCF Data Services, NHibernate

ToolsSQL Server Management Studio (2008 R2 and later)

SQL Server command-line utilities (SQLCMD, BCP)

SQL Server Comparison專注於邏輯 vs. 實體的管理Database and log files 自動放置高可用性副本 – 每個資料庫都會自動放置三份每個 Table 都需要建立 clustered index

最大為 150 GB

Unsupported SQL Server Features使用命令 , 分佈式的 transactions, 分佈式的 views

Service Broker

Common Language Runtime (CLR)

SQL Agent

Native Encryption

*Backup / Restore

Page 25: 在Windows azure平台上進行資料庫處理及架構設計

保護資料庫的兩種方式 :

Within The Database

On The Server

Page 26: 在Windows azure平台上進行資料庫處理及架構設計

Server identity and access control 支援 SQL 驗證 ( 不支援整合式

驗證 ) 使用類似 sa 的登入帳號 兩種角色 : loginmanager: 用來創建登入

的伺服器安全角色 dbmanager: 用來創建資料庫

的伺服器安全角色

Page 27: 在Windows azure平台上進行資料庫處理及架構設計

Database identity and access control 需要使用關聯的用戶帳號登入 . 登入會自動擁有 dbo. 在 Database 裡面, dbo 有充分的權利 . 管理使用者透過

CREATE / ALTER / DROP USER 指令 使用 sp_add_rolemember 來給予角色

權限

Page 28: 在Windows azure平台上進行資料庫處理及架構設計

Securing your data 利用 IP 來訪問與控管 SQL

Database 默認情況下,沒有開放任何 IP 透過 SQL Database Portal 和

REST API 來管理 透過 disable/enable 來控制存

取 Windows AzureServices Layer

Services Layer

Internet

SQL Database Firewall

Page 29: 在Windows azure平台上進行資料庫處理及架構設計

SQL Database Management Portal 透過網頁來設計 tables, views, stored

procs 執行查詢與下指令

SQL Server Data Tools (SSDT) Visual Studio IDE 為主體的 Database 開

發工具 輕易比對兩端的資料結構狀態 在連線與離線狀態下開發與測試 平台從 SQL Server (2005 and above)

到 SQL Database

Page 30: 在Windows azure平台上進行資料庫處理及架構設計

Connecting To SQL Database 支持 TDS (Tabular Data Stream)

protocol over TCP/IP SSL 是必須的ASP.NET EXAMPLE:<connectionStrings><addname="AdventureWorks"connectionString=

"Data Source=[server].database.windows.net;Integrated Security=False;Initial Catalog=ProductsDb;User Id=[login];Password=[password];Trusted_Connection=False;Encrypt=true;"

providerName="System.Data.SqlClient"/></connectionStrings>

Page 31: 在Windows azure平台上進行資料庫處理及架構設計

Import & Export 輸出至 Blob 可以定期的輸出備份 輸出的資料可以再 Import 進

Page 32: 在Windows azure平台上進行資料庫處理及架構設計

demo

Import & Export

Page 33: 在Windows azure平台上進行資料庫處理及架構設計

Windows Azure SQL Data Sync

Page 34: 在Windows azure平台上進行資料庫處理及架構設計

SQL Databas

e (US)

SQL Databas

e (Hub)

SQL Server (host)

SQL Databas

e (WE)

Data Synchronization 使用 Microsoft Sync Framework

technology 不需要任何的 Code 與配置設定 在 SQL Database or SQL Server 之間同

步資料 完全自訂自己需要的商業需求

Page 35: 在Windows azure平台上進行資料庫處理及架構設計

Syncing Between SQL Server And SQL Database

SQL Server

Application

Local

SQL Databa

se

Application

Cloud

E.g. 遷移期間E.g. 不同應用程式共享資料

多地點 ( 分公司 )在各地點分享資料資料集中在 cloud

Sync

Sync

SQL Server

Application

Page 36: 在Windows azure平台上進行資料庫處理及架構設計

demo

SQL Data Sync

http://blog.sanc.idv.tw/2013/08/windows-azure-sql-database-data-sync.html

Page 37: 在Windows azure平台上進行資料庫處理及架構設計

How to choose

Page 38: 在Windows azure平台上進行資料庫處理及架構設計

SQL Database vs. SQL Server in Azure VM 是否需要完整兼容 SQL Server 產品 想要的控制權與成本 數據庫的規模與要求

http://blogs.msdn.com/b/windowsazure/archive/2012/06/26/data-series-sql-server-in-windows-azure-virtual-machine-vs-sql-database.aspx

Page 39: 在Windows azure平台上進行資料庫處理及架構設計

SQL Server inside Windows Azure VM

Windows Azure SQL Database

遷移現有的應用程式 快 中建立新的應用程式 中 快

從建置時間來比較

Page 40: 在Windows azure平台上進行資料庫處理及架構設計

從花費比較SQL Server inside

Windows Azure VMWindows Azure SQL Database

硬體管理 無 無軟體管理 (Database &

OS)中 無

機器高可用性 自動 不需要

數據高可用性 需手動建立 內建標準功能

花費 中 低

Page 41: 在Windows azure平台上進行資料庫處理及架構設計

Scale Model

SQL Server inside Windows Azure VM

Windows Azure SQL Database

Scale-Up

X-Large VM(8 cores, 14GB RAM,

up to 16 TB disk space)

不支援

Scale-Out 需手動設定 內建功能

Page 42: 在Windows azure平台上進行資料庫處理及架構設計

Control & Customize

SQL Server inside Windows Azure VM

Windows Azure SQL Database

OS and VM 完全控制 不可控制

SQL Server Database 兼容與功

完整支援 SSIS, SSAS, SSRS

較大的SQL Server 功能

Page 43: 在Windows azure平台上進行資料庫處理及架構設計

Hybrid

SQL Server inside Windows Azure VM

Windows Azure SQL Database

加入 AD 可 不可能

Azure Data Sync 同步 支援 支援

Page 44: 在Windows azure平台上進行資料庫處理及架構設計

ManageabilitySQL Server inside

Windows Azure VMWindows Azure SQL Database

資源管理與安全級別 SQL Instance/VM Logical DB Server

工具支援

現有的 SQL Server tools 包含 SSMS, System Center 和

SSDT

現有的 SQL Server tools 包含 SSMS, System Center 和

SSDT

Page 45: 在Windows azure平台上進行資料庫處理及架構設計

如何獲得百萬跑車 ? 2013/09/30 前 , 只要依照規定啓用 MSDN 訂閱隨附的 Windows Azure 權益 , 即有機會將北美預估零售價 118,600 美元的 Aston Martin V8 Vantage Coupe 開回家 . 詳情請參閱 Windows Azure 網站 : http://www.microsoft.com/taiwan/windowsazure/

Page 46: 在Windows azure平台上進行資料庫處理及架構設計

start now.http://WindowsAzure.com

Page 47: 在Windows azure平台上進行資料庫處理及架構設計

blog.sanc.idv.twThank

You

Page 48: 在Windows azure平台上進行資料庫處理及架構設計

TechDays 2013http://www.microsoft.com/taiwan/techdays2013/

Page 49: 在Windows azure平台上進行資料庫處理及架構設計

© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.