/Database

SimpleDB: A Basic RDBMS Built From Scratch

- Akila Welihinda tl;dr: “My databases class at UCLA wasn’t very challenging so I never truly understood the internals of databases. This always bothered me so I vowed to build a simple database from scratch to learn the fundamentals... The SimpleDB database I built has basic RDBMS features like a SQL query parser, transactions, and a query optimizer. This blog post provides an outline of SimpleDB’s architecture and implementation.”

featured in #522


How Stripe’s Document Databases Supported 99.999% Uptime With Zero-Downtime Data Migrations

- Jimmy Morzaria Suraj Narkhede tl;dr: “In 2023, Stripe processed $1 trillion in total payments volume, all while maintaining an uptime of 99.999%. We obsess over reliability. As engineers on the database infrastructure team, we provide a database-as-a-service (DBaaS) called DocDB as a foundation layer for our APIs.” The authors discuss Stripe’s database infrastructure, and discuss the design and application of the Data Movement Platform.

featured in #521


Database Design For Google Calendar: A Tutorial

- Alexey Makhotkin tl;dr: “In this database design tutorial I’m going to show how to design the database tables for a real-world project of substantial complexity. We’ll design a clone of Google Calendar. We will model as much as possible of the functionality that is directly related to the calendar.”

featured in #520


Database Design For Google Calendar: A Tutorial

- Alexey Makhotkin tl;dr: “In this database design tutorial I’m going to show how to design the database tables for a real-world project of substantial complexity. We’ll design a clone of Google Calendar. We will model as much as possible of the functionality that is directly related to the calendar.”

featured in #519


Common DB Schema Change Mistakes

- Nikolay Samokhvalov tl;dr: Nikolay covers 18 mistakes, categorized into three big categories of DB schema migration mistakes: "(1) Concurrency-related mistakes. (2) Mistakes related to the correctness of steps. (3) Miscellaneous – mistakes related to the implementation of some specific database feature or the configuration of a particular database."

featured in #511


Database Fundamentals

- Tony Solomonik tl;dr: "I tried thinking which database I should choose for my next project, and came to the realization that I don't really know the differences of databases enough. I went to different database websites and saw mostly marketing and words I don't understand. This is when I decided to read the excellent books Database Internals by Alex Petrov and Designing Data-Intensive Applications by Martin Kleppmann. The books piqued my curiosity enough to write my own little database I called dbeel. This post is basically a short summary of these books, with a focus on the fundamental problems a database engineer thinks about in the shower."

featured in #508


Database Fundamentals

- Tony Solomonik tl;dr: "I tried thinking which database I should choose for my next project, and came to the realization that I don't really know the differences of databases enough. I went to different database websites and saw mostly marketing and words I don't understand. This is when I decided to read the excellent books Database Internals by Alex Petrov and Designing Data-Intensive Applications by Martin Kleppmann. The books piqued my curiosity enough to write my own little database I called dbeel. This post is basically a short summary of these books, with a focus on the fundamental problems a database engineer thinks about in the shower."

featured in #507


Understanding DynamoDB Secondary Indexes

- Alex DeBrie tl;dr: Indexes are a crucial part of proper data modeling for all databases, and DynamoDB is no exception. Alex DeBrie, author of The DynamoDB Book, explains the problems secondary indexes solve, how to use them effectively, and how to choose between secondary indexes and alternatives like Rockset.

featured in #503


How LedgerStore Supports Trillions Of Indexes At Uber

- Kaushik Devarajaiah tl;dr: “LedgerStore is an immutable storage solution at Uber that provides verifiable data completeness and correctness guarantees to ensure data integrity for these transactions... This blog covers the significance of LedgerStore indexing and its architecture, which powers trillions of indexes, with a petabyte-scale index storage footprint.”

featured in #503


The Problem With Using a UUID Primary Key In MySQL

- Brian Morrison tl;dr: “UUIDs especially useful in a distributed architecture, where you have a number of systems and databases responsible for creating records. You might think that using UUIDs as a primary key in a database is a great idea, but when used incorrectly, they can drastically hurt database performance. In this article, you'll learn about the downsides of using UUIDs as a primary key in your MySQL database.”

featured in #502