Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Tech Conference 28.-29.5.2015 Azure DataServices (NoSql tietovarastot) Ahti Haukilehto Sovelto #TechConfFI # TechConfFI Kalvot on otettu • //Build 2015, Teched Europe 2014 -seminaarimateriaaleista 2 28.-29.5.2015 Tech Conference 2015 # TechConfFI Azure DataServices Tech Conference 2015 Applications Reports Dashboards Natural language query Mobile Modeling Machine learning Data Orchestration Information management The Microsoft data platform Relational Non-relational Complex event processing NoSQL Streaming Internal & external IoT Network Tier App Tier Data Tier Application built on Microsoft Azure Blob Storage Storage of files, VHDs, mp4s, pngs, .txt, etc… Files SMB File Sharing Tables Highly scalable service for non-relational structural data Queues Low latency message processing Storage Accoun t Blob Blobs Table Entities Files (SMB) Queue http://<storage http://<storage http://<storage http://<storage Files Messages acct>.blob.core.windows.net/<container>/<blob> acct>.table.core.windows.net/<table> acct>.queue.core.windows.net/<queue> acct>.file.core.windows.net/<file> (PREVIEW) Azure Storage Tables Tables A key/value store A 1 A 2 B 1 B 2 B 2 Application B 2 Entity Property Name Property Property Type Partition key Row key Data Name Country Age String String int Name Country Age String String int Name Country Age String String int Count int Last Date LastUse Date Partition A FirstUse Date Partition B Microsoft Azure Data Services transactional processing rich query managed as a service elastic scale schema-free data model internet accessible http/rest arbitrary data formats Category SQL Database DocumentDB Table Storage Storage Abstractions Maximu m Database Size Query Language Transaction Support Stored Procedures/ Triggers Pricing Yes Written in T-SQL Units of throughput Secondar y Indexes Relational Tables, rows, columns 500 GB SQL All rows and tables in a database Document store Collections, documents 100s of TBs Extended subset of SQL All documents in the same collection Yes Written in JavaScript Units of throughput Key/value store Tables, partitions, entities 100s of TBs Subset of OData queries All entities in the same partition No None GBs of storage # TechConfFI DocumentDB Tech Conference 2015 user data store What is a document database? { "id": "13244_user", "firstName": "John", "lastName": "Smith", "age": 25, "employmentHistory" : [ { "company":"Contoso Inc" "start": {"date":"Thu, 02 Apr 2015 20:54:45 GMT", "epoch":1428008086}, "position":"CEO" Ideally suited to this kind of document - }, { "start": {"date":"Thu, 02 Apr 2012 20:54:45 GMT", "epoch":1428008086}, "end": {"date":"Thu, 01 Apr 2015 20:54:45 GMT", "epoch":1428008086}, "position":"GM"}, ], "address": { "streetAddress": "21 2nd Str", "city": "New York", "state": "NY", "postalCode": "10021" }, "children": [ {"name":"Megan", "age":10}, {"name": "Bruce", "age":7}, {"name": "Angus", "sports" : ["football", "basketball", "hockey"]} ] "mobileNumber": "212 555-1234" } What is a document database? { "id": "13244_post", "text": "Lorizzle ghetto dolor tellivizzle boofron, stuff pimpin' elizzle. Nullam sapizzle velizzle, my shizz tellivizzle, suscipizzle funky fresh, shizzle my nizzle crocodizzle vizzle, arcu. Pellentesque eget tortizzle. Sizzle erizzle. Mammasay mammasa mamma oo sa break it down dolor own yo' things fo shizzle mah nizzle fo rizzle, mah home g-dizzle sure. Maurizzle pellentesque dawg ghetto turpizzle. Shiz izzle my shizz. Pellentesque eleifend rhoncizzle nisi. In its fo rizzle owned ma nizzle dictumst. Sizzle gangsta. Curabitur tellizzle urna, pretizzle go to hizzle, mattizzle izzle, eleifend vitae, tellivizzle. Dawg shizzlin dizzle. Integer semper velit sizzle stuff. Not ideal, but it can work - Boofron mofo auctizzle ma nizzle. Pot a elizzle ut nibh pretium tincidunt. Maecenizzle things erat. Own yo' in lacizzle sed maurizzle elementizzle tristique. I'm in the shizzle yippiyo sizzle daahng dawg eros ultricizzle . In velit tortor, ultricizzle ghetto, hendrerizzle fo shizzle mah nizzle fo rizzle, mah home g-dizzle, adipiscing crunk, boom shackalack. Etizzle velit doggy, hizzle consequizzle, pharetra get down get down, dictizzle sed, shut the shizzle up. Fo shizzle neque. Fo lorizzle. Bling bling vitae pizzle ut libero commodo gizzle. Fusce izzle augue eu yo mamma dang. Phasellizzle break it down fo nizzle erat. Suspendisse shizzlin dizzle owned, sollicitudin sizzle, mah nizzle izzle, commodo nec, justo. Donizzle fizzle porttitizzle ligula. Nunc feugizzle, tellus tellivizzle ornare tempor, sapizzle break it down tincidunt gangster, eget dapibus daahng dawg enizzle izzle that's the shizzle. Stuff quizzle leo, imperdizzle izzle, fo shizzle my nizzle izzle, semper izzle, sapien. Ut boofron magna vizzle ghetto. I'm in the shizzle ante bling bling, suscipizzle vitae, yo mamma stuff, rutrizzle pizzle, velizzle. Mauris da bomb go to zzle. Sizzle mammasay mammasa mamma oo sa magna own yo' amet risus congue. Boofron mofo auctizzle ma nizzle. Pot a elizzle ut nibh pretium tincidunt. things erat. Own yo' in lacizzle sed maurizzle elementizzle tristique. I'm in the shizzle yippiyo sizzle daahng dawg eros ultricizzle . In velit tortor, ultricizzle ghetto, hendrerizzle fo shizzle mah nizzle fo rizzle, mah home g-dizzle, adipiscing crunk, boom shackalack. Etizzle velit doggy, hizzle consequizzle, pharetra get down get down, dictizzle sed, shut the shizzle up. Fo shizzle neque. Fo lorizzle. Bling " } What is a document database? Definitely NOT this kind of document ! { "id": "AzureDocumentDB", "servicetype": "Data Platform", "servicename": "Azure DocumentDB", "releasetype": "Preview", "public": true, "regions": [ { "name": "North Europe", "visible": true, "capacity": 230034 }, { "name": "West US", "visible": true, "capacity": 800034 }, { "name": "East US", "visible": false, "capacity": 1000034 } ] } { "id": "MS_125734", "name": "John Macintyre", "jobrole": "Program Manager", "companyname": "Microsoft", "photo": null, "bio": "John builds stuff at Microsoft.", "topicids": [ "MS_Azure_12", "MS_Azure_23", "MS_Azure_44" ], "sessonids": [ "MS_TEE_DBIB318", "MS_TEE_DBI212" ] { JSON} } { } SQL JS { } { } JS JS JS • 101 010 JS JS JS • 101 010 JS JS JS • 101 010 JS JS JS * collection != table of homogenous entities collection ~ a data partition • 101 010 JS { JS JS } "id" : "123" "name" : "joe" "age" : 30 "address" : { "street" : "some st" } • 101 010 JS JS JS 1. 2. 3. 1. 2. 3. Transactionally process multiple documents with application defined stored procedures and triggers JavaScript as the procedural language Language integrated Execution wrapped in an implicit transaction Preregistered and scoped to a collection Performed with ACID guarantees Triggers invoked as pre or post operations 1. 2. 3. Standard pricing tier with hourly billing 1 hr from just $0.034! Performance levels can be adjusted Each collection = 10GB of SSD Collection* perf is set by S1, S2, S3 Limit of 100 collections (1 TB) Soft limit, can be lifted as needed per account * collection != table of homogenous entities collection ~ a data partition # TechConfFI SearchService Tech Conference 2015 Different goals, different technologies Read/write requests Results Relational / NoSQL Store Operational Data Application User Search requests Search results slide is from David Chappells TechEd 2014 session Azure Search Index Index For an online shoe retailer high high heels high tops high arch s slide is from David Chappells TechEd 2014 session For an online shoe retailer Color (34) (21) (22) (5) (19) (9) (11) (10) Contoso Pumps $129.95 Contoso Stilettos $350.00 Fabrikam Flower $59.99 Fabrikam Lipstick Heels $489.95 Price $100 or less (10) $100 - $250 (14) $250 and up (9) is slide is from David Chappells TechEd 2014 session For an online shoe retailer Pumps are first because there are more in stock Color Made possible by facets (34) (21) (22) (5) (19) (9) (11) (10) Contoso Pumps $129.95 Contoso Stilettos $350.00 Fabrikam Flower $59.99 Fabrikam Lipstick Heels $489.95 Price $100 or less (10) $100 - $250 (14) $250 and up (9) s slide is from David Chappells TechEd 2014 session Contoso is first because of the promotion mysvc.search.windows.net/indexes/myindex/docs/index (All HTTP GET requests with version parameter) Simple search: Search combined with a strict filter: Search with sorting, paging, field selection: Faceting: Hit highlighting: (All HTTP GET requests with version parameter) Search in documents within 5 KM of my location: Sort results by distance from my location: Search for documents within a given polygon: (All HTTP GET requests with version parameter) Simple suggestions: Combined with a strict filter: With sorting, paging, field selection: Use a scoring profile: Use a scoring profile that requires parameters: Replicas (more queries, more HA) SKU Price per search unit/month* Docs Queries/sec Free - 10K - Standard ~$125 (~€ 94) 15M ~15 “Contact us” ~$500 (~€ 376) 60M ~50 We’re still fine-tuning the limits above Partitions (more documents, more storage) * Billed hourly * Prices reflect 50% discount for public preview Tech Conference # TechConfFI 28.-29.5.2015