Windows Azure Data Services Scott Klueppel Chief Cloud Evangelist SOAlutions, Inc.

Slides:



Advertisements
Similar presentations
Eric Nelson Application Architect, Microsoft |
Advertisements

Page 1 Ricardo Villalobos Windows Azure Architect Evangelist Microsoft Corporation Designing, Building, and Deploying Windows Azure applications.
Module 4: Creating Data Types and Tables. Overview Creating Data Types Creating Tables Generating Column Values Generating Scripts.
Azure Services Platform Piotr Zierhoffer. Agenda Cloud? What is Azure? Environment Basic glossary Architecture Element description Deployment.
Fundamentals, Design, and Implementation, 9/e Chapter 12 ODBC, OLE DB, ADO, and ASP.
Overview Of Microsoft New Technology ENTER. Processing....
Blob Storage. What is Blob Storage Windows Azure Blob storage is a service for storing large amounts of unstructured data that can be accessed from anywhere.
Jeremy Boyd Director – Mindscape MSDN Regional Director
Virtual techdays INDIA │ november 2010 Windows Azure Storage – Deep Dive Gaurav Mantri │ Founder, Cerebrata Software.
1 Nassau Community CollegeProf. Vincent Costa Acknowledgements: Introduction to Database Management, All Rights ReservedIntroduction to Database Management.
Phonegap Bridge – File System CIS 136 Building Mobile Apps 1.
Windows Azure Storage Services Saranya Sriram, Technology Evangelist, Microsoft, India.
WINDOWS AZURE STORAGE 11 de Mayo, 2011 Gisela Torres – Windows Azure MVP Aventia-Renacimiento Twitter:
Windows Azure SQL Database and Storage Name Title Organization.
Driving the Azure Service Bus Scott Klueppel Solutions Architect SOAlutions, Inc.
Overview of SQL Server Alka Arora.
Microsoft Azure Introduction ISYS 512. Microsoft Azure Microsoft Azure is a cloud.
Windows Azure featureISO 27001SSAE 16 SOC 1 Type 2 EU Model Clauses HIPAA BAA Web Sites Virtual Machines Cloud Services Storage (Tables,
Building Connected Windows 8 Apps with Windows Azure Web Sites Name Title Organization.
MSDN Event. WINDOWS AZURE STORAGE Windows Azure Storage Storage in the Cloud –Scalable, durable, and available –Anywhere at anytime access –Only pay.
Larisa kocsis priya ragupathy
Austin code camp 2010 asp.net apps with azure table storage PRESENTED BY CHANDER SHEKHAR DHALL
Bring your own machines, connectivity, software, etc. Complete control Complete responsibility Static capabilities Upfront capital costs for the infrastructure.
Windows Azure Tour Benjamin Day Benjamin Day Consulting, Inc.
WINDOWS AZURE STORAGE SERVICES A brief comparison and overview of storage services offered by Microsoft.
Table Storage. Access Table storage Add the following namespace declarations to the top of any C# file in which you wish to programmatically access Windows.
Windows Azure Storage Cloud Computing Soup to Nuts Mike Benkovich Microsoft Corporation btlod-72.
SQL Data Definition Language (DDL) Using Microsoft SQL Server 1SDL Data Definition Language (DDL)
T.N.C.Venkata Rangan CEO, Vishwak Solutions Your Data on Cloud.
Unit 6 Data Storage Design. Key Concepts 1. Database overview 2. SQL review 3. Designing fields 4. Denormalization 5. File organization 6. Object-relational.
Pradeep S Pushpendra Singh Consultants, Neudesic Technologies, Hyderabad, India.
Building Applications with Windows Azure Storage Brad Calder Director/Architect Microsoft Corporation.
Module 3: Creating Data Types and Tables. Overview Working with Data Types Working with Tables Generating Column Values Generating Scripts.
Christopher M. Pascucci.NET Programming: Databases & ADO.NET.
Virtual techdays INDIA │ august 2010 Building & Migrating Web applications using Windows Azure storage Ramaprasanna Chellamuthu │ Developer Evangelist;
Data Types Lesson 4. Skills Matrix Table A table stores your data. Tables are relational in that they are organized as rows and columns (a matrix). Each.
Advanced Web 2012 Lecture 3 Sean Costain What is a Database? Sean Costain 2012 A database is a structured way of dealing with structured information.
SQL Server 2005 Implementation and Maintenance Chapter 3: Tables and Views.
Azure in a Day Azure Tables Module 1: Azure Tables Overview Module 2: REST API – DEMO: Azure Table REST API Module 3: Querying Azure Tables – DEMO: Querying.
GLOBEX INFOTEK Copyright © 2013 Dr. Emelda Ntinglet-DavisSYSTEMS ANALYSIS AND DESIGN METHODSINTRODUCTORY SESSION EFFECTIVE DATABASE DESIGN for BEGINNERS.
Martin Cairney Hybrid data platform – making the most of Azure plus your on- prem kit DAT341 B.
INTRODUCING SQL SERVER 2012 COLUMNSTORE INDEXES Exploring and Managing SQL Server 2012 Database Engine Improvements.
A Technical Overview Bill Branan DuraCloud Technical Lead.
Windows Azure Fundamentals Services Storage. Table of contents Overview Cloud service basics Managing cloud services Cloud storage basics Table storage.
Azure databases 1. Azure storage possibilities Azure offers several storage possibilities Microsoft SQL Server database MySQL database Azure Document.
Azure in a Day Training: Windows Azure Module 1: Windows Azure Overview Module 2: Development Environment / Portal – DEMO: Signing up for Windows Azure.
Technology Drill Down: Windows Azure Platform Eric Nelson | ISV Application Architect | Microsoft UK |
Introduction to Core Database Concepts Getting started with Databases and Structure Query Language (SQL)
Creating E/R Diagrams with SQL Server Management Studio, Writing SQL Queries D0ncho Minkov Telerik School Academy schoolacademy.telerik.com Technical Trainer.
Bellevue College Workshop Azure Storage & SQL Mohamed El Hassouni Hans Olav Norheim.
Windows Azure: Is the Relational Database Dead? Benjamin Day
Windows Azure Custom Software Development Mobile Middleware Windows Azure Storage Dipl.-Ing. Damir Dobric Lead Architect daenet
Presented by: Aaron Stanley King.  Benefits of SQL Azure  Features of SQL Azure  Demos, Demos, Demos!  How to query in SQL Azure  More Demos!  Recent.
Database Design: Solving Problems Before they Start! Ed Pollack Database Administrator CommerceHub.
Creating Database Objects
Azure Primed Randy Pagels Sr. Developer Technology Specialist
Managing Tables, Data Integrity, Constraints by Adrienne Watt
Module 2: Creating Data Types and Tables
Lesson 7 Managing Data Creating a database with Web Matrix.
Relational databases, and more …
03 | Data Storage Bruno Terkaly | Technical Evangelist
Windows Azure Storage Queue Storage.
PT2520 Unit 5: Physical Design
Data Types Do Matter Start local instance of SQL Start ZoomIt
Saranya Sriram Developer Evangelist | Microsoft
Sayed Ibrahim Hashimi Program Manager Microsoft Corporation
Creating Database Objects
Server & Tools Business
Managing Data in the Cloud
Server & Tools Business
Presentation transcript:

Windows Azure Data Services Scott Klueppel Chief Cloud Evangelist SOAlutions, Inc.

Agenda - Overview - Management Portal / Tools - Windows Azure Storage - Tables, Blobs, Queues - Windows Azure SQL Database - Putting them together with Cloud Design Pattern Examples

Windows Azure Storage Overview Management Portal Storage Emulator / Tools

What is Windows Azure Storage? - Storage as a service – Blobs, Tables, and Queues - Lots of it (up to 200 TB) – pay as you go - Highly Available - Redundancy - Highly Scalable - Partitions - Blazing Speed - Performance “Targets”

Getting Started with Storage - Create a storage account in the portal - Connection string Account Name Account Key

Getting Started with Storage - Use storage emulator for development - Connection string UseDevelopmentStorage=true

Windows Azure SDK Windows Azure SDK Visual Studio 2013 Visual Studio 2012 Visual Studio Oct2013Supported Not Supported 2.1 Jul2013Not SupportedSupported 2.0 Apr2013Not SupportedSupported - SDK contains client libraries - Committed to backwards compatibility

Storage Client Library - SCL 2.1 included with SDK SCL 3.0.x upgrade available with NuGet

Tools to interact with storage Visual Studio Server Explorer CloudXplorer/TableXplorer AzureXplorer (VS Extension)

Demo Management Portal Storage Tools

Windows Azure Storage Tables Blobs Queues

Tables Concept Overview AccountTableEntity gwabjax racers results Name=Ricky Status=Active Name=Dale Status=Active Race=Jax 500 Date=3/29/14

- Structured storage in the form of tables -1MB max size -252 properties - Quick queries by clustered index (only index) - 2,000 entities per second per partition - Data-defined partition scheme -Table name + PK Table Details

- Tables store data more like key-value pairs - No schema - De-normalized structure optimized for performance Table Details First NameLast NameDate of BirthLast Win RickyBobby1/1/1971 DaleEarnhardt2/2/1972Daytona 500 CalNaughtonMarch 3, 1973

Table Entities - Property Types byte[] bool DateTime double Guid Int32 Int64 String

Table Entities - Required properties PartitionKey, RowKey, Timestamp - Operations on entities Delete Insert Upsert (Insert + Merge/Replace) Update (Merge or Replace) Retrieve Query

Using Tables 1.Get table reference 2.Execute operations on entities CloudStorageAccount storageAccount = CloudStorageAccount.Parse( CloudConfigurationManager.GetSetting("DefaultConnection")); CloudTableClient tableClient = storageAccount.CreateCloudTableClient(); CloudTable table = tableClient.GetTableReference("racers"); TableOperation upsertOperation = TableOperation.InsertOrReplace(racer); table.Execute(upsertOperation);

Using Tables with DTOs/POCOs 1.Get table reference (like before) 2.Execute operations on entities via EntityAdapter With TableEntity – RacerEntity var operation = TableOperation.InsertOrReplace(racerEntity); table.Execute(operation); With DTO – Racer var adapter = new RacerAdapter(racer); var operation = TableOperation.InsertOrReplace(adapter); table.Execute(operation);

Table Best Practices 1.Avoid querying across partitions 2.Batch inserts (within partition) - Order and details in same table/partition 3.Storing aggregate copies - Ensures 1 query  1 partition - Format data up front 4.Use intelligent PKs

Demo Tables Blobs Queues

Blobs Concept Overview AccountContainerBlob gwabjax photos videos DSC j pg teamlogo.png 1stPlace.avi /

Blobs - Types of Blobs - Page - Block - Operations on blobs Exists List Upload from Stream, ByteArray, Text, File Download to Stream, ByteArray, Text, File Delete

Using Blobs 1.Get blob container reference 2.Perform operations with blobs CloudStorageAccount account = CloudStorageAccount.Parse( CloudConfigurationManager.GetSetting("DefaultConnection")); CloudBlobClient client = account.CreateCloudBlobClient(); CloudBlobContainer container = client.GetContainerReference("photos"); CloudBlockBlob blockBlob = container.GetBlockBlobReference(refId); blockBlob.UploadFromStream(stream); blockBlob.Metadata["FileName"] = fileName; blockBlob.SetMetadata();

Demo Tables Blobs Queues

Queues Concept Overview AccountQueueMessages gwabjax orders s-to- send Bulk Small

Queues - Operations on queues Add Peek Get Update Delete - Queue naming - All lowercase - Alpha-numeric and hyphen “-” characters

ClientWeb RoleStorage Queues in the wild Worker Role Browse r Web App Get Survey Complete Survey Post Results Surveys Queue Proces s Task Thank you Add Get Delete Process*

ClientWeb RoleStorage Queues in the wild Worker Role Blob Store Browse r Web App Get Survey Complete Survey Post Results Small Surveys Large Surveys Small Task Big Task Small Survey Get Delete Process* Add Thank you

ClientWeb RoleStorage Queues in the wild Worker Role Blob/Tabl e Store Browse r Web App Get Survey Complete Survey Post Results Small Surveys Queue Large Surveys Queue Small Task Large Task Large Survey Get Delete Process* Add Thank you Upload Download

Using Queues 1.Get queue reference 2.Perform operations with messages CloudStorageAccount account = CloudStorageAccount.Parse( CloudConfigurationManager.GetSetting("DefaultConnection")); CloudQueueClient client = account.CreateCloudQueueClient(); CloudQueue queue = client.GetQueueReference("orders"); CloudQueueMessage message = new CloudQueueMessage("ticket-order-17"); queue.AddMessage(message);

Demo Tables Blobs Queues

Windows Azure SQL Database (formerly SQL Azure) Management Portal Data Access

Windows Azure SQL Database Tools - SSMS - Visual Studio/SSDT - Modeling tools Code -ADO.NET -Enterprise Library -ORMs (e.g. Entity Framework, nHibernate)

Key Features -High Availability/Durability -Three Replicas (1 Primary – 2 Secondary) -99.9% SLA -Manageability -Portal, PowerShell, SSMS, REST API -Predictable Performance -Scale-out*

What’s Different – Maybe Bad? Missing -Extended stored procedures -SQL-CLR -Service Broker -Table partitioning Important: All tables must have a clustered index

Data Types? Data Type CategoryWindows Azure SQL Database Support Exact numericsbigint, bit, decimal, int, money, numeric, smallint, smallmoney, tinyint Approximate numericsfloat, real Date and timedate, datetime2, datetime, datetimeoffset, smalldatetime, time Character stringschar, varchar, text Unicode character strings nchar, nvarchar, ntext Binary stringsbinary, varbinary, image Spatial data typesgeography, geometry Other data typescursor, hierarchyid, sql_variant, table, timestamp, uniqueidentifier, xml

Development Story -Local SQL 2012/Express database -SSDT Database projects -Deploy directly to Azure from Visual Studio -Create deployment package -Use Release Management -Azure Connection String <add name="DefaultConnection" connectionString="Server=tcp:[server].database.windows.net,1433; Database=[database]; User Password=[password]; Encrypt=true;" providerName="System.Data.SqlClient"/>

Demo Management Portal Create Server Create Database Firewall Rules

Patterns at Work Cache-aside Pattern Materialized View Pattern Competing Consumers Pattern Compensating Transaction Pattern

Cache-Aside Pattern -Build cache on-demand -Read cache first -If not there -Get from data store -Store in cache

Materialized View Pattern -Improve performance in systems with difficult queries -Pre-populated views -Not updated by app, can be entirely rebuilt -Inherent delays -Doesn’t query well

Competing Consumers Pattern -Protect against a large influx (burst) of requests -Balanced workload -Scalable

Compensating Transaction Pattern -Eventual consistency -Series of autonomous steps -Intermediate steps appear inconsistent -Compensating Transaction -Intelligent process to undo succeeded steps

Compensating Transaction Pattern -Example: Itinerary Creation -Book 3 flights and 2 hotel rooms -If one or more are unavailable, we start over

Compensating Transaction Pattern -Example: Itinerary Creation

What did we learn? -Azure data storage options/uses -Each has pros/cons/best fit -Management Portal and Tools -Design patterns

Questions? Scott Klueppel Chief Cloud Evangelist SOAlutions, Inc.

Thank you! Scott Klueppel Chief Cloud Evangelist SOAlutions, Inc.

References Cloud Design Patterns (P&P) Data Services – Storage Storage Differences – Emulator vs Cloud Data Services – SQL Database