Storage Infrastructure
- Each item in storage is stored in triplicate
- The backend store is the same for queues, tables, and blobs
- Windows Azure Storage is just a REST service running in Windows Azure
Windows Azure Storage
- Storage in the Cloud
- Scalable, durable, and available
- Anywhere at anytime access
- Only pay for what the sen/ice uses
- Exposed via RESTful Web Services
- Use from Windows Azure Compute
- Use from anywhere on the internet
- Various storage abstractions
- Tables, Blobs, Queues, Drives
Storage Emulator
- Provides a local “Mock” storage
- Emulates storage in cloud
- Allows offline development
- Requires SQL Express 2005/2008 or above
Storage Services Security
Access Control
-- Customer data stored on separate hardware from the Windows Azure Compute VMs, organized into storage accounts
- Access to data in a specific account is only granted to entities having the secret key for that account
- Storage access keys are randomly generated when the storage account is created (or later at the request of the customer)
- A_storage account may‘/(have two active keys at any given time to support rollover
Data access can be protected using SSL encryption
WINDOWS AZURE storage Abstractions
- Blobs — Simple named files along with metadata for the file
- Drives — Durable NTFS volumes for Windows Azure applications to use. Based on Blobs
- Tables — Unstructured storage. A Table is a set of entities; an entity is a set of properties
- Queues— Reliable storage and delivery of messages for an application
Accessing Storage with REST
- Use when a library isn't available
- All features are available
- Lacks Intellisense
- Results in opaque code
Using a library
There are Storage Client libraries for most platforms
- .NET
- Java
- Python
- Ruby
- PHP
These provide an abstraction layer on top of the REST API and is the most common way to access storage
With client library
- Automatically referenced in a cloud project
- Supplies a nice .NET API on top of the REST API
- You will need the following:
--ACCOUT Name
--Account Shared Key
--Endpoint- blob.core.windows.net -or-UseDevelopmentStorage=true
Connection Strings
<5ett1ng p="p">name="DataC0nnecti0nString"
value="DefaultEndpointsPr0toc01=http;
Acc0untName=movieconversion;
Acc0untKey=EbymGw=="
/>
Partitions
- Partitions are used by the storage fabric as the unit of scale and redundancy
- Each storage type defines a partition differently
- Queue -> One queue = One Partition
- Table -> One Table Partition = One Partition
--Blob -> One blob = One Partition
- Partitions are moved around the storage servers for resiliency and to maximize performance
- Hot partitions may be scaled up
- -Windows Azure fabric may dedicate more resources to partitions with high load
- Each partition has three replicas, with one master
- When writing to a partition, the operation is complete when the data has been written to two replicas
- The third replica is updated asynchronously
How Partitions Scale
-Partitions are fanned out based on load
-They can be condensed when load decreases.
-Reads are load balanced against the three replicas.
5ett1ng>
No comments:
Post a Comment