Databases
- Consider the following design of sample job portal

- In the above design let dive into database
- Which type of Database ?
- Which Engine/Vendor?
- How about access ?
- How to set it up?
Types of Databases
- On a broader note we have following types
- Relational:
- Here Database is collection of Tables
- Each Table has a strict structure called as SCHEMA
- We have SQL to interact with Data
- Engines/Vendors:
- Microsoft SQL Server
- Oracle
- mySQL (mariadb)
- PostgreSQL
- NoSQL:
- Here Data doesn’t have a strict SCHEMA
- There is no SQL to interact with Data rather they have an API which can be used from any language or shell.
- Engines:
- Mongo DB
- Cassandra
- Gremlin
- neo4j
- Relational:
- Accessing Database:
- Public
- Private (Recommended)
- Typical Setup
- Figure out a server/system with some OS
- Install Database
- Set Credentials
- Database Clients:
- SQL Server Management Studio (SQL Server)
- mysql workbench (mysql)
- pgAdmin ( postgress)
- Toad (Oracle)
- mongoshell (mongodb)
- Azure DataStudio (Many databases) Refer Here for download
How Cloud Helps Here?
- Setup:
- OnPremises:
- We need to maintain server
- Install Database Engine
- Perform updates
- Use some client to connect to database
- Cloud
- We specify the database size and Azure/AWS/GCP etc creates the server side
- Use some client to connect to database
- OnPremises:
- Failure:
- Failovers can be setup with minimal knowledge
- Backups and Restorations
- Resizing: Extreemly simplified
