Database functionality to consider when choosing
Themes associated with SCALE
Themes associated with OPERATIONS (cost of operating a database)
Themes associated with REPLICATION
- Disaster recovery replicas
Themes associated with TRANSACTIONS
- CAP theorem
NoSQL vs SQL
todo
SQL DBs on the market (2020)
NoSQL DBs on the market (2020)
todo
Google’s Cloud Spanner
Pros
Cons
more info: https://www.youtube.com/watch?v=rRVmg5t6TZs
RDBMS
Relational Database Management System
RDBMSs use SQL (and variants of SQL) to manage data in large tables.
e.g. MySQL, PostreSQL, Oracle DB, SQL Server
ORM
Object-relational mapping
A programming technique for converting data between incompatible type systems using object-oriented programming languages.
It’s the idea of being able to write queries (e.g. SELECT * FROM users WHERE email = ‘test@test.com’;) using the ORM paradigm of your preferred programming language (INSTEAD of using SQL)
“ORM” generally refers to a library qhich implements this technique.
https://blog.bitsrc.io/what-is-an-orm-and-why-you-should-use-it-b2b6f75f5e2a
Google Cloud Platform DB Options
In-Memory
- Cloud Memorystore (managed redis)
Non-relational
Relational
Object
- Cloud Storage (Object storage, data lake)
Warehouse
- BigQuery (Enterprise data warehouse)
Bigtable (Google Cloud)
non-relational cloud DB offered by google cloud. Super high throughput, low latency reads & writes
Good for IoT data, streaming data, time series data, backend store for graph stores.