Modern Applications With Azure Search (Video link in description)

Preview:

Citation preview

B U I L D I N G M O D E R N W E B A P P L I C A T I O N S W I T H

AZURE SEARCH

A G E N DA

INTRODUCTION DEMOINDE X

DEMOA P P LICAT IONS

W H O I S 1 2 7 . 0 . 0 . 1 ?

P E T E RLILLE VO LD@ O C C U L T O

LO C TA N VO

@ L O C T A N V O

WHAT?

WHY?

N O R M A L I Z E D D ATAOptimized forWrite Optimized forQuery?

Notsomuch…

C O N C E P T UA L LY

SEARCHINDEX

A P P

A P P

A P P

IaaS, PaaS, SaaS

IaaS (VMs)

PaaS

SaaS

Source: Mat Velloso, Microsoft, LEAP 2016

Azure SearchSearch asaService

The Index

• Simpletable structure defined byschema• Basicvalue types

• string,int,long,double,DateTimeOffset• GeographyPoint• Collectionof strings

• Norelationships• Upto1000fields perindex• 16MBperdocument• Scoringprofiles

• Give fieldsmoreweightwhen queried• Functions:boostweight byfreshness,magnitude,distance andtags

Free tier

• Oneservicepersubscription• Upto3indexes• Upto50MBstorage• Upto10.000documents• Shared resource environment

• Locked toone replica,one partition

• NoSLA• Price:0,-/SU

Basic tier

• 12servicespersubscription• Upto100 fields perindex• Upto5indexes• Upto2GBstorage• Upto1.000.000documents• Upto3replicas,1partition• SLAon queries with 2replicas• SLAon indexing with 3replicas• Price:610,-/SU

Standard tier

S1 S2 S3 S3HD

Servicespersub 12 6 6 6

Indexes 50 200 200 1000 prpartition

Storageper partition 25GB 100GB 200GB 200GB

Partitions perservice 12 12 12 3

Documents perpartition 15M 60M 120M 200Mor1000prindex

Replicas 12 12 12 12

Max SUspersub 36 36 36 36

Priceper SU 2028,- 8114,- 16227,- 16227,-

Replica1Partition 1• Inx-1• Inx-2

Partition 2• Inx-1• Inx-2

Replica2Partition 1• Inx-1• Inx-2

Partition 2• Inx-1• Inx-2

Replica 3Partition 1• Inx-1• Inx-2

Partition 2• Inx-1• Inx-2

Partitions, Replicas and Search Units

Replicas xPartitions =Search Units(SU)=Machines=BillableUnit

Partitions and Replica combos1Partition

2Partitions

3Partitions

4Partitions

6Partitions

12Partitions

1replica 1SU 2SU 3SU 4SU 6SU 12SU

2replicas 2SU 4SU 6SU 8SU 12SU 24SU

3replicas 3SU 6SU 9SU 12SU 18SU 36SU

4replicas 4SU 8SU 12SU 16SU 24SU -

5replicas 5SU 10SU 15SU 20SU 30SU -

6replicas 6SU 12SU 18SU 24SU 36SU -

12replicas 12SU 24SU 36SU - - -

Queries Per Second (QPS)

Free Basic S1 S2 S3 S3HD

QPSprreplica Bingo ~3 ~15 ~60 ~60 >60

MaxQPS Random ~9 ~180 ~720 ~720 >720

Indexers

• Enable populating indexes without code• Pulldatainfrom• Azure SQLDatabase• DocumentDB• Blob andTable Storage

• Multipleindexers write into on index• Scheduleindexing on demand orrecurring• Minimum15minintervals

Blob Storage Indexer

• ReadmetadataANDcontent fromknown filetypes• Filetypessupported• PDF,HTML,XML,ZIP,EML,TXT,JSON,CSV• DOCX/DOC,XLSX/XLS,PPTX/PPT,OutlookMSG• «OneDocument perfile»• Indexing JSONarrays:«one document perobject»

• Supportscontent-specific metadata(author,title,..)• Automaticincremental index anddeletion

Architectural Patterns

S E R V I C E P E R T E N A N T

p r od

q a

t e s t

Search Service

Search Service

Search Service

S H A R E D S E R V I C E PAT T E R N

p r od

q a

t e s t

Search Service

S H A R E D I N D E X PAT T E R N

T-1Search Service

T-2

$filter:tenant eq 1

$filter:tenant eq 2

$filter:tenant eq ‘ ’

THE DEMOS

INDEXING

DEMO GHOST

Search Traffic Analytics

R E S O U R C E S

§ Azure Search Documentationhttps://azure.microsoft.com/en-us/documentation/services/search/

§ Azure Search Rest Service APIhttps://msdn.microsoft.com/en-us/library/azure/dn798927.aspx

§ Query Syntaxeshttps://msdn.microsoft.com/library/azure/dn798920.aspxhttps://msdn.microsoft.com/library/azure/mt589323.aspx

§ ODATA Filter Expressionshttps://msdn.microsoft.com/library/azure/dn798921.aspx

§ Architectural Patternshttps://blogs.technet.microsoft.com/privatecloud/2014/12/02/modern-datacenter-architectural-patterns-azure-search-tier/

Recommended