azure data platform overview

72
Azure Data Overview …dove metto i miei dati?...

Upload: alessandro-melchiori

Post on 28-Jan-2018

372 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Azure data platform overview

Azure Data Overview…dove metto i miei dati?...

Page 2: Azure data platform overview

Agenda

Azure SQL Database

Azure DocumentDB

Azure Table Storage

Azure Redis Cache Azure Search

…almeno fino a ieri

Page 3: Azure data platform overview

Agenda (post //build/)

Azure SQL Database

Azure CosmosDB(DocumentDB, MongoDB, Graph, Key-value)

Azure Table Storage

Azure Redis Cache Azure Search

Azure Database for MySQL

Azure Databasefor PostgreSQL

Page 4: Azure data platform overview

Azure SQL Database

Page 5: Azure data platform overview

SQL Server (everywhere)

Page 6: Azure data platform overview

Azure SQL Database

Azure SQL Database is a relational database-as-a-service (DBaaS) hosted in the Azure cloud that falls into the industry categories

of Software-as-a-Service (SaaS) and Platform-as-a-Service (PaaS).

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-paas-vs-sql-server-iaas

Page 7: Azure data platform overview

Azure SQL Database

Azure SQL Database is optimized to reduce overall costs to the minimum for provisioning and managing many databases. It reduces

ongoing administration costs because you do not have to manage any virtual machines, operating system or database software.

Page 8: Azure data platform overview

Azure SQL Database

Azure SQL Database is optimized to reduce overall costs to the minimum for provisioning and managing many databases. It reduces

ongoing administration costs because you do not have to manage any virtual machines, operating system or database software.

You do not have to manage:

Page 9: Azure data platform overview

Azure SQL Database

Azure SQL Database is optimized to reduce overall costs to the minimum for provisioning and managing many databases. It reduces

ongoing administration costs because you do not have to manage any virtual machines, operating system or database software.

You do not have to manage:

upgrades

Page 10: Azure data platform overview

Azure SQL Database

Azure SQL Database is optimized to reduce overall costs to the minimum for provisioning and managing many databases. It reduces

ongoing administration costs because you do not have to manage any virtual machines, operating system or database software.

You do not have to manage:

high availability

Page 11: Azure data platform overview

Azure SQL Database

Azure SQL Database is optimized to reduce overall costs to the minimum for provisioning and managing many databases. It reduces

ongoing administration costs because you do not have to manage any virtual machines, operating system or database software.

You do not have to manage:

backups

Page 12: Azure data platform overview

Service tiers

• Basic: Best suited for a small database, supporting typically one single active operation at a given time. Examples include databases used for development or testing, or small-scale infrequently used applications.

• Standard: The go-to option for cloud applications with low to medium IO performance requirements, supporting multiple concurrent queries. Examples include workgroup or web applications.

• Premium: Designed for high transactional volume with high IO performance requirements, supporting many concurrent users. Examples are databases supporting mission critical applications.

• Premium RS: Designed for IO-intensive workloads that do not require the highest availability guarantees. Examples include testing high-performance workloads, or an analytical workload where the database is not the system of record.

Page 13: Azure data platform overview

Service tiers

• After initially picking a service tier and performance level, you can scale a single database up or down dynamically

• Changing the service tier and/or performance level of a database creates a replica of the original database at the new performance level, and then switches connections over to the replica.

• No data is lost during this process but during the brief moment when we switch over to the replica, connections to the database are disabled, so some transactions in flight may be rolled back.

Page 14: Azure data platform overview

Create Azure Sql Database

• Azure Portal

• Azure CLI

• Powershell

Page 15: Azure data platform overview

Demo

Page 16: Azure data platform overview

Elastic pools

• SQL Database elastic pools are a simple, cost-effective solution for managing and scaling multiple databases that have varying and unpredictable usage demands

• Within the pool, individual databases are given the flexibility to auto-scale within set parameters. Under heavy load, a database can consume more eDTUs to meet demand. Databases under light loads consume less, and databases under no load consume no eDTUs.

Page 17: Azure data platform overview

Elastic pool

Page 18: Azure data platform overview

Elastic pool

Page 19: Azure data platform overview

Elastic pool

Page 20: Azure data platform overview

Elastic pool

Page 21: Azure data platform overview

Elastic pool

Page 22: Azure data platform overview

Demo

Page 23: Azure data platform overview

Business continuity

• Backup

• Active Geo-Replication

Page 24: Azure data platform overview

Business continuity: backup

• SQL Database automatically performs a combination of full database backups weekly, differential database backups hourly, and transaction log backups every five minutes to protect your business from data loss. These backups are stored in geo-redundant storage

• Use automated backups as your business continuity and recovery mechanism if your application:• Is not considered mission critical

• Has a low rate of data change (low transactions per hour) and losing up to an hour of change is an acceptable data loss

• Is cost sensitive

Page 25: Azure data platform overview

Business continuity: active geo-replication

• Is possible to use Active Geo-Replication to configure a database to have up to four readable secondary databases in the regions of your choice

• These secondary databases are kept synchronized with the primary database using an asynchronous replication mechanism

• Active Geo-Replication can also be used to provide better query performance for read-only queries to geographically dispersed users.

Page 26: Azure data platform overview

Demo

Page 27: Azure data platform overview

Monitoring

• Metrics

• SQL Database advisor

• Query Performance Insight

Page 28: Azure data platform overview

Demo

Page 29: Azure data platform overview

Azure Database Migration Service

• Using database migration service simplifies the migration of existing on-premises SQL Server, Oracle, and MySQL databases to Azure, whether your target database is Azure SQL Database, Azure SQL Database Managed Instance or Microsoft SQL Server in an Azure virtual machine.

Page 30: Azure data platform overview

Azure Database Migration Service

• Using database migration service simplifies the migration of existing on-premises SQL Server, Oracle, and MySQL databases to Azure, whether your target database is Azure SQL Database, Azure SQL Database Managed Instance or Microsoft SQL Server in an Azure virtual machine.

Page 31: Azure data platform overview

PostgreSQL / MySQL

Page 32: Azure data platform overview

Azure database for PostgreSQL/MySQL

• Azure Database for PostgreSQL/MySQL is a relational database service in the Microsoft cloud built for developers based on the community version of open source PostgreSQL and MySQL Community Edition database engine. It provides:• Predictable performance at multiple service levels

• Dynamic scalability with no application downtime

• Built-in high availability

• Data protection

Page 33: Azure data platform overview

Demo

Page 34: Azure data platform overview

Azure Table Storage

Page 35: Azure data platform overview

Azure Table Storage

Azure Table storage is a service that stores structured NoSQL data in the cloud, providing a key/attribute store with a schemaless design

https://docs.microsoft.com/en-us/azure/storage/storage-dotnet-how-to-use-tables

Page 36: Azure data platform overview

Table service concepts

• Storage Account

• Table: a table is a collection of entities

• Entitiy: An entity is a set of properties (similar to a database row). An entity can be up to 1MB in size

• Properties: A property is a name-value pair. Each entity can include up to 252 properties to store data

Page 37: Azure data platform overview

Table entities

• Table entities represent the units of data stored in a table and are similar to rows in a typical relational database table

• Each entity defines a collection of properties

• Entities must define the following three system properties as part of the property collection:• PartitionKey

• RowKey

• Timestamp

Page 38: Azure data platform overview

Table partitions

Page 39: Azure data platform overview

Queries performance

Page 40: Azure data platform overview

Azure Storage: paper

http://sigops.org/sosp/sosp11/current/2011-Cascais/printable/11-calder.pdf

Page 41: Azure data platform overview

Azure CosmosDB

Page 42: Azure data platform overview

Azure CosmosDB

Azure Cosmos DB is Microsoft's globally distributed,

multi-model database

https://docs.microsoft.com/en-us/azure/cosmos-db/introduction

Page 43: Azure data platform overview

Azure CosmosDB

Page 44: Azure data platform overview

Global distribution

• Within a given region, all resources are horizontally partitioned using resource partitions (local distribution).

• Each resource partition is also replicated across geographical regions (global distribution).

Page 45: Azure data platform overview

Multi-model, multi API-support

• The core content-model of Cosmos DB’s database engine is based on atom-record-sequence (ARS)• Atoms consist of a small set of primitive

types like string, bool, and number. Records are structs composed of these types. Sequences are arrays consisting of atoms, records, or sequences.

• The database engine can efficiently translate and project different data models onto the ARS-based data model.

Page 46: Azure data platform overview

Multiple consistency models

• It’s possible to configure the default consistency level on Cosmos DB account, and later override the consistency on a specific read request

Page 47: Azure data platform overview

Guaranteed SLA

• Availability: 99.99% uptime availability SLA for each of the data and control plane operations.

• Throughput: 99.99% of requests complete successfully

• Latency: 99.99% of <10 ms latencies at the 99th percentile

• Consistency: 100% of read requests will meet the consistency guarantee for the consistency level requested by you.

Page 48: Azure data platform overview

Demo

Page 49: Azure data platform overview

CosmosDB: indexing

• CosmosDB indexes, by default, each document’s attribute

• Automatic indexing of documents without requiring schema or secondary indexes is a key capability of CosmosDB and is enabled by write-optimized, lock-free and log-structured index maintenance techniques

Page 50: Azure data platform overview

CosmosDB: indexing policy

• The indexing policy of each collection allows you to make performance and storage trade-offs associated with indexing• Choose whether the collection automatically indexes all of the documents or

not

• Choose whether to include or exclude specific paths or patterns in your documents from the index

• Choose between synchronous (consistent) and asynchronous (lazy) index updates

• The indexing policy can be changed

Page 51: Azure data platform overview

Demo

Page 52: Azure data platform overview

Azure Redis Cache

Page 53: Azure data platform overview

Azure Redis Cache

• Redis is an advanced key-value store, where keys can contain data structures such as strings, hashes, lists, sets, and sorted sets. Redissupports a set of atomic operations on these data types.

• Azure Redis Cache uses Redis authentication and also supports SSL connections to Redis.

Page 54: Azure data platform overview

Service tiers

• Basic: Single node, multiple sizes, ideal for development/test and non-critical workloads. The Basic tier has no SLA.

• Standard: A replicated cache in a two-node primary/secondary configuration managed by Microsoft, with a high-availability SLA.

• Premium: All of the Standard tier features, plus:

• Redis data persistence: allows you to persist the cache data in an Azure Storage account

• Redis cluster

• Enhanced security and isolation

• Reboot

• Schedule updates

Page 55: Azure data platform overview

Demo

Page 56: Azure data platform overview

Azure Search

Page 57: Azure data platform overview

Azure Search

Azure Search is a cloud search-as-a-service solution that delegates server and infrastructure management to Microsoft, leaving you with a ready-to-use service that you can populate with your data and then use

to add search to your web or mobile application.

https://docs.microsoft.com/en-us/azure/search/search-what-is-azure-search

Page 58: Azure data platform overview

Azure Search

• Full text search and text analysis• Search suggestions

• Facet queries

• Scoring

• …

• Language support

• Data integration

Page 59: Azure data platform overview

Service tiers

• Free: A shared service, at no charge, used for evaluation, investigation, or small workloads.

• Basic: Small production workloads on dedicated hardware. Highly available.

• Standard:• S1

• S2

• S3

• S3 HD

Page 60: Azure data platform overview

Indexers

• An indexer in Azure Search is a crawler that extracts searchable data and metadata from an external data source and populates an index based on field-to-field mappings between the index and your data source.

• You can use an indexer as the sole means for data ingestion, or use a combination of techniques

• You can run indexers on demand or on a recurring data refresh schedule

Page 61: Azure data platform overview

Indexer types

• Azure Blob Storage indexer

• Azure Table Storage indexer

• Azure SQL indexer

• Azure CosmosDB indexer

Page 62: Azure data platform overview

Demo

Page 63: Azure data platform overview

Wrap-up

Page 64: Azure data platform overview
Page 65: Azure data platform overview

SQL IaaS vs SQL Database• Existing applications that

require fast migration to the cloud with minimal changes.

• SQL Server instances with up to 64 TB of storage. The instance can support as many databases as needed.

• Migrating and building enterprise and hybrid applications.

• New cloud-designed applications that have time constraints in development and marketing.

• Databases of up to 1 TB, or larger databases that can be horizontally or vertically partitioned using a scale-out pattern.

• Building Software-as-a-Service (SaaS) applications.

Page 66: Azure data platform overview

SQL IaaS vs SQL Database: features

• https://docs.microsoft.com/en-us/azure/sql-database/sql-database-features

Page 67: Azure data platform overview

Extra-time

Page 68: Azure data platform overview

Transient fault handling

Transient faults can occur in any environment, on any platform or operating system, and in any kind of application

Page 69: Azure data platform overview

Transient fault handling: cloud

• Many resources in a cloud environment are shared, and access to these resources is subject to throttling in order to protect the resource

• Cloud environments are built using vast numbers of commodity hardware units

• There are often more hardware components, including network infrastructure such as routers and load balancers, between the application and the resources and services it uses

• Network conditions between the client and the server may be variable

Page 70: Azure data platform overview

Transient fault handling: challanges

• The application must be able to detect faults when they occur, and determine if these faults are likely to be transient, more long-lasting, or are terminal failures

• The application must be able to retry the operation if it determines that the fault is likely to be transient

• The application must use an appropriate strategy for the retries:• Exponential back-off

• Incremental intervals

• Regular intervals

• Immediate retry

• Randomization

Page 71: Azure data platform overview

About me

Alessandro Melchiori

@amelchiori

http://melkio.codiceplastico.com

Page 72: Azure data platform overview