Database Needs for Enterprise Applications
- Every application needs data to be persisted.
- Data can be persisted in majorly two forms
- structured data:
- This data can be queried
- To query the data there might be different means sql, reports, code
- unstructured:
- This data cannot be queried
- Data can be searched
- structured data:
- This Data is further used by Analytics
- Business Intelligence => Reports
- Predictions (ML)
- Through out discussion we would be focussing on structured data.
- Database Types:
- Relational:
- Data is organized as Rows and Columns in Tables
- Releations exist across tables
- To query the data we would be using SQL Specification
- Each Table has a strict structure which is called as schema
- Database Engines:
- Oracle
- Microsoft SQL Server
- mySQL/mariadb
- PostgreSQL
- IBM DB2
- NoSQL:
- To query the data there is no formal specification like SQL
- There is no strict schema
- There are different implemenations
- document db
- key value store
- Graph db
- Examples:
- Mongo DB
- Cassandra
- etcd
- consul
- Gremlin
- Cache db:
- Cache databases are designed to store infrequently changed data to RAM
- Examples:
- Redis
- Memcached
- Data Warehouses:
- This generally represents a large volumes of data warehouse and generally every record over here majorly has time dimension.
- Examples:
- Teradata
- Informatica
- Relational:
Running the database workloads
- Onpremise:
- Find a physical/virtual server(s) with supporting OS
- Install database engine
- Administration Activities:
- Updating database engines (Patching)
- Backup Mechanism and Regularly taking Backups
- Fixing slow query issues
- Setting up Replications
- How about cloud ?