5.1 Intro Nosql
5.1 Intro Nosql
NoSQL part 1
Lecturer: Binh-Minh Nguyen
School of Information and Communication Technology
Eras of Databases
1
10/16/2023
Eras of Databases
Before NoSQL
Star schema
OLTP
OLAP cube
4
2
10/16/2023
The last 25 years of commercial DBMS development can be summed up in a single phrase:
"one size fits all". This phrase refers to the fact that the traditional DBMS architecture
(originally designed and optimized for business data processing) has been used to support
many data-centric applications with widely varying characteristics and requirements. In this
paper, we argue that this concept is no longer applicable to the database market, and that the
commercial world will fracture into a collection of independent database engines ...
6
3
10/16/2023
After is NoSQL
NoSQL landscape
4
10/16/2023
How to write a CV
Why NoSQL
10
10
5
10/16/2023
SQL vs NoSQL
SQL NoSQL
Gigabytes to Terabytes Petabytes(1kTB) to Exabytes(1kPB) to
Zetabytes(1kEB)
Centralized Distributed
Structured Semi structured and Unstructured
Structured Query Language No declarative query language
Stable Data Model Schema less
Complex Relationships Less complex relationships
ACID Property Eventual Consistency
Transaction is priority High Availability, High Scalability
Joins Tables Embedded structures
11
12
12
6
10/16/2023
13
14
14
7
10/16/2023
15
15
16
16
8
10/16/2023
17
17
Memcached
18
18
9
10/16/2023
Redis
19
19
Amazon DynamoDB
20
20
10
10/16/2023
Riak
21
21
22
22
11
10/16/2023
Column families
23
23
24
24
12
10/16/2023
Bigtable
25
25
Apache Hbase
26
26
13
10/16/2023
Apache Cassandra
27
27
28
28
14
10/16/2023
29
29
30
15
10/16/2023
31
Optimized for “trees” of data Optimized for seeing the forest and the
trees, and the branches, and the trunks
32
16
10/16/2023
33
33
Neo4j
34
34
17
10/16/2023
Document store
35
35
36
36
18
10/16/2023
T1 T2
T4 T3
Relational
Web Browser Object Middle
Database
Tier
37
37
Discussion
38
38
19
10/16/2023
Document mapping
Document Document
39
39
MongoDB
40
40
20
10/16/2023
MongoDB architecture
• Replica set
• Copies of the data on each node
• Data safety
• High availability
• Disaster recovery
• Maintenance
• Read scaling
• Sharding
• “Partitions” of the data
• Horizontal scale
41
Apache CouchDB
• Apache project
• Open source JSON data store
• Written in ERLANG
• RESTful JSON API
• B-Tree based indexing, shadowing b-tree versioning
• ACID fully supported
• View model
• Data compaction
• Security
42
42
21
10/16/2023
43
22