diff --git a/README.md b/README.md index 65bb347..08011b9 100644 --- a/README.md +++ b/README.md @@ -180,51 +180,58 @@ For instance, take into account the snaptshot above. If you already know how to * [Sharding & Database Partitioning | System Design Basics](https://www.youtube.com/watch?v=RynPj8C0BXA) πŸ“Ό πŸ†“ * [System Design - Sharding | Data Partitioning](https://www.youtube.com/watch?v=yNrVexoEnFM) πŸ“Ό πŸ†“ * SQL - * PostgreSQL - * [Postgres: Up & Running](https://learning.oreilly.com/library/view/postgresql-up-and/9781491963401/) πŸ“• πŸ’° ⭐️ - * [Learning PostgreSQL 11](https://learning.oreilly.com/library/view/learning-postgresql-11/9781789535464/) πŸ“• πŸ’° - * [Mastering PostgreSQL 11 - Second Edition](https://learning.oreilly.com/library/view/mastering-postgresql-11/9781789537819/) πŸ“• πŸ’° - * [Understanding Advanced Datatypes in PostgreSQL](https://www.youtube.com/watch?v=h0eEJ7uX13Q) πŸ“Ό πŸ†“ - * [Updating a 50 terabyte PostgreSQL database](https://medium.com/adyen/updating-a-50-terabyte-postgresql-database-f64384b799e7) πŸ“° πŸ†“ - * [How Twitch uses PostgreSQL](https://blog.twitch.tv/how-twitch-uses-postgresql-c34aa9e56f58) πŸ“° πŸ†“ - * [Handling Growth with Postgres: 5 Tips From Instagram](https://instagram-engineering.com/handling-growth-with-postgres-5-tips-from-instagram-d5d7e7ffdfcb) πŸ“° πŸ†“ - * [Updating a 50 terabyte PostgreSQL database](https://medium.com/adyen/updating-a-50-terabyte-postgresql-database-f64384b799e7) πŸ“° πŸ†“ - * [Sharding & IDs at Instagram](https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c) πŸ“° πŸ†“ - * [Sharding and Scaling PostgreSQL: Principles and Practice Webinar](https://www.youtube.com/watch?v=mbXPbLjiYTI) πŸ“Ό πŸ†“ - * [Citus vs. Single-Node Postgres Database | A Side-by-Side Comparison](https://www.youtube.com/watch?v=g3H4nGsJsl0) πŸ“Ό πŸ†“ - * Replication - * [Three Approaches to PostgreSQL Replication and Backup](https://www.citusdata.com/blog/2018/02/21/three-approaches-to-postgresql-replication/) πŸ“° πŸ†“ - * [PostgreSQL Streaming Replication](https://www.youtube.com/watch?v=NaPnYQBBdyU) πŸ“Ό πŸ†“ - * [PostgreSQL Replication Concepts](https://www.youtube.com/watch?v=fsMvr96gTjY) πŸ“Ό πŸ†“ - * [PostgreSQL Replication by example - Kobus Wolvaardt](https://www.youtube.com/watch?v=5BeC1aD4z8E) πŸ“Ό πŸ†“ ⭐️ - * MySQL - * [Learn to stop using shiny new things and love MySQL](https://medium.com/@Pinterest_Engineering/learn-to-stop-using-shiny-new-things-and-love-mysql-3e1613c2ce14) πŸ“° πŸ†“ - * [Tracking the Moneyβ€Šβ€”β€ŠScaling Financial Reporting at Airbnb](https://medium.com/airbnb-engineering/tracking-the-money-scaling-financial-reporting-at-airbnb-6d742b80f040) πŸ“° πŸ†“ - * [Scaling to 100M: MySQL is a Better NoSQL](https://www.wix.engineering/blog/scaling-to-100m-mysql-is-a-better-nosql) πŸ“° πŸ†“ - * [Unlocking Horizontal Scalability in Our Web Serving Tier](https://medium.com/airbnb-engineering/unlocking-horizontal-scalability-in-our-web-serving-tier-d907449cdbcf) πŸ“° πŸ†“ - * [Why Uber Engineering Switched from Postgres to MySQL](https://eng.uber.com/mysql-migration/) πŸ“° πŸ†“ - * [Evaluating MySQL Parallel Replication Part 4, Annex: Under the Hood](https://medium.com/booking-com-infrastructure/evaluating-mysql-parallel-replication-part-4-annex-under-the-hood-eb456cf8b2fb) πŸ“° πŸ†“ - * [Mitigating replication lag and reducing read load with freno](https://github.blog/2017-10-13-mitigating-replication-lag-and-reducing-read-load-with-freno/) πŸ“° πŸ†“ - * [Black-Box Auditing: Verifying End-to-End Replication Integrity between MySQL and Redshift](https://engineeringblog.yelp.com/2018/04/black-box-auditing.html) πŸ“° πŸ†“ - * [How We Partitioned Airbnb's Main Database in Two Weeks](https://medium.com/airbnb-engineering/how-we-partitioned-airbnb-s-main-database-in-two-weeks-55f7e006ff21) πŸ“° πŸ†“ - * [Sharding Pinterest: How we scaled our MySQL fleet](https://medium.com/@Pinterest_Engineering/sharding-pinterest-how-we-scaled-our-mysql-fleet-3f341e96ca6f) πŸ“° πŸ†“ - * [How We Replaced Our Data Pipeline With Zero Downtime](https://www.twilio.com/engineering/2014/06/26/how-we-replaced-our-data-pipeline-with-zero-downtime) πŸ“° πŸ†“ - * [Vitess: MySQL Sharding - Square Engineering](https://www.youtube.com/watch?v=q65TleTn2vg) πŸ“Ό πŸ†“ - * RDS - * Aurora - * [Amazon Aurora Multi-Master: Scaling out database write performance (MySQL)](https://www.youtube.com/watch?v=p0C0jakzYuc) πŸ“Ό πŸ†“ - * [Aurora Encryption Performance Numbers](https://aws.amazon.com/blogs/database/selecting-the-right-encryption-options-for-amazon-rds-and-amazon-aurora-database-engines/) πŸ“° πŸ†“ - * [Aurora Global Database](https://www.youtube.com/watch?v=1vFg1z-2E7Y) πŸ“Ό πŸ†“ - * [Security](https://aws.amazon.com/rds/features/security/) - * [Encryptin an exsting RDS PgSQL](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/encrypt-an-existing-amazon-rds-for-postgresql-db-instance.html) πŸ“° πŸ†“ - * RDS Proxy - * [Using Relational Databases with AWS Lambda - Easy Connection Pooling](https://www.youtube.com/watch?v=dgj9cvqgYYs) πŸ“Ό πŸ†“ - * Aurora Serverless - * [How to Build Highly Scalable Serverless Applications with Amazon Aurora Serverless](https://www.youtube.com/watch?v=I0uHo4xAIxg) πŸ“Ό πŸ†“ - * Data API - * [Getting Started with Aurora Serverless Data API](https://www.youtube.com/watch?v=b_BzV1G1iRs) πŸ“Ό πŸ†“ - * Cross-region Replication - * [Best practices for Amazon RDS for PostgreSQL cross-Region read replicas](https://aws.amazon.com/blogs/database/best-practices-for-amazon-rds-for-postgresql-cross-region-read-replicas/) πŸ“° πŸ†“ + * Row-based + * PostgreSQL + * [Postgres: Up & Running](https://learning.oreilly.com/library/view/postgresql-up-and/9781491963401/) πŸ“• πŸ’° ⭐️ + * [Learning PostgreSQL 11](https://learning.oreilly.com/library/view/learning-postgresql-11/9781789535464/) πŸ“• πŸ’° + * [Mastering PostgreSQL 11 - Second Edition](https://learning.oreilly.com/library/view/mastering-postgresql-11/9781789537819/) πŸ“• πŸ’° + * [Understanding Advanced Datatypes in PostgreSQL](https://www.youtube.com/watch?v=h0eEJ7uX13Q) πŸ“Ό πŸ†“ + * [Updating a 50 terabyte PostgreSQL database](https://medium.com/adyen/updating-a-50-terabyte-postgresql-database-f64384b799e7) πŸ“° πŸ†“ + * [How Twitch uses PostgreSQL](https://blog.twitch.tv/how-twitch-uses-postgresql-c34aa9e56f58) πŸ“° πŸ†“ + * [Handling Growth with Postgres: 5 Tips From Instagram](https://instagram-engineering.com/handling-growth-with-postgres-5-tips-from-instagram-d5d7e7ffdfcb) πŸ“° πŸ†“ + * [Updating a 50 terabyte PostgreSQL database](https://medium.com/adyen/updating-a-50-terabyte-postgresql-database-f64384b799e7) πŸ“° πŸ†“ + * [Sharding & IDs at Instagram](https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c) πŸ“° πŸ†“ + * [Sharding and Scaling PostgreSQL: Principles and Practice Webinar](https://www.youtube.com/watch?v=mbXPbLjiYTI) πŸ“Ό πŸ†“ + * [Citus vs. Single-Node Postgres Database | A Side-by-Side Comparison](https://www.youtube.com/watch?v=g3H4nGsJsl0) πŸ“Ό πŸ†“ + * Replication + * [Three Approaches to PostgreSQL Replication and Backup](https://www.citusdata.com/blog/2018/02/21/three-approaches-to-postgresql-replication/) πŸ“° πŸ†“ + * [PostgreSQL Streaming Replication](https://www.youtube.com/watch?v=NaPnYQBBdyU) πŸ“Ό πŸ†“ + * [PostgreSQL Replication Concepts](https://www.youtube.com/watch?v=fsMvr96gTjY) πŸ“Ό πŸ†“ + * [PostgreSQL Replication by example - Kobus Wolvaardt](https://www.youtube.com/watch?v=5BeC1aD4z8E) πŸ“Ό πŸ†“ ⭐️ + * MySQL + * [Learn to stop using shiny new things and love MySQL](https://medium.com/@Pinterest_Engineering/learn-to-stop-using-shiny-new-things-and-love-mysql-3e1613c2ce14) πŸ“° πŸ†“ + * [Tracking the Moneyβ€Šβ€”β€ŠScaling Financial Reporting at Airbnb](https://medium.com/airbnb-engineering/tracking-the-money-scaling-financial-reporting-at-airbnb-6d742b80f040) πŸ“° πŸ†“ + * [Scaling to 100M: MySQL is a Better NoSQL](https://www.wix.engineering/blog/scaling-to-100m-mysql-is-a-better-nosql) πŸ“° πŸ†“ + * [Unlocking Horizontal Scalability in Our Web Serving Tier](https://medium.com/airbnb-engineering/unlocking-horizontal-scalability-in-our-web-serving-tier-d907449cdbcf) πŸ“° πŸ†“ + * [Why Uber Engineering Switched from Postgres to MySQL](https://eng.uber.com/mysql-migration/) πŸ“° πŸ†“ + * [Evaluating MySQL Parallel Replication Part 4, Annex: Under the Hood](https://medium.com/booking-com-infrastructure/evaluating-mysql-parallel-replication-part-4-annex-under-the-hood-eb456cf8b2fb) πŸ“° πŸ†“ + * [Mitigating replication lag and reducing read load with freno](https://github.blog/2017-10-13-mitigating-replication-lag-and-reducing-read-load-with-freno/) πŸ“° πŸ†“ + * [Black-Box Auditing: Verifying End-to-End Replication Integrity between MySQL and Redshift](https://engineeringblog.yelp.com/2018/04/black-box-auditing.html) πŸ“° πŸ†“ + * [How We Partitioned Airbnb's Main Database in Two Weeks](https://medium.com/airbnb-engineering/how-we-partitioned-airbnb-s-main-database-in-two-weeks-55f7e006ff21) πŸ“° πŸ†“ + * [Sharding Pinterest: How we scaled our MySQL fleet](https://medium.com/@Pinterest_Engineering/sharding-pinterest-how-we-scaled-our-mysql-fleet-3f341e96ca6f) πŸ“° πŸ†“ + * [How We Replaced Our Data Pipeline With Zero Downtime](https://www.twilio.com/engineering/2014/06/26/how-we-replaced-our-data-pipeline-with-zero-downtime) πŸ“° πŸ†“ + * [Vitess: MySQL Sharding - Square Engineering](https://www.youtube.com/watch?v=q65TleTn2vg) πŸ“Ό πŸ†“ + * RDS + * Aurora + * [Amazon Aurora Multi-Master: Scaling out database write performance (MySQL)](https://www.youtube.com/watch?v=p0C0jakzYuc) πŸ“Ό πŸ†“ + * [Aurora Encryption Performance Numbers](https://aws.amazon.com/blogs/database/selecting-the-right-encryption-options-for-amazon-rds-and-amazon-aurora-database-engines/) πŸ“° πŸ†“ + * [Aurora Global Database](https://www.youtube.com/watch?v=1vFg1z-2E7Y) πŸ“Ό πŸ†“ + * [Security](https://aws.amazon.com/rds/features/security/) + * [Encryptin an exsting RDS PgSQL](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/encrypt-an-existing-amazon-rds-for-postgresql-db-instance.html) πŸ“° πŸ†“ + * RDS Proxy + * [Using Relational Databases with AWS Lambda - Easy Connection Pooling](https://www.youtube.com/watch?v=dgj9cvqgYYs) πŸ“Ό πŸ†“ + * Aurora Serverless + * [How to Build Highly Scalable Serverless Applications with Amazon Aurora Serverless](https://www.youtube.com/watch?v=I0uHo4xAIxg) πŸ“Ό πŸ†“ + * Data API + * [Getting Started with Aurora Serverless Data API](https://www.youtube.com/watch?v=b_BzV1G1iRs) πŸ“Ό πŸ†“ + * Cross-region Replication + * [Best practices for Amazon RDS for PostgreSQL cross-Region read replicas](https://aws.amazon.com/blogs/database/best-practices-for-amazon-rds-for-postgresql-cross-region-read-replicas/) πŸ“° πŸ†“ + * Column-based + * Redshift + * Materialized Views + * [Docs](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-overview.html) πŸ“° πŸ†“ + * [Overview](https://www.youtube.com/watch?v=mQAs44MHmeY) πŸ“Ό πŸ†“ + * [Deep-Dive](https://www.youtube.com/watch?v=PjBMZW4Ze0c) πŸ“Ό πŸ†“ * NoSQL * KeyValue * [BoJack](https://github.com/marceloboeira/bojack) ✍🏼 πŸ’» πŸ†“ diff --git a/resources/topic-graph.mmd b/resources/topic-graph.mmd index d322096..becce9f 100644 --- a/resources/topic-graph.mmd +++ b/resources/topic-graph.mmd @@ -33,15 +33,18 @@ graph TD DBT --> DBTR[Replication] DBT --> DBTX[Sharding] DB --> SQL[SQL] - SQL --> PgSQL - SQL --> MySQL - SQL --> Cassandra + SQL --> rSQL[Row-oriented] + rSQL --> PgSQL + rSQL --> MySQL + SQL --> cSQL[Column-oriented] + cSQL --> Redshift DB --> NoSQL[NoSQL] NoSQL --> KV[KeyValue] KV --> Rd[Redis] NoSQL --> DoS[DocumentStore] DoS --> Mng[Mongo] DoS --> ES[ElasticSearch] + NoSQL --> CS[Cassandra] SW --> LD[Ledgers] SW --> DSi[Distributed Systems] diff --git a/resources/topic-graph.png b/resources/topic-graph.png index 969f19e..bec5a10 100644 Binary files a/resources/topic-graph.png and b/resources/topic-graph.png differ