the hitchhiker s guide to the cosmos
play

The Hitchhikers Guide to the Cosmos Chad Green A t l a n t a C - PowerPoint PPT Presentation

The Hitchhikers Guide to the Cosmos Chad Green A t l a n t a C o d e C a m p S e p t e m b e r 1 4 , 2 0 1 9 @chadgreen @chadgreen Platinum Sponsors @chadgreen Gold Sponsors @chadgreen Special Thanks @chadgreen Who is Chad


  1. The Hitchhiker’s Guide to the Cosmos Chad Green A t l a n t a C o d e C a m p S e p t e m b e r 1 4 , 2 0 1 9 @chadgreen @chadgreen

  2. Platinum Sponsors @chadgreen

  3. Gold Sponsors @chadgreen

  4. Special Thanks @chadgreen

  5. Who is Chad Green D irec tor of S of t ware D evelop ment S c h olarR x � chadgreen@chadgreen.com  chadgreen.com � ChadGreen � ChadwickEGreen @chadgreen @chadgreen

  6. What is Cosmos DB @chadgreen @chadgreen

  7. Azure Cosmos DB A globally distributed, massively scalable, multi-model database service Turnkey global distribution @chadgreen @chadgreen

  8. Azure Cosmos DB A globally distributed, massively scalable, multi-model database service Comprehe Turnke nkey glo globa hensive bal distrib dis SLAs ibutio ion Turnkey global distribution @chadgreen @chadgreen

  9. Azure Cosmos DB A globally distributed, massively scalable, multi-model database service Ela Comprehe lastic ic s scale hensive le o out of s f storage ge & t SLAs thr hroughp ghput Turnkey global Comprehensive distribution SLAs @chadgreen @chadgreen

  10. Azure Cosmos DB A globally distributed, massively scalable, multi-model database service Gu Guaranteed lo Ela lastic ic s ed low scale le o w la out latenc ency th per of s f storage at th at the 9 ge & t 99 th thr percentile hroughp ghput ile Elastic scale out of storage & throughput Turnkey global Comprehensive distribution SLAs @chadgreen @chadgreen

  11. Azure Cosmos DB A globally distributed, massively scalable, multi-model database service Guaranteed lo Gu Fiv Five well well-define ed low w la ned latenc ency th per at th at the 9 cons nsistenc 99 th ncy m percentile models dels ile Elastic scale out Guaranteed low latency at the 99 th percentile of storage & throughput Turnkey global Comprehensive distribution SLAs @chadgreen @chadgreen

  12. Azure Cosmos DB A globally distributed, massively scalable, multi-model database service Event ntual Consiste tent P Prefix Bounded S Sessi ded Stal ssion alen enes ess Strong St Five well-defined consistency models Elastic scale out Guaranteed low latency at the 99 th percentile of storage & throughput Turnkey global Comprehensive distribution SLAs @chadgreen @chadgreen

  13. Azure Cosmos DB A globally distributed, massively scalable, multi-model database service Secure by default and enterprise ready Ubiquitou ous r regional presence No schema o Battle e tested a or index ed databas ex m abase managem e service agemen ent Five well-defined consistency models Elastic scale out Guaranteed low latency of storage & throughput at the 99th percentile Turnkey global Comprehensive distribution SLAs @chadgreen @chadgreen

  14. Azure Cosmos DB Request Units • Item Size • Item Indexing • Item Property Count • Indexed Properties • Data Consistency • Query Patterns • Script Usage @chadgreen @chadgreen

  15. Azure Cosmos DB Pricing Unit Price Provisioned Throughput (multiple region writes) per 100 RU/s $0.016/hour Provisioned Throughput (single region writes) per 100 RU/s $0.008/hour SSD Storage (per GB) $0.25 GB/month Starts at approximately $23.61/month Save 15-65% with Reserved Pricing @chadgreen @chadgreen

  16. Azure Cosmos Capabilities What if we have REALY large data requirements? @chadgreen @chadgreen

  17. Azure Cosmos Capabilities Resource Default Limit Maximum RUs per container 1,000,000 Maximum RUs per database 1,000,000 Maximum Rus per (logical) partition key 10,000 Maximum storage across all items per (logical) partition key 10 GB Maximum number of distinct (logical) partition keys Unlimited Maximum storage per container Unlimited Maximum storage per database Unlimited @chadgreen @chadgreen

  18. Cosmos Use Cases @chadgreen @chadgreen

  19. IoT and Telematics Common Pattern in IoT use cases • Ingest bursts of data from devices and sensors of various locales • Process and analyze streaming data to derive real-time insights • Archive data to cold storage for batch analytics @chadgreen @chadgreen

  20. IoT and Telematics @chadgreen @chadgreen

  21. Retail and Marketing • Used extensively by Microsoft’s own e-commerce platforms • Storing and querying a set of attributes for entities • Examples of catalog data • User Accounts • Product Catalogs • IoT Device Registries @chadgreen @chadgreen

  22. Retail and Marketing @chadgreen @chadgreen

  23. Retail and Marketing @chadgreen @chadgreen

  24. Gaming • Database tier is crucial • Often require single-millisecond latencies for reads and writes • Needs to be fast and able to handle massive spikes @chadgreen @chadgreen

  25. Gaming @chadgreen @chadgreen

  26. Web & Mobile Applications • Modeling social interactions • Integrating with third-party services • Building rich personalized experiences @chadgreen @chadgreen

  27. Web & Mobile Applications – Social Applications @chadgreen @chadgreen

  28. Web & Mobile Applications – Personalization @chadgreen @chadgreen

  29. Integrations @chadgreen @chadgreen

  30. Cosmos DB Integrations Azure Logic Apps Azure Functions Change Feed Microsoft Flow Apache Spark Etch API @chadgreen @chadgreen

  31. Navigating the 5 API Models @chadgreen @chadgreen

  32. Resource Model and API Projections Atom Resource Sequence @chadgreen @chadgreen

  33. SQL API Document Database @chadgreen @chadgreen

  34. SQL API – What • Document Database • Originally Microsoft’s DocumentDB implementation • Supports using SQL as a JSON query language • Uses JavaScript’s programming model as foundation for query language @chadgreen @chadgreen

  35. SQL API – Why Building a new non-relational document database and want to query using SQL @chadgreen @chadgreen

  36. SQL API – How: Data Model SELECT * FROM c WHERE c.OwnerEmailAddress = ‘chadgreen@chadgreen.com’ @chadgreen @chadgreen

  37. SQL API – How: Insert @chadgreen @chadgreen

  38. SQL API – How: Insert @chadgreen @chadgreen

  39. SQL API – How: Query @chadgreen @chadgreen

  40. SQL API – Query • API (using Microsoft.Azure.Cosmos) • LINQ to SQL API • JavaScript • Stored Procedures • Triggers • User Defined Functions • Entity Framework @chadgreen @chadgreen

  41. MongoDB Document Database @chadgreen @chadgreen

  42. API for MongoDB – What • Native MongoDB implementation • Allows existing client SDKs, drivers, and tools to interact transparently • Default is Mongo v3.2; v3.4 in preview @chadgreen @chadgreen

  43. API for MongoDB – Why Migrating data from a MongoDB database to Azure Cosmos DB’s fully managed service @chadgreen @chadgreen

  44. API for MongoDB – How: Data Model Filter: {"OwnerEmailAddress": "chadgreen@chadgreen.com"} @chadgreen @chadgreen

  45. API for MongoDB – How: Insert @chadgreen @chadgreen

  46. API for MongoDB – How: Insert @chadgreen @chadgreen

  47. API for MongoDB – How: Query @chadgreen @chadgreen

  48. Gremlin API Graph Database @chadgreen @chadgreen

  49. Gremlin API – What • Collection of vertices and edges • Represents entities as vertices and the ways in which those entities relate to the world as relationships • Allows us to model all kinds of scenarios @chadgreen @chadgreen

  50. Gremlin API – What User @ChadGreen Follows Follows Follows User User @_LBosq Follows @AzureCosmosDB Follows @chadgreen @chadgreen

  51. Gremlin API – Why Building a graph database to model and traverse relationships among entities @chadgreen @chadgreen

  52. Gremlin API – Why Represent • Social Networks • Search data as it • Recommendations is found in • Communication networks • Identity and access management nature • Fraud detection @chadgreen @chadgreen

  53. Gremlin API – How: Data Model g.V().hasLabel (‘presentation’) .has(‘ownerEmailAddress’, ‘chadgreen@chadgreen.c om’) @chadgreen @chadgreen

  54. SQL API – How: Insert @chadgreen @chadgreen

  55. SQL API – How: Query "g.V() .hasLabel('tag’) .has('name’, 'Azure’) .in('taggedAs’) .hasLabel('presentation')" @chadgreen @chadgreen

  56. Gremlin API – Query • API (using Gremlin.Net) • Community API (Gremlin.Net.CosmosDb) • JavaScript • Stored Procedures • Triggers • User Defined Functions • SQL API @chadgreen @chadgreen

  57. Cassandra API Wide Column Store @chadgreen @chadgreen

  58. Cassandra API – What • Open-source, distributed, wide column store, NoSQL database • Designed to handle large amounts of data • Uses many commodity servers, providing high availability • Developed to power the Facebook inbox search feature @chadgreen @chadgreen

  59. Casandra API – Why Migrating data from Cassandra to Azure Cosmos DB @chadgreen @chadgreen

  60. Cassandra API – How: Data Model @chadgreen @chadgreen

  61. Cassandra API – How: Insert @chadgreen @chadgreen

  62. Cassandra API – How: Insert @chadgreen @chadgreen

  63. Cassandra API – How: Query @chadgreen @chadgreen

Recommend


More recommend