docker run -d -p 5672:5672 rabbitmq # message
docker run -d -p 27017:27017 mongo #result
docker run -d -p 6379:6379 redis
Note : Use PK ,FK - Star Schema Design ie., StudentID in school
- sqlite3 : To Stores Relational Data
- Redis
- Store Cache Data (key-val)
- Message Bus between application (pubsub)
- Mongo
- Schema Less Data
- when no installer are present
- Kafka (pubsub)
- docker images and Cloud
- Light Weight
- cli
- Stores Relational Data
-
Store Data as Relational
-
Use ORM for complex operations
-
Supports CLI operation
-
Adminer (opensource Editor - Can be run in docker)
import sqlite3 as db con =db.connect("file.sqlite3") with con: con.execute("create table T (id int) ") con.executeMany("insert into T (id) values('?')" , data=[(1)]) con.execute("select * from T")
- Stores Cache Data
- Store Messag Bus
- pubsub and key-value
- Light Weight
import redis
host='redis-14713.c292.ap-southeast-1-1.ec2.cloud.redislabs.com'
#pub
r = redis.Redis(host=host,port=14713,password='<pass>',decode_responses=True)
r.publish("topic", "hi")
#sub
sub = r.pubsub()
sub.subscribe('topic')
for m in sub.listen():print(m)
import redis
host='redis-14713.c292.ap-southeast-1-1.ec2.cloud.redislabs.com'
r = redis.Redis(host=host,port=14713,password='<pass>',decode_responses=True)
r.set('key','value')
r.get('key').decode()
- Stores Non Relation Data
- Schema Less Data
-
Save directly as dictionary
import requests,json url = "https://data.mongodb-api.com/app/data-iunna/endpoint/data/v1/action/" headers = { 'Content-Type': 'application/json', 'api-key': '<api-key>', } #ADD payload = {"collection": "T","database": "Test","dataSource": "Cluster0"} payload.update({"filter": {"1": "A" }}) response = requests.post( url=url+"find", headers=headers, data=json.dumps(payload)) print(response.text) #FIND payload = {"collection": "T","database": "Test","dataSource": "Cluster0"} payload.update({"documents": [ { "B": "2"}]}) response = requests.post( url=url+"insertMany", headers=headers, data=json.dumps(payload)) print(response.text)