Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Finding Your Place in the Cosmos - Azure Cosmos DB

35 views

Published on

Finding Your Place in the Cosmos - Azure Cosmos DB

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Finding Your Place in the Cosmos - Azure Cosmos DB

  1. 1. Findingyourplace in theCosmos EricPotter Technical Strategist, Aptera Software
  2. 2. Findingyourplace in theCosmos EricPotter Technical Strategist, Aptera Software
  3. 3. What
  4. 4. Why
  5. 5. Performance
  6. 6. Storage
  7. 7. Document Databases
  8. 8. Model
  9. 9. Model
  10. 10. Model
  11. 11. Insert
  12. 12. Insert
  13. 13. Insert
  14. 14. Query ● LINQ to SQL API ● Stored Procedures in JavaScript ● JavaScript for ○ Store Procedures ○ Triggers ○ User Defined Functions ● (future) Entity Framework
  15. 15. KeyValue
  16. 16. Model
  17. 17. Model
  18. 18. Insert
  19. 19. Insert
  20. 20. • All values are retrieved by their keys. • Data is structured so there is little need to join records together. • These limitations make the data retrieval times incredibly fast. Query
  21. 21. Graph
  22. 22. Model
  23. 23. Insert - Vertices g.addV('person').property('id', ‘coryHouse') g.addV('person').property('id', 'jeremyClark') g.addV('person').property('id', 'arthurDoler') g.addV('podcast').property('id', 'crossCuttingConcerns') g.addV('podcast').property('id', 'developerOnFire').property('Name', 'Developer On Fire') g.addV('podcast').property('id', 'dotnetrocks').property('Name’, ‘.Net Rocks') g.addV('conference').property('id', 'kcdc-2018') g.addV('conference').property('id', 'devUp-2018') g.addV('conference').property('id', ‘codeMash-2019')
  24. 24. Insert - Edges g.V(‘jeremyclark').addE('appearedOn').to(g.V('dotnetrocks')) g.V(‘jeremyclark').addE('spokeAt').to(g.V(‘kcdc-2018')) g.V('coryHouse').addE('appearedOn').to(g.V('dotnetrocks')) g.V('coryHouse').addE('appearedOn').to(g.V('developerOnFire') g.V('coryHouse').addE('spokeAt').to(g.V('kcdc-2018')) g.V('coryHouse').addE('spokeAt').to(g.V(‘codemash-2019'))
  25. 25. Query Results dotnetrocks developerOnFire live360-2018 kcdc-2018 g.V('jeremyClark').out()
  26. 26. Query Results codeMash-2019 kcdc-2018 g.V(‘coryHouse').out(‘spokeAt’)
  27. 27. Query Results coryHouse chrisWoodruff … g.V(‘codemash-2019').in()
  28. 28. Query Results DotNetRocks DeveloperOnFire g.V(‘codeMash-2019').in().out('appearedOn')
  29. 29. Wide Column Store
  30. 30. Model
  31. 31. Insert
  32. 32. SELECT * FROM podcasts.episodes WHERE shownum = 38 Query
  33. 33. Questions?
  34. 34. Integration
  35. 35. Integrations • Logic Apps / Microsoft Flow • Azure Functions • Azure Change Feed Processor
  36. 36. Conslusion
  37. 37. “ Thank You. Let’s Chat Later. @pottereric HumbleToolsmith.com

×