a curated list of database news from authoritative sources

September 19, 2024

September 18, 2024

Top Use Cases for DynamoDB in 2024

DynamoDB… it's fast, scalable, and flexible. What's not to love? Here are the top use cases for DynamoDB in 2024 (and a few areas where it won't work).

September 13, 2024

CRUD APIs: Functional, but Inefficient

The term CRUD, or CRUD API, is often tossed around when interacting with databases or building backend APIs. This article will examine what CRUD is, what it’s suitable for, and its shortcomings. Finally, we’ll explore how to quickly implement a CRUD API using a modern backend like Convex.

September 12, 2024

September 11, 2024

3 ways to run real-time analytics on AWS with DynamoDB

DynamoDB is a great database for real-time transactions, but it isn't suited for analytical queries or real-time analytics. Explore a few ways to build real-time analytics on data you already have in DynamoDB.

3 ways to run real-time analytics on AWS with DynamoDB

DynamoDB is a great database for real-time transactions, but it isn't suited for analytical queries or real-time analytics. Explore a few ways to build real-time analytics on data you already have in DynamoDB.

September 10, 2024

Why I Prefer Exceptions to Error Values

Why I Prefer Exceptions to Error Values

Good error handling is key to robust programs, but often dreaded by programmers because there is always one more edge case. Traditional object-oriented programming languages use special exception classes that can be thrown to break the regular control flow for immediate error reporting. Let’s take a quick look at an example that explores error-safe integer division:

int safeDiv(int a, int b) {
 if (b == 0)
 throw Div0(); // Exceptions are passed out-of-line
 return a / b; // Totally safe now, right?
}

Newer languages tend to favor functional-style error reporting and encode errors in their return type: For example, Go encodes the error in the return type with an (res, err) tuple, and Rust returns Result<T, E>, a sum type of result and error. Even older languages such as C++ now include error values in their standard library with std::expected:

September 09, 2024

B-trees and database indexes

B-trees are used by many modern DBMSs. Learn how they work, how databases use them, and how your choice of primary key can affect index performance.