SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Polyglot Persistence
Choosing the right persistence
option for the task at hand
SoftUni Team
Stamo Petkov
Software University
http://softuni.bg
Стамо Петков
Информационно обслужване АД
Отдел „Майкрософт технологии“
s.g.petkov@is-bg.com
stamo.petkov@gmail.com
https://github.com/stamo
http://www.stamopetkov.eu
http://bg.linkedin.com/in/stamopetkov
https://www.facebook.com/stamo.petkov
@stamo_petkov
Who am I?
3
1. What does “Polyglot Persistence” means?
2. Why do we need it?
3. What options do we have?
 RDBMS
 Document stores
 Key – value pairs
 BLOB storage
 Table storage
 Graph DBs
 Message Queues
4. Conclusions
Table of Contents
What does “Polyglot Persistence”
means?
5
 Polyglot Persistence is all about choosing the right persistence
option for the task at hand.
Scott Leberknight, 2008
 Gains popularity in 2011
with Martin Fowler’s
diagram of “Retailers
Web Application”
 Making more sense
with rapidly emerging
cloud technologies
The origins of Polyglot Persistence
Why do we need it?
7
Every two days now we create as much information as we did
from the dawn of civilization up until 2003. That’s something like
five Exabytes of data. Eric Schmidt, 4th of Aug 2010
Data production
8
One minute on the Internet
Learn more at
http://www.domo.com
9
Scalability and Performance
 Vertical scaling – Pros and Cons
 Horizontal scaling – Pros and Cons
 Persistence storages scalability
What options do we have?
11
 Oracle, SQL Server, Azure SQL, PostgreSQL,
MySQL
 Relational databases have been around for
over four decades, and that means something
in the IT world.
 Well known language – SQL was developed in
early 70s and was standardised in 1986
 Simplicity of relational model.
 Solid theoretical basis and normalization rules
 Great expertise
Relational Database Management Systems
12
 NoSQL to be read Not Only SQL
 It’s not SQL slayer, but SQL companion
 Mostly open source
 Horizontal scalability
 Schema - less
 MapReduce
 Very fast for adding new data and for simple operations/queries.
 CAP theorem
NoSQL
13
 Riak, Redis, Berkeley DB, Oracle NoSQL DB
 Storing associative arrays (Dictionary, Hash)
 Treat the data as a single opaque collection which may have
different fields for every record
 Can store in RAM or HDD / SSD
 Use far less memory in comparison with RDBMS
 Ideal for cache or temporary storage
 Complex consistency model
Key – value pairs
14
Document stores
 MongoDB, DocumentDB, CouchDB…
 Storing documents in JSON, XML, YAML, BSON, etc.
 REST API
 Designed for horizontal scaling and
Big Data processing
 MapReduce framework
 JavaScript friendly, allow full stack
JavaScript development
 Rapid development
15
 Apache Cassandra, Azure Table Storage, Apache Hbase…
 Store semi-structured data that’s highly available. Flexible datasets
 Designed for Big Data – store petabytes of data at reasonable cost
 No single point of failure – every node in the cluster has the same role
 MapReduce support
 Read and write throughput both increase linearly as new machines are
added, with no downtime or interruption to applications
 Fault – tolerant – supports replication, failover and disaster recovery
Table storage
16
 Neo4j, Titan, ArangoDB, Apache
Giraph…
 Everything is stored in form of either an
edge, a node or an attribute
 Each node and edge can have any
number of attributes
 Facebook used Giraph with some
performance improvements to analyze
one trillion edges using 200 machines in
4 minutes
 Use cases: Real-time recommendations,
Social networks, Graph-based search
Graph DBs
17
 MongoDb (GridFS), Azure BLOB, Azure File Storage
 Store petabytes of highly available data
 Serve content to web or mobile applications
 Power big data analytics
 Stream video and audio
 Perform secure backup and disaster recovery
 Cost – effective
Binary Large Object storage
18
 RabbitMQ, IronMQ, Azure Queue Storage
 Asynchronous communications protocol
 Can rise events or be directly accessed by clients
 Messages may be kept in memory, written to disk, or even
committed to a DBMS
 Allows creating of decoupled components
 Azure Queue Storage can assign resources dynamically based on
queue length.
Message Queues
19
Rank
DBMS Database Model
Score
Oct
2015
Sep
2015
Oct
2014
Oct
2015
Sep
2015
Oct
2014
1. 1. 1. Oracle Relational DBMS 1466.95 +3.58 -4.95
2. 2. 2. MySQL Relational DBMS 1278.96 +1.21 +15.99
3. 3. 3. Microsoft SQL Server Relational DBMS 1123.23 +25.40 -96.37
4. 4. 5. MongoDB Document store 293.27 -7.30 +52.86
5. 5. 4. PostgreSQL Relational DBMS 282.13 -4.05 +24.41
6. 6. 6. DB2 Relational DBMS 206.81 -2.33 -0.86
7. 7. 7. Microsoft Access Relational DBMS 141.83 -4.17 +0.19
8. 8. 10. Cassandra Wide column store 129.01 +1.41 +43.30
9. 9. 8. SQLite Relational DBMS 102.67 -4.99 +7.71
10. 10. 12. Redis Key-value store 98.80 -1.86 +19.42
The DB-Engines Ranking
20
 If your data is relational in nature use RDBMS
 If your data is relatively constant in size and fit in tables use
RDBMS
 Don’t be afraid to experiment with new persistence options, but
think twice before putting them in production
 Try to use in-memory data stores for temporary data
 Prefer BLOB storages when you are dealing with large files
 Consider using some kind of cloud infrastructure
Conclusions
?
Polyglot Persistence
https://conf.softuni.bg/
License
 This course (slides, examples, labs, videos, homework, etc.)
is licensed under the "Creative Commons Attribution-
NonCommercial-ShareAlike 4.0 International" license
22
 Attribution: this work may contain portions from
Free Trainings @ Software University
 Software University Foundation – softuni.org
 Software University – High-Quality Education,
Profession and Job for Software Developers
 softuni.bg
 Software University @ Facebook
 facebook.com/SoftwareUniversity
 Software University @ YouTube
 youtube.com/SoftwareUniversity
 Software University Forums – forum.softuni.bg

Weitere ähnliche Inhalte

Was ist angesagt?

SharePoint Saturday Durban Presentation
SharePoint Saturday Durban PresentationSharePoint Saturday Durban Presentation
SharePoint Saturday Durban Presentation
Warren Marks
 
MongoDB : Introduction
MongoDB : IntroductionMongoDB : Introduction
MongoDB : Introduction
Wildan Maulana
 

Was ist angesagt? (20)

SQL or NoSQL, that is the question!
SQL or NoSQL, that is the question!SQL or NoSQL, that is the question!
SQL or NoSQL, that is the question!
 
Mongo DB for Java, Python and PHP Developers
Mongo DB for Java, Python and PHP DevelopersMongo DB for Java, Python and PHP Developers
Mongo DB for Java, Python and PHP Developers
 
Backbone using Extensible Database APIs over HTTP
Backbone using Extensible Database APIs over HTTPBackbone using Extensible Database APIs over HTTP
Backbone using Extensible Database APIs over HTTP
 
10 mongo db
10 mongo db10 mongo db
10 mongo db
 
«NoSQL Databases and Polyglot Persistence»
«NoSQL Databases and Polyglot Persistence»«NoSQL Databases and Polyglot Persistence»
«NoSQL Databases and Polyglot Persistence»
 
Multi-model databases and node.js
Multi-model databases and node.jsMulti-model databases and node.js
Multi-model databases and node.js
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 
MongoDB in Simple and Easy Steps
MongoDB in Simple and Easy StepsMongoDB in Simple and Easy Steps
MongoDB in Simple and Easy Steps
 
SharePoint Saturday Durban Presentation
SharePoint Saturday Durban PresentationSharePoint Saturday Durban Presentation
SharePoint Saturday Durban Presentation
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 
MongoDB : Introduction
MongoDB : IntroductionMongoDB : Introduction
MongoDB : Introduction
 
Mongodb vs mysql
Mongodb vs mysqlMongodb vs mysql
Mongodb vs mysql
 
No SQL and MongoDB - Hyderabad Scalability Meetup
No SQL and MongoDB - Hyderabad Scalability MeetupNo SQL and MongoDB - Hyderabad Scalability Meetup
No SQL and MongoDB - Hyderabad Scalability Meetup
 
Performance Benchmarking of Key-Value Store NoSQL Databases
Performance Benchmarking of Key-Value Store NoSQL Databases Performance Benchmarking of Key-Value Store NoSQL Databases
Performance Benchmarking of Key-Value Store NoSQL Databases
 
NOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLNOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQL
 
No sql - { If and Else }
No sql - { If and Else }No sql - { If and Else }
No sql - { If and Else }
 
Redis as database - HashedIn
Redis as database - HashedInRedis as database - HashedIn
Redis as database - HashedIn
 
Mongodb intro
Mongodb introMongodb intro
Mongodb intro
 
MongoDB presentation
MongoDB presentationMongoDB presentation
MongoDB presentation
 
Jan Steemann: Modelling data in a schema free world (Talk held at Froscon, 2...
Jan Steemann: Modelling data in a schema free world  (Talk held at Froscon, 2...Jan Steemann: Modelling data in a schema free world  (Talk held at Froscon, 2...
Jan Steemann: Modelling data in a schema free world (Talk held at Froscon, 2...
 

Ähnlich wie Polyglot persitence

Bhupeshbansal bigdata
Bhupeshbansal bigdata Bhupeshbansal bigdata
Bhupeshbansal bigdata
Bhupesh Bansal
 

Ähnlich wie Polyglot persitence (20)

Building a modern data warehouse
Building a modern data warehouseBuilding a modern data warehouse
Building a modern data warehouse
 
Is multi-model the future of NoSQL?
Is multi-model the future of NoSQL?Is multi-model the future of NoSQL?
Is multi-model the future of NoSQL?
 
Strategies for Context Data Persistence
Strategies for Context Data PersistenceStrategies for Context Data Persistence
Strategies for Context Data Persistence
 
Overview of MongoDB and Other Non-Relational Databases
Overview of MongoDB and Other Non-Relational DatabasesOverview of MongoDB and Other Non-Relational Databases
Overview of MongoDB and Other Non-Relational Databases
 
NOSQL
NOSQLNOSQL
NOSQL
 
Bhupeshbansal bigdata
Bhupeshbansal bigdata Bhupeshbansal bigdata
Bhupeshbansal bigdata
 
Graph Data: a New Data Management Frontier
Graph Data: a New Data Management FrontierGraph Data: a New Data Management Frontier
Graph Data: a New Data Management Frontier
 
Above the cloud joarder kamal
Above the cloud   joarder kamalAbove the cloud   joarder kamal
Above the cloud joarder kamal
 
Prague data management meetup 2018-03-27
Prague data management meetup 2018-03-27Prague data management meetup 2018-03-27
Prague data management meetup 2018-03-27
 
Hopsworks in the cloud Berlin Buzzwords 2019
Hopsworks in the cloud Berlin Buzzwords 2019 Hopsworks in the cloud Berlin Buzzwords 2019
Hopsworks in the cloud Berlin Buzzwords 2019
 
Webcast Q&A- Big Data Architectures Beyond Hadoop
Webcast Q&A- Big Data Architectures Beyond HadoopWebcast Q&A- Big Data Architectures Beyond Hadoop
Webcast Q&A- Big Data Architectures Beyond Hadoop
 
Achieving Separation of Compute and Storage in a Cloud World
Achieving Separation of Compute and Storage in a Cloud WorldAchieving Separation of Compute and Storage in a Cloud World
Achieving Separation of Compute and Storage in a Cloud World
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
 
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
 
Couchbase - Yet Another Introduction
Couchbase - Yet Another IntroductionCouchbase - Yet Another Introduction
Couchbase - Yet Another Introduction
 
MANTL Data Platform, Microservices and BigData Services
MANTL Data Platform, Microservices and BigData ServicesMANTL Data Platform, Microservices and BigData Services
MANTL Data Platform, Microservices and BigData Services
 
MongoDB vs Mysql. A devops point of view
MongoDB vs Mysql. A devops point of viewMongoDB vs Mysql. A devops point of view
MongoDB vs Mysql. A devops point of view
 
Big data concepts
Big data conceptsBig data concepts
Big data concepts
 
UnConference for Georgia Southern Computer Science March 31, 2015
UnConference for Georgia Southern Computer Science March 31, 2015UnConference for Georgia Southern Computer Science March 31, 2015
UnConference for Georgia Southern Computer Science March 31, 2015
 
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
 

Kürzlich hochgeladen

Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Kürzlich hochgeladen (20)

Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 

Polyglot persitence

  • 1. Polyglot Persistence Choosing the right persistence option for the task at hand SoftUni Team Stamo Petkov Software University http://softuni.bg
  • 2. Стамо Петков Информационно обслужване АД Отдел „Майкрософт технологии“ s.g.petkov@is-bg.com stamo.petkov@gmail.com https://github.com/stamo http://www.stamopetkov.eu http://bg.linkedin.com/in/stamopetkov https://www.facebook.com/stamo.petkov @stamo_petkov Who am I?
  • 3. 3 1. What does “Polyglot Persistence” means? 2. Why do we need it? 3. What options do we have?  RDBMS  Document stores  Key – value pairs  BLOB storage  Table storage  Graph DBs  Message Queues 4. Conclusions Table of Contents
  • 4. What does “Polyglot Persistence” means?
  • 5. 5  Polyglot Persistence is all about choosing the right persistence option for the task at hand. Scott Leberknight, 2008  Gains popularity in 2011 with Martin Fowler’s diagram of “Retailers Web Application”  Making more sense with rapidly emerging cloud technologies The origins of Polyglot Persistence
  • 6. Why do we need it?
  • 7. 7 Every two days now we create as much information as we did from the dawn of civilization up until 2003. That’s something like five Exabytes of data. Eric Schmidt, 4th of Aug 2010 Data production
  • 8. 8 One minute on the Internet Learn more at http://www.domo.com
  • 9. 9 Scalability and Performance  Vertical scaling – Pros and Cons  Horizontal scaling – Pros and Cons  Persistence storages scalability
  • 10. What options do we have?
  • 11. 11  Oracle, SQL Server, Azure SQL, PostgreSQL, MySQL  Relational databases have been around for over four decades, and that means something in the IT world.  Well known language – SQL was developed in early 70s and was standardised in 1986  Simplicity of relational model.  Solid theoretical basis and normalization rules  Great expertise Relational Database Management Systems
  • 12. 12  NoSQL to be read Not Only SQL  It’s not SQL slayer, but SQL companion  Mostly open source  Horizontal scalability  Schema - less  MapReduce  Very fast for adding new data and for simple operations/queries.  CAP theorem NoSQL
  • 13. 13  Riak, Redis, Berkeley DB, Oracle NoSQL DB  Storing associative arrays (Dictionary, Hash)  Treat the data as a single opaque collection which may have different fields for every record  Can store in RAM or HDD / SSD  Use far less memory in comparison with RDBMS  Ideal for cache or temporary storage  Complex consistency model Key – value pairs
  • 14. 14 Document stores  MongoDB, DocumentDB, CouchDB…  Storing documents in JSON, XML, YAML, BSON, etc.  REST API  Designed for horizontal scaling and Big Data processing  MapReduce framework  JavaScript friendly, allow full stack JavaScript development  Rapid development
  • 15. 15  Apache Cassandra, Azure Table Storage, Apache Hbase…  Store semi-structured data that’s highly available. Flexible datasets  Designed for Big Data – store petabytes of data at reasonable cost  No single point of failure – every node in the cluster has the same role  MapReduce support  Read and write throughput both increase linearly as new machines are added, with no downtime or interruption to applications  Fault – tolerant – supports replication, failover and disaster recovery Table storage
  • 16. 16  Neo4j, Titan, ArangoDB, Apache Giraph…  Everything is stored in form of either an edge, a node or an attribute  Each node and edge can have any number of attributes  Facebook used Giraph with some performance improvements to analyze one trillion edges using 200 machines in 4 minutes  Use cases: Real-time recommendations, Social networks, Graph-based search Graph DBs
  • 17. 17  MongoDb (GridFS), Azure BLOB, Azure File Storage  Store petabytes of highly available data  Serve content to web or mobile applications  Power big data analytics  Stream video and audio  Perform secure backup and disaster recovery  Cost – effective Binary Large Object storage
  • 18. 18  RabbitMQ, IronMQ, Azure Queue Storage  Asynchronous communications protocol  Can rise events or be directly accessed by clients  Messages may be kept in memory, written to disk, or even committed to a DBMS  Allows creating of decoupled components  Azure Queue Storage can assign resources dynamically based on queue length. Message Queues
  • 19. 19 Rank DBMS Database Model Score Oct 2015 Sep 2015 Oct 2014 Oct 2015 Sep 2015 Oct 2014 1. 1. 1. Oracle Relational DBMS 1466.95 +3.58 -4.95 2. 2. 2. MySQL Relational DBMS 1278.96 +1.21 +15.99 3. 3. 3. Microsoft SQL Server Relational DBMS 1123.23 +25.40 -96.37 4. 4. 5. MongoDB Document store 293.27 -7.30 +52.86 5. 5. 4. PostgreSQL Relational DBMS 282.13 -4.05 +24.41 6. 6. 6. DB2 Relational DBMS 206.81 -2.33 -0.86 7. 7. 7. Microsoft Access Relational DBMS 141.83 -4.17 +0.19 8. 8. 10. Cassandra Wide column store 129.01 +1.41 +43.30 9. 9. 8. SQLite Relational DBMS 102.67 -4.99 +7.71 10. 10. 12. Redis Key-value store 98.80 -1.86 +19.42 The DB-Engines Ranking
  • 20. 20  If your data is relational in nature use RDBMS  If your data is relatively constant in size and fit in tables use RDBMS  Don’t be afraid to experiment with new persistence options, but think twice before putting them in production  Try to use in-memory data stores for temporary data  Prefer BLOB storages when you are dealing with large files  Consider using some kind of cloud infrastructure Conclusions
  • 22. License  This course (slides, examples, labs, videos, homework, etc.) is licensed under the "Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International" license 22  Attribution: this work may contain portions from
  • 23. Free Trainings @ Software University  Software University Foundation – softuni.org  Software University – High-Quality Education, Profession and Job for Software Developers  softuni.bg  Software University @ Facebook  facebook.com/SoftwareUniversity  Software University @ YouTube  youtube.com/SoftwareUniversity  Software University Forums – forum.softuni.bg

Hinweis der Redaktion

  1. Pros Less power consumption than running multiple servers Cooling costs are less than scaling horizontally Generally less challenging to implement Less licensing costs Cons PRICE, PRICE, PRICE Greater risk of hardware failure causing bigger outages generally severe vendor lock-in and limited upgradeability in the future Pros Much cheaper than scaling vertically Easier to run fault-tolerance Easy to upgrade Cons More licensing fees Bigger footprint in the Data Center Higher utility cost (Electricity and cooling)
  2. "A Relational Model of Data for Large Shared Data Banks" in 1970 Edgar F. Codd In June 1979, Relational Software, Inc. introduced the first commercially available implementation of SQL, Oracle V2 (Version2) for VAX computers
  3. In theoretical computer science, the CAP theorem, also known as Brewer's theorem, states that it is impossible for a distributed computer system to simultaneously provide all three of the following guarantees:[1][2][3] Consistency (all nodes see the same data at the same time) Availability (a guarantee that every request receives a response about whether it succeeded or failed) Partition tolerance (the system continues to operate despite arbitrary partitioning due to network failures)
  4. Oracle NoSQL Database build on top of Berkeley DB. In addition to that it adds a layer of services for use in distributed environments to provide a distributed, highly available key/value storage, suited for large-volume, latency-sensitive applications. Latest version of Oracle DB adds Table structure
  5. MongoDB don’t have native REST API DocumentDB currently doesn’t support mapreduce Stages of MapReduce – Map, Shuffle, Reduce
  6. File Storage - Fully managed file shares that use the standard SMB 3.0 protocol. Share data across on-premises and cloud servers Migrate file share-based applications to the cloud with no code changes