4. Agenda
Data is King
Motivation ? Why data outside your premise?
Microsoft’s Data Storage offerings
Windows Azure
SQL Services
Programming & Coding for data on cloud OS
What we will not learn?
Deep Dive into SQL Services
Any SQL Services 2008 specifics
Architectural considerations to model data in real life
6. HTTP
Blobs Tables Queues
Windows Azure Storage
Application Service
Compute Storage
Fabric
…
7. Windows Azure Storage
Storage that is
Durable
Scalable (capacity and throughput)
Highly Available
Security
Performance Efficient
Pay for what you use
Rich Data Abstractions
Service communication: queues, locks, …
Large user data items: blobs, blocks, …
Service state: tables, caches, …
Simple and Familiar Programming Interfaces
REST Accessible and ADO.NET
8. Windows Azure Storage Account
User creates a globally unique storage account
Received a 256 bit secret key when creating account
Geo-location & Co-location coming soon
Provides security for accessing the store
Use secret key to create HMACSHA256 signature for each
request
Use signature to authenticate request at server
Account
Blob Table Queue
9. Blobs Storage
• Storage Account
• An account can have many Containers
• Container
• A container is a set of blobs
• Sharing policies are set at the container level
• Public READ or Private
• Associate Metadata with Container
• Metadata is
<name, value> pairs Account Container Blob
• Up to 8KB per container
IMG001.JPG
• List the blobs in a container pictures
IMG002.JPG
sally
movies MOV1.AVI
11. Table Storage
Table
A storage account can create many tables
Table name is scoped by account
Data is stored in tables
A table is a set of entities (rows)
An entity is a set of properties (columns)
Entity
Two “key” properties that together
Account Table Entity
are the unique ID of the entity in the
table users
PartitionKey – enables scalability
RowKey – uniquely identifies the sally
entity within the partition photo
index
12. Windows Azure Storage
A closer look at tables
Table Table Table ...
Entity Entity Entity ...
Storage Property Property Property
Accounts
Name Type Value
13. Tables - Capabilities
What tables don’t do What tables can do
Not relational Cheap
No Referential Integrity Very Scalable
If these No Joins
are important Flexible
to you, use:Queries
Limited Durable
No Group by What tables contain
No Aggregations Partition key & Row key
No Transactions Timestamp
255 properties for your data & data
No Transactions of size 1MB
14. Query a Table
LINQ
DataServiceContext context = new
DataServiceContext(‚http://myaccount.table.core.windows.net‛);
var customers = from o in
context.CreateQuery<Customer>(‚Customer‛)
where o.PartitionKey == ‚Lee‛
select o;
foreach (Customer customer in customers) { }
GET http://myaccount.table.core.windows.net/Customer?
$filter= PartitionKey eq ‘Lee’
16. Queue Storage
An account can create many queues
Queue Name is scoped by the account
A Queue contains messages
No limit on number of messages stored in a queue
A message is stored for at most a week in a queue
http://<Account>.queue.core.windows.net/<QueueName>
Messages
Message size <= 8 KB
To store larger data, store data in blob/entity storage, and
the blob/entity name in the message
20. Windows Azure Data Storage Concepts
Container Blobs
http://<account>.blob.core.windows.net/<container>
Account Table Entities
http://<account>.table.core.windows.net/<table>
Queue Messages
http://<account>.queue.core.windows.net/<queue>
21. Slide Share for Tech Ed India 2009 -
Upload onto the Azure Storage & take
REST
22. Takeaways
Enables developers to access storage
Massively scalable, durable, and available
Anywhere at anytime access
Automatically scale to meet peek traffic demands
Only pay for what the service uses
Easy to use REST and .NET Interfaces
Blobs, tables, and queues
23. SQL Data
Services
Others
(Future)
.NET Services
Applications SQL Services
Live Services
SQL Services
Windows Azure
Applications
Windows Windows Windows
Others
Server Vista/XP Mobile
24. Data Platform: Device to Cloud
RDBMS
Protection Mining Sync Reporting
Caching Load
Service Analysis Query Integration Search
Backup
Model & policy based development and management
Type In Multi Relational XML File
Memory Dim BLOB
Place
25. Extending SQL Data Platform to Cloud
Business Reference
Reporting Intelligence Data
Symmetric Programming Model Data Hub Aggregation
Initial services – core RDBMS capabilities as a service (SDS), Data Sync and
Data Hub
Future Offerings
Additional data platform capabilities as a service: BI/DSS, DW
New services: Reference Data, Secure Data Hub
Enable new uses of data to deliver differentiated business
value
26. The New SQL Data Services
Familiar SQL Server relational model
Uses existing APIs & tools
Built for the Cloud with availability and scale
Accessible to all from PHP, Ruby, and Java
Focus on combining the best features of SQL Server running
at scale with low friction
27. Accessing SDS
User Database
connStringBuilder.InitialCatalog = quot;mydatabasequot;;
// Specify your user database to connect
Master/Server Database
connStringBuilder.DataSource = quot;myserver.data.dev.mscds.com“;
// Specify the DNS name of my SDS server master db)
connStringBuilder.UserID = quot;jeff@myserverquot;;
// Specify my user id
29. Example of SQL Compatibility
In Scope for v1 (likely) Out of Scope for v1 (likely)
Tables, indexes and views Distributed Transactions
Stored Procedures Distributed Query
Triggers CLR
Constraints Service Broker
Table variables, Spatial
session temp tables (#t) Physical server or catalog
… DDL and views
30. Takeaways
Foundation of the SDS relational platform
Built using core SQL Server product codebase
Delivery of rich relational database service –
PDC ’09
Key capability of the Azure platform
Supports broad spectrum of scenarios
31. Azure Services Platform Roadmap
First CTP Updated CTPs Pricing and SLA Commercial
Developer CTP for Enable Full trust & Fast CGI confirmation Availability
Services SDKs, and Tools Geo-location support SDS Public CTP Windows Azure
.NET Services Open CTP .NET Services
Live Framework Open CTP SQL Services
SDS Invitation-only CTP
Fall 2008 Spring 2009 Summer 2009 Fall 2009
32. Getting Started & Resources
1. Download the SDKs and tools from
http://www.microsoft.com/azure
2. Get invitation for Windows Azure and start coding
3. Review the hands-on labs and videos available on the
site
3. SSDS blog: http://blogs.msdn.com/ssds
4. Azure Services Training Kit
Downloadable hands-on labs, demos, and presentations
http://www.azure.com
5. Check Mix09 and PDC 08 sessions
33.
34. Related Content
Breakout Sessions (session codes and titles)
1. Cloud Track – Introduction to cloud computing and Windows Azure
2. Cloud Track – .NET services
3. Cloud Track - Code Camp
A very good afternoon Everyone,Its super cool to be here today amidst you & I’m indeed excited for this upcoming session.Well I hope this session, though on the last day of teched & post lunch, will keep you all on your toes and be excited on this as it does for me. Today in the morning, we saw some really interesting sessions – we saw basically an introduction to cloud computing, what is cloud, what is microsoft’s offering in this space. So moving on, on the cloud track, as the title reads we will look at the Data in the cloud
So with this, lets start with the very basic and standard slide of Microsoft’s cloud computing stack – Azure Service Platform!As you may recall, (well how many of you attended the previous session? )That we got introduced to this layer cake of services offered in the cloud. We were also able to map the fact that the bottommost layer, Windows Azure, provide operating system capabilities as services (u give foo.exe for it to execute, it figures out how , where to get this job done). Well we saw in detail about the compute capabilities of this operating system designed to run on many many servers(pulling out, pulling down Virtual machines, load balancing, resource allocating, etc). At this same layer, for an Operating system, just as Compute is a key task, storage is another fundamental need!So we have data storage as a service as a part of Windows AzureMoving up, the next layer is the Azure Services Platform layer, this layer we were told provided building block services to take away all the extra plumping, reinventing the wheel during scale etc etc… basically analogy to the Software frameworks that sit over your desktop OS, like SQL Server (manegement studio, Database), like .net framework (providing lot od libraries for identity services), like Sharepoint, CRM etc… these provide developer tools and ease of use!Here, we see a brightly painted “SQL Services” which by now you would have guess it as “Database on the cloud”
Importance of data: data is king. Someone once told me that data is like Air, its under covers, can go unnoticed by the numberof cool apps and technology, but it’s the heartbeat and fundamental and existent for all , each and every enterprise, ISV, vendor etc etc…2. What is this session about ? It’s a focus on persistent storage in the cloud! The cloud offering or the logical cloud computing stack can never be complete without addressing data issues. a) What do I mean by that ? Just as for every single enterprise, ISV, an developer, rather every application – a data store is mandatory and usually they have enrich capabilities bundled in the Data management studio like SQL server and its fairly a breeze to query, write sp, triggers and work on the data layer directly with the Database!So I guess, we have enough metaphors and similis! to highlight, re-emphasize the power , need importance of Data3.So net net this session will talk about storing your Data on the cloud! What are formats available – by this I mean (we are so used to RDBMS – relational data storage in rows and columns, or like in an operating system we have C:\\, D:\\ flat data storage, how else do u think data can be stored ? How about keep a bag of 100 boxes, each box has x, y , z number of items! I call this an entity store… how can I represent this data? Well we have all done number of theoretical data structures courses, which give to n, n+1 , user definied data structure or ADT (what we call abstract data types in terms of stacks, queues, hashes etc etc)… will we need this kind of storage on the cloud ?4. Highlighting the essence of Today’s talk : Offloading data outside your premise. Today, it’s a norm to have a gmail, hotmail personal id with all ur photos, emails, digital footprints on the web, and frankly we don’t feel like it a privacy breech, its kind of become the norm. Extending this, eventually in the best interest in distributed computation , access across the globe with least latency, costs involved, technology world is moving towards hardware consolidation, this will directly translates into having capabilities to have your data offloaded to a trusted datastore, have SLA, backup hazzle free, upgrades, and finally tools and developer framework for accessing, and working with the data.
Hence, in the next 60 mins, we will go through these two data storage concepts, see how different they are and what is the variety they have to offer.
If you would like to host your demo on the Virtual Server, please use the myVPC demo slide, not this slide.
If you would like to host your demo on the Virtual Server, please use the myVPC demo slide, not this slide.
If you would like to host your demo on the Virtual Server, please use the myVPC demo slide, not this slide.
If you would like to host your demo on the Virtual Server, please use the myVPC demo slide, not this slide.
Why sds,When,Scenario? Value propOn prem – sds advantagesSecurity of data ?How secure at store, on wire?Sds compromised (sla)Can I connect ipsec, ssl, (live id)Access restrictions – Ease of migration from on premise to cloud ?