69
PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ZAREMBA

PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ZAREMBA

Page 2: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

AGENDA

1. Relational database

2. Document database

3. Storage

4. Quick access to data

5. Search

6. Summary and what's next ?

Page 3: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Why cloud computing?D

ata

Layer

Storage

Blobs Tables QueuesData

Machine Learning HD Insight Backup and RecoverySQL Database Caching StorSimple

Page 4: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

1. RELATIONAL DATABASE

Page 5: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

IaaSPhysical Virtual PaaS

From private to public Cloud

Microsoft Relational Storage Options

Page 6: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

IP Based Firewall Rules

Server Connectivity

Page 7: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Auto backups, transactional logs every 5 min

Backups in Azure Storage and geo-replicated

Creates a side-by-side copy, non-disruptive

Backups retention policy: 7, 14 or 35 days

Automated export of logical backups for long-term

backup protection

Point-in-time restore - “oops recovery”

Page 8: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

• Available in all tiers: Basic, Standard and Premium

• Built on geo-redundant Azure Storage

• Recover to any Azure region

Geo-restore – Emergency data recovery when you need it most

Page 9: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

• Fast and flexible indexing of textual data

• Data types: char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary(max), or FILESTREAM

• Handles high query volume

• Common use cases:

• Searching websites, product catalogs, news items and more

• Document management systems

• Any applications that need to provide search

capabilities over data stored in a SQL Database

Full-Text Search

Page 10: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

• XML Indexes - improves XQuery-based query performance

• Primary XML Index - speed up access to elements and attributes

• CREATE PRIMARY XML INDEX XML_Order_Items

• ON Sales.Order (Items);

• Secondary XML Index – help resolve specific

• XQuery expressions rapidly

XML Indexes

Page 11: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Use Familiar Technologies

Transact-SQL

Page 12: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Elastic Database

Page 13: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Elastic Database Pool

Elastic Database Pool

Elastic Database

Predictable model for deploying large numbers of databases

Page 14: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Elastic Scale

Page 15: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

• Classic 3-tier enterprise

architecture:

• Scale out the front ends

to multiple instances is

easy

• Scale the data-tier is

more challenging

Web

Role

L

SQL

Worker

Role

Canonical cloud app architecture

Page 16: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Vertical: Scale-up or scale-down

Horizontal: Scale-out or scale-in

Basic

Standard

Premium

Basic Basic Basic Basic Basic Basic

Premium

Standard

Scale out/in

Scal

e u

p/d

ow

n

Page 17: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Web

Role

J

SQL

Worker

Role

J

J

Elastic Scale architecture

Page 18: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

2. DOCUMENT DATABASE

Page 19: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

DocumentDB

Fully managed, scalable JSON document database service

Page 20: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Microsoft Azure Data Services

fully managed, scalable, queryable, schemafree JSON

document database service for modern applications

transactional processing

rich query

managed as a service

elastic scale

internet accessible http/rest

schema-free data model

arbitrary data formats

Page 21: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

MongoDBMongoDB offers:

1. Powerful, expressive query language

2. Rich secondary indexes

3. Strong consistency

4. Flexible data models

5. Vertical and horizontal scalability

6. In-memory performance

Page 22: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

MongoDB

MongoDB is the leading Document Database

Page 23: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Gartner the Magic Quadrant for Operational Database Management Systems

Page 24: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

MongoDB vs DocumentDB1. Existing applications which require extra

capacity for scale out and can not be

migrated

2. Customer has ecosystem of IT resources

for support and maintenance

3. Removing CAPEX

4. Mongo MMS compatibility

1. Applications that need managed elastic

scale, query over schema free data, native

JSON/JavaScript support

2. Customer does not want to add additional

IT resources for support and maintenance

3. Avoiding CAPEX and OPEX

4. Built-for-the-cloud database technology

Page 25: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

NOSQL vs SQL

1. Unustructure data2. Collections

1. Structured data2. Tables

Page 26: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON
Page 27: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

3. STORAGE

Page 28: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Rodzaje struktur

1. BLOB

2. Files

3. Queue

4. Tables

Page 29: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Azure Storage Architecture

REST REST REST

Massive Scale Out & Auto Load Balancing Index Layer

Distributed Replication Layer

Blob Head Queue HeadTable Head File Share Head

REST SMB

Page 30: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Microsoft Azure

Storage Blob

Page 31: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Block Blob vs Page Blob1. Targeted at streaming workloads

2. Each blob consists of a sequence of blocks

3. Each block is identified by a Block ID

4. Size limit 200GB per blob

1. Targeted at random read/write workloads

2. Each blob consists of an array of pages

3. Each page is identified by its offset from the start of the blob

4. Size limit 1TB per blob

Page 32: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Blob Storage Concepts

Page 33: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Blob Details – Blob always accessed by name

Can include ‘/‘ or other delimiter in name

e.g. /<container>/myblobs/smurf.png

blob name

Page 34: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Microsoft Azure

Storage Files

Page 35: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Sharing Files – The old way

Setup an IaaS VM to host a File Share backed by an IaaS Disk

Write code to find the IaaS File Share from the rest of the VMs in your service.

Write some code to provide high availability

Handle host upgrades, node failures

You can only access the File Share from other VMs

Page 36: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Sharing Files – The old way

Page 37: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Azure Files

Shared Network File Storage for Azure

Availability, durability, scalability are managed automatically

Supports two interfaces: SMB and REST

Page 38: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Azure Files – Usage

Share data across VMs and applications

Share settings throughout services

Dev/Test/Debug

Page 39: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Microsoft Azure

Storage Queue

Page 40: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Why use a Queue?

1. Queue length reflects how well the backend processing nodes are doing.

2. Decouples the application.

3. Flexibility of efficient resource usage within an application.

4. Absorb traffic bursts and reduce the impact of individual component failures.

Page 41: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Queue Components

Storage Account: All access to Azure Storage is done through a storage account.

Queue: A queue contains a set of messages.

Message: any format and limit to 64KB.

Page 42: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Producers Consumers

Queue C1

C2

P1

P2

4 3 12

Queue-based Load Levelling Pattern

Page 43: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Queue Considerations

1. Messages are ordered but not guaranteed FIFO

2. Message will be processed at least once

3. Message may be processed more than once

4. DequeueCount increases every time

-> Processing must be idempotent

Page 44: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Microsoft Azure

Storage Table

Page 45: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Table Storage Concepts

Page 46: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Table Storage Details

1. PartitionKey & RowKey are mandatory properties

2. Composite key which uniquely identifies an entity

3. They are the only indexed properties

4. Defines the sort order

Entity Properties

Page 47: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Table Storage Details

1. Supports full manipulation (CRUD)

2. Including Upsert and Entity Group

3. Transactions

4. Tables can have metadata

Page 48: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

4. QUICK ACCESS TO DATA

Page 49: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON
Page 50: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON
Page 51: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON
Page 52: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

REDIS

Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker.

Page 53: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

REDIS

It supports data structures such as strings, hashes, lists, sets,sortedsets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Luascripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.

Page 54: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

5. SEARCH

Page 55: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Azure Search Azure Search

Page 56: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Azure Search

Perfect for enterprise cloud developers, cloud software vendors, cloud architects who need a fully-managed search solution.

Page 57: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Azure Search

Embed a sophisticated search experience into web and mobile applications without having to worry about the complexities of full-text search and without having to deploy, maintain or manage any infrastructure.

Page 58: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Search Functionality

◦ Simple HTTP/JSON API for creating indexes, pushing documents, searching

◦ Keyword search with user-friendly operators (+, -, *, “”, etc.)

◦ Hit highlighting

◦ Faceting (histograms over ranges, typically used in catalog browsing)

Page 59: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Search Functionality

◦ Suggestions (auto-complete)

◦ Rich structured queries (filter, select, sort) that combines with search

◦ Scoring profiles to model search result relevance

◦ Geo-spatial support integrated in filtering, sorting and ranking

Page 60: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON
Page 61: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Summary

Page 62: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

HDInsight

Page 63: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Big Data Insights

Microsoft Azure HDInsight

• Microsoft instance of Hadoop distribution running as service

• Support existing ecosystem from Hive, Pig, etc

• Includes HBase and Storm

• Extended to support Excel and BI tooling

• Integration with diverse sources of data

Page 64: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Big Data Insights

Microsoft Azure Machine Learning• Democratized platform for Machine Learning

• Fully-managed cloud service for building predictive

• analytics solutions

• Elastic, pay as you go with low operating costs

• Extend with Power BI, HDInsight and cloud hosted data

• Extensible, supports R and Python

Page 65: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Data size

Access

Updates

Structure

Integrity

Scaling

Relational DB vs. Hadoop

Page 66: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Internet of Things

With Microsoft Azure IoT services, you can monitor assets to improve efficiencies, drive operational performance to enable innovation, and leverage advance data analytics to transform your company with new business models and revenue streams.

Event Hubs

Notification Hubs

Stream Analytics

Machine Learning

HDInsight

Power BI for Office 365

Page 67: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

Azure Stream Analytics

Page 68: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

HDInsight

Results

Process

Visualization

and reporting

tools

Output

Input

Iterative exploration - Process key data into business intelligence using Hadoop

Page 69: PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ · 2017-01-09 · PRZECHOWYWANIE I PRZETWARZANIE DUŻYCH DANYCH W CHMURZE OBLICZENIOWEJ BARTOSZ ... Simple HTTP/JSON

QUESTIONS?

Bartosz [email protected]

@art_base

+48 506 46 46 95

FOTAW KÓŁECZKO