Database Services and Its Concepts
Database Services and Its Concepts
How a Query Work?
Table:
column_1 | column_2 | column_3 |
---|---|---|
row_1 | row_1 | row_1 |
row_2 | row_2 | row_2 |
row_3 | row_3 | row_3 |
SQL Query:
SELECT * FROM table WHERE column_3 = row_2
MongoDB Query:
db.table.find({column_3: row_2})
Result:
____ | ____ | column_3 |
---|---|---|
____ | ____ | ____ |
row_2 | row_2 | row_2 |
____ | ____ | ____ |
NoSQL
(It is) not SQL- Not-Only SQL
NoSQL Services List
MongoDB
- Document-Oriented DatabaseRedis
- Key-Value DatabaseElasticSearch
- Full-text Search DatabaseInfluxDB
/TimescaleDB
- Time-Series DatabaseNeo4J
- Graph Database
1. RDBMS / SQL Based
Run a query: SELECT * FROM employee_table
name | job | salary |
---|---|---|
Alam | DBA | 50.000 |
Rio | DBA | 40.000 |
Riko | NOC | 45.000 |
- Can relate between a table to another table
- Structured data
2. Document-Oriented
Run a query: db.employee.find({})
[
{"name": "Edi Yamamoto", "roles": "DevOps", "resign": false, "project": ["Deploy", "RND"]},
{"name": "Deri S", "roles": "DevOps", "resign": true}
]
- Unstructured data
3. Key-Value
query> KEYS *TRX*
TRX:111222333
TRX:444555666
TRX:777888999
query> GET TRX:111222333
"PRODUCT789|QRIS|50000|PENDING"
- In-memory data store
- Faster because its smaller (data)
4. Search Database
Run a search query: url/?q=*:Rio+NOC
[
{"nama": "Rio Pribumi", "roles": "NOC", "extra_info": null},
{"nama": "Rio Pendatang", "roles": "DBA", "extra_info": "Ex-NOC"}
]
- Can search
values
even in different columns