Let’s dig deeper in databases.
RDBMS
Cloud-based relational databases
- Database-as-a-Service:
- Examples: Amazon RDS, Google SQL, IBM DB2 on Cloud, Oracle cloud, Azure cloud
Well suited for
- OLTP(Online transaction processing) application: support transation-oriented tasks that run at high rates
- Data warehouses(OLAP(Online Analytical Processing))
- IoT solutions
Limitations:
- Does not work well with semi-structured and unstructed data
- Migration between two RDBMS’s is possible only when the source and destination tables have identical schemas and data types
- Entering a value greater than the identical length of a data field the results in loss of information
NoSQL/Non SQL
- Advantages:
- handle large volumes of structured, semi-structured, and unstructured data.
- run as distributed system scaled across multiple data centers
- cost-effective scale-out architecture
- simple design, better control
key-value store: Redis, Memcached, DynamoDB
Not a greate fit if you want to:- Query data on specific data value
- Need relationships between data values
- Need multiple unique keys
Document-base: MongoDB, DocumentDB, CouchDB, Cloudant
Not a greate fit if you want to:- Run complex search queries
- Perform multi-operation transactions
Column-based: cassandra, Apache HBASE
Not a greate fit if you want to:- Run complex queries
- Change querying patterns frequently
Graph-based: Neo4J, CosmosDB
Not a greate fit if you want to:- Process high volumes of transactions