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.
NoSQLWhat it is andhow Our projects can benefit from it
What this is Not ...SQL
What it is ...
The PlanNot Only SQLRelational LovePolyglot PersistenceThe Range
What is NoSQL?
You have a Choice!
It’s not just about ...
Driving ForcesVolume Velocity Variety CostAgility MismatchProductivity Availability
VolumeMy application need to be ableto handle large volumes ofdata.
VolumeSimple Horizontal ScalingAutomatic ShardingDistributed Querying
VelocityMy application needs to storeand serve relevant informationto users in real-time toprovide a high-quality userexpe...
VelocityDistributed LoadStore as UsedReal-time AnalyticsIntegrated Caching
VarietyMy application needs to be ableto handle market data frommultiple internal and externalsystems each with its ownsch...
VarietyHandles Sparsely Populated DataWellDynamic SchemaNo need to define one schema for allEasier integration of new ...
CostWe are a public sectororganisation which need toaccount to the localcommunity for ourspending.
CostCommodity HardwareOpen SourceLower Support Fees
AgilityMy applications data modelsneed to be updated weeklyto keep pace with businessand market developments.
AgilityDynamic SchemasOO Like StructuresEasy to Scale Out
ProductivityMy application deals withpatient health records and I’mfinding it complex to modelin my relational database.
ProductivityData Complex to Model in RelationalEasier to AdoptAvoid Complex Reads/WritesNo Upfront Schema Design
MismatchThe team developing myapplication are not databaseexperts
MismatchStore as UsedFamiliar FormatsORM Redundant
AvailabilityMy application is critical it needsto be available 24 x 7. Ican’t afford a lot ofdowntime for upgrade.
AvailabilityDynamic SchemaUpgrade Without DowntimeSimple ReplicationSimple Load Balancing
Key Value
Key ValueFamiliarSimple APIJust a BLOB
ExamplesMemcacheDB
 The GoodFamiliarSimple to BuildEasy to ScaleGreatPerformanceX The BadXQueriesXComplex DataXNo SchemaXNot ACID
UsesMedia StoresUser profilesUser sessionsShopping carts
Document
VsDocument{name: “NoSQL”,categories: [“document”,“columnar”,“graph”,“key-value”]}
Examples
 The GoodNo MismatchProductivityFlexible SchemaAgileAvailabilityX The BadX QueryingX TransactionsX Multiple UsesX Re...
Uses• High Volume Data Feeds• Customer Facing Dashboards• News Sites/Blogs
Graph
GraphRelations over Data
Examples
 The GoodRelationshipsWhiteboardGraph AlgorithmsSchema FreePerformanceAcid TransactionsX The BadXSpecialisedXImmatu...
Uses• Recommendations• Social Networking• Business Intelligence• Fraud Detection
Column Orientated
Column OrientatedBigTableColumn, Column FamiliesRagged
Examples
 The GoodAggregate ColumnFast lookupsDistributed storageMapReduceWrite LoadsX The BadX APIX No Idea of Use
UsesLarge DeploymentsStatistics & Analysis
Polyglot Persistence
Polyglot Persistence
Don’t Dismiss Relational
Use RelationalTransactionsUnsureFlexibility
Use RelationalIntegrityStandardisationTried & TestedKnowledge
Use RelationalHelpToolingSecurity & ComplianceThe Hybrid
Questions???
NoSQL, What it is and how our projects can benefit from it
NoSQL, What it is and how our projects can benefit from it
NoSQL, What it is and how our projects can benefit from it
Upcoming SlideShare
Loading in …5
×

NoSQL, What it is and how our projects can benefit from it

564 views

Published on

A very high level introduction to NoSQL. Introducing the main categories of NoSQL database and the business drivers that could lead you to use it.

Published in: Technology
  • Be the first to comment

NoSQL, What it is and how our projects can benefit from it

  1. 1. NoSQLWhat it is andhow Our projects can benefit from it
  2. 2. What this is Not ...SQL
  3. 3. What it is ...
  4. 4. The PlanNot Only SQLRelational LovePolyglot PersistenceThe Range
  5. 5. What is NoSQL?
  6. 6. You have a Choice!
  7. 7. It’s not just about ...
  8. 8. Driving ForcesVolume Velocity Variety CostAgility MismatchProductivity Availability
  9. 9. VolumeMy application need to be ableto handle large volumes ofdata.
  10. 10. VolumeSimple Horizontal ScalingAutomatic ShardingDistributed Querying
  11. 11. VelocityMy application needs to storeand serve relevant informationto users in real-time toprovide a high-quality userexperience
  12. 12. VelocityDistributed LoadStore as UsedReal-time AnalyticsIntegrated Caching
  13. 13. VarietyMy application needs to be ableto handle market data frommultiple internal and externalsystems each with its ownschema
  14. 14. VarietyHandles Sparsely Populated DataWellDynamic SchemaNo need to define one schema for allEasier integration of new system’s data
  15. 15. CostWe are a public sectororganisation which need toaccount to the localcommunity for ourspending.
  16. 16. CostCommodity HardwareOpen SourceLower Support Fees
  17. 17. AgilityMy applications data modelsneed to be updated weeklyto keep pace with businessand market developments.
  18. 18. AgilityDynamic SchemasOO Like StructuresEasy to Scale Out
  19. 19. ProductivityMy application deals withpatient health records and I’mfinding it complex to modelin my relational database.
  20. 20. ProductivityData Complex to Model in RelationalEasier to AdoptAvoid Complex Reads/WritesNo Upfront Schema Design
  21. 21. MismatchThe team developing myapplication are not databaseexperts
  22. 22. MismatchStore as UsedFamiliar FormatsORM Redundant
  23. 23. AvailabilityMy application is critical it needsto be available 24 x 7. Ican’t afford a lot ofdowntime for upgrade.
  24. 24. AvailabilityDynamic SchemaUpgrade Without DowntimeSimple ReplicationSimple Load Balancing
  25. 25. Key Value
  26. 26. Key ValueFamiliarSimple APIJust a BLOB
  27. 27. ExamplesMemcacheDB
  28. 28.  The GoodFamiliarSimple to BuildEasy to ScaleGreatPerformanceX The BadXQueriesXComplex DataXNo SchemaXNot ACID
  29. 29. UsesMedia StoresUser profilesUser sessionsShopping carts
  30. 30. Document
  31. 31. VsDocument{name: “NoSQL”,categories: [“document”,“columnar”,“graph”,“key-value”]}
  32. 32. Examples
  33. 33.  The GoodNo MismatchProductivityFlexible SchemaAgileAvailabilityX The BadX QueryingX TransactionsX Multiple UsesX ResponsibilityX Flexible Schema
  34. 34. Uses• High Volume Data Feeds• Customer Facing Dashboards• News Sites/Blogs
  35. 35. Graph
  36. 36. GraphRelations over Data
  37. 37. Examples
  38. 38.  The GoodRelationshipsWhiteboardGraph AlgorithmsSchema FreePerformanceAcid TransactionsX The BadXSpecialisedXImmatureXPartitioning
  39. 39. Uses• Recommendations• Social Networking• Business Intelligence• Fraud Detection
  40. 40. Column Orientated
  41. 41. Column OrientatedBigTableColumn, Column FamiliesRagged
  42. 42. Examples
  43. 43.  The GoodAggregate ColumnFast lookupsDistributed storageMapReduceWrite LoadsX The BadX APIX No Idea of Use
  44. 44. UsesLarge DeploymentsStatistics & Analysis
  45. 45. Polyglot Persistence
  46. 46. Polyglot Persistence
  47. 47. Don’t Dismiss Relational
  48. 48. Use RelationalTransactionsUnsureFlexibility
  49. 49. Use RelationalIntegrityStandardisationTried & TestedKnowledge
  50. 50. Use RelationalHelpToolingSecurity & ComplianceThe Hybrid
  51. 51. Questions???

×