nosql choices
TRANSCRIPT
![Page 1: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/1.jpg)
noSQL choices
![Page 2: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/2.jpg)
What is mySQL?
![Page 3: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/3.jpg)
![Page 4: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/4.jpg)
What is noSQL?
![Page 5: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/5.jpg)
![Page 6: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/6.jpg)
Types of noSQL databases
![Page 7: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/7.jpg)
![Page 8: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/8.jpg)
Why noSQL?
![Page 9: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/9.jpg)
![Page 10: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/10.jpg)
![Page 11: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/11.jpg)
![Page 12: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/12.jpg)
![Page 13: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/13.jpg)
![Page 14: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/14.jpg)
![Page 15: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/15.jpg)
![Page 16: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/16.jpg)
![Page 17: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/17.jpg)
![Page 18: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/18.jpg)
Differences between noSQL and MYSQL
![Page 19: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/19.jpg)
Aggregated data vs tuples
![Page 20: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/20.jpg)
![Page 21: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/21.jpg)
ACID vs BASE transactions
![Page 22: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/22.jpg)
• A – Atomicity• C – Consistency• I – Isolation• D - Durabilty
![Page 23: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/23.jpg)
![Page 24: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/24.jpg)
Schema vs Schema-less
![Page 25: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/25.jpg)
The 5 main data stores
• Relational Databases• Key-store• Document Databases• Graph Stores• Column Stores
![Page 26: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/26.jpg)
Relational DatabasesAKA RDBMS
![Page 27: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/27.jpg)
![Page 28: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/28.jpg)
Why is it good?
• Super flexible• Proven to work, dominant in the market for 3
years• Robust, Stable• Very consistent• Follows ACID transitions, making it industry
standard
![Page 29: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/29.jpg)
Why is it bad?
• Strongly typed columns• Inefficient with high volumes of data• Not designed for clusters• ONLY EFFICIENT WITH STRUCTRED DATA• Vertical scaling, need to buy bigger computer
to process bigger data
![Page 30: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/30.jpg)
mySQL
![Page 31: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/31.jpg)
NOSQL databases
![Page 32: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/32.jpg)
Key-value stores
![Page 33: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/33.jpg)
![Page 34: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/34.jpg)
![Page 35: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/35.jpg)
Why is it good?
• Hyper fast data storing and retrievals • Good for storing sessions from users– User profiles on forums– Shopping carts on websites
![Page 36: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/36.jpg)
Why is it bad?
• Can’t query for values within the values• Need to know the key to properly query
![Page 37: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/37.jpg)
Examples of key-stores
• CouchDB• Aerospike• Hyperdex• Flare• Dynamo• Redis
![Page 38: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/38.jpg)
Most popular key-store: Redis
![Page 39: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/39.jpg)
• Able to write 114293.71 requests per second • Able to read 81234.77 requests per second• https://redis-docs.readthedocs.org/en/
latest/Benchmarks.html
![Page 40: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/40.jpg)
Companies that use Redis
• Twitter• Github• Pinterest• Snapchat• Flickr• Hulu• Vine• Imgur• Craigslist
![Page 41: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/41.jpg)
Document Databases
![Page 42: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/42.jpg)
![Page 43: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/43.jpg)
![Page 44: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/44.jpg)
Why is it good?
• Very easy to write up• Turn objects directly into Json files and easily turn Json
files into objects
• Easy to store data, documents contain whatever key and value you want
• No schema• Documents are independent units, easy to
distribute• No need for data to be related at all
![Page 45: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/45.jpg)
Why is it good? (cont)
• Very, very programmer friendly• Good for:– Event logging– Content managing systems– E-commerce applications– Real-time analytics
![Page 46: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/46.jpg)
Why is it bad?
• Tends to struggle when database is too big.• Not good at handling data that are very
related to each other• Not designed to handle cross-document operations
• Can’t slice data
![Page 47: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/47.jpg)
Examples of document stores
• Mongo DB• lotusNotes• Apache Couch DB
![Page 48: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/48.jpg)
Most popular Document Store: Mongo DB
![Page 49: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/49.jpg)
Companies that use MongoDB
• Expedia• The Weather Channel• Forbes• Otto
![Page 50: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/50.jpg)
Graph Stores
![Page 51: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/51.jpg)
![Page 52: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/52.jpg)
![Page 53: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/53.jpg)
“If you can whiteboard it, you can graph it”
![Page 54: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/54.jpg)
Why is it good?
• Well suited for analyzing interconnections• Very good for data that involve complex
relationships• High interest in mining social media data• Used for creating “recommended products”
on sales websites
![Page 55: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/55.jpg)
Why is it bad?
• Not good at updating all, or a subset of entities
• Changing a property on all nodes in not a straight-forward approach
• Some databases may not be able to handle large amounts of data
![Page 56: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/56.jpg)
Most popular graph database: Neo4j
![Page 57: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/57.jpg)
Companies that use Neo4j
• Ebay• Tomtom• Hp• Walmart• eHarmony
![Page 58: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/58.jpg)
Column Stores
![Page 59: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/59.jpg)
![Page 60: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/60.jpg)
Row vs Column store
![Page 61: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/61.jpg)
Why is it good?
• Designed for gigantic amounts of data• Far better than row store, doesn’t waste time
searching• 10,000 rows. If you are looking for a value in a
single column, no need to read every single row.• Good for blogs, forums• Event logging• When you want to count and categorize certain
values
![Page 62: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/62.jpg)
Why is it bad?
• Not good at working with systems that require ACID transactions for writes and reads
• If the data set is small, it is better of to use relational databases– If you just need to look at rows, relational
database is much better• Or a bunch of columns
![Page 63: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/63.jpg)
Most popular Column-family store: Cassandra
![Page 64: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/64.jpg)
Companies that use Cassandra• Walmart• VMWare• Unity• Ubisoft• Sony• Reddit• Paypal• Netflix• Nasa• Instagram• IBM• Fedix• Ebay• Call of Duty
![Page 65: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/65.jpg)
Scaling in Cassandra
• Horizontal scaling• A matter of adding more nodes• Add more nodes = cluster support more writes
and reads• While clusters are working, you can still add
more nodes
![Page 66: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/66.jpg)
Benchmark reports
![Page 67: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/67.jpg)
Throughput
• Higher, the better• The power of the database engine
![Page 68: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/68.jpg)
Latency guidelines
• Excellent: < 1ms• Very good: < 5ms• Good: 5 – 10ms• Poor: 10 – 20ms• Bad: 20 – 100ms• Really bad: 100 – 500ms• OMG!: > 500ms
![Page 69: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/69.jpg)
The University of Toronto test (2012)
• Cassandra 1.0.0 rc2• Redis 2.4.2• Hbase v0.90.4• Voldmort 0.90.1• MySQL – 5.5.17
![Page 70: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/70.jpg)
The tests
• Workload R (95% reads)• Workload RW (50% writes, 50% reads)• Workload W (99% writes)
![Page 71: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/71.jpg)
![Page 72: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/72.jpg)
![Page 73: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/73.jpg)
![Page 74: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/74.jpg)
![Page 75: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/75.jpg)
![Page 76: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/76.jpg)
![Page 77: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/77.jpg)
Conclusion
• Cassandra – Highest Scalability, suffered in latency
• Redis – Highest initial troughput in read-intensive workloads. Latency very low
![Page 78: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/78.jpg)
Conclusion (cont.)
• MySQL – Almost the same as Cassandra, latency is better
• HBase – Lowest throughput. Highest latency for reading. Lower latency for writing
![Page 79: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/79.jpg)
EndPoint: Benchmarking Top NoSQL Databases
• Published: April 13, 2015• Updated: May 27, 2015• Cassandra (2.1.0)• Couchbase (3.0.1)• MongoDB (3.0)• Hbase(0.98.6-1 and Hadoop (2.6.0))
![Page 80: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/80.jpg)
What was updated?
• Cassandra’s and Hbase’s performance went far up after updating results
![Page 81: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/81.jpg)
Workload selection
• Workloads selected to be similar to today’s applications
• Database nodes: (30.5 GB RAM, 4 CPU cores, and a single volume of 800 GB of SSD local storage)
• All data had no data loss• Used data volumes that exceeded RAM
capacity on each node
![Page 82: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/82.jpg)
Workloads
• Read-mostly: 95% read, 5% update ratio• Read/write: 50% read, 50% update• Read-modify-write: 50% read to 50% read-
modify-write ratio• Insert mostly: 90% insert, 10% read• 9 million operations per workload
![Page 83: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/83.jpg)
![Page 84: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/84.jpg)
![Page 85: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/85.jpg)
![Page 86: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/86.jpg)
![Page 87: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/87.jpg)
![Page 88: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/88.jpg)
![Page 89: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/89.jpg)
![Page 90: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/90.jpg)
![Page 91: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/91.jpg)
Problems
• Couchbase• HBase• MongoDB
![Page 92: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/92.jpg)
Conclusion
• Cassandra outperform everyone heavily in latency and troughput
• Hbase or CouchDB came second• MongoDB came last in most test cases
![Page 93: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/93.jpg)
Altoros: The NoSQL Technical Comparison Report
• Published September 2014• Pretty unbiased• Couchbase: 2.5.1• MongoDB: 2.6.1• Cassandra: 2.0.8
![Page 94: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/94.jpg)
![Page 95: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/95.jpg)
Workload B
• 50% read operations • 40% update operations • 5% insert operations• 5% delete operations• 50 million 1 KB records
![Page 96: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/96.jpg)
![Page 97: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/97.jpg)
Workload B
• 3 million 10 KB records
![Page 98: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/98.jpg)
![Page 99: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/99.jpg)
Workload C
• 90% read operations• 8% update operations• 1% insert operations• 1% delete operations.• 3 million 10 KB records (50 million records is
similar to workload B results)
![Page 100: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/100.jpg)
![Page 101: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/101.jpg)
Scalability
![Page 102: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/102.jpg)
![Page 103: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/103.jpg)
![Page 104: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/104.jpg)
![Page 105: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/105.jpg)
Conclusions
• Cassandra has amazing scalability again• Cassandra is weaker at reading in terms of
latency• MongoDB has the worst latency results in
almost all fields
![Page 106: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/106.jpg)
Overall conclusion
• Can’t state a single noSQL structure beats all• How about combining?• POLYGOT PERSISTENCE
![Page 107: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/107.jpg)
Example: Shopping Site
![Page 108: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/108.jpg)
OrdersCart Catalog &
Reviews
Suggestions
E-Commerce platform
![Page 109: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/109.jpg)
Key/value
OrdersCart Catalog &
Reviews
Suggestions
E-Commerce platform
![Page 110: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/110.jpg)
Key/value
OrdersCart Catalog &
Reviews
Suggestions
E-Commerce platform
RDBMS
![Page 111: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/111.jpg)
Key/value
OrdersCart Catalog &
Reviews
Suggestions
E-Commerce platform
RDBMS Document
![Page 112: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/112.jpg)
Key/value
OrdersCart Catalog &
Reviews
Suggestions
E-Commerce platform
RDBMS Document Graph
![Page 113: noSQL choices](https://reader030.vdocuments.net/reader030/viewer/2022032513/55d07258bb61eb77478b4570/html5/thumbnails/113.jpg)