October 28, 2024
October 27, 2024
SIGMOD Programming Contest Archive: Hybrid Vector Search (2024)
SIGMOD Programming Contest Archive: Approximate K-nearest-neighbor Graph Construction (2023)
SIGMOD Programming Contest Archive: Blocking System for Entity Resolution (2022)
October 21, 2024
Announcing the PlanetScale vectors public beta
Group Commit and Transaction Dependency Tracking
MySQL 8.0 and newer change and improve how we measure and monitor replication lag. Even though multi-threaded replication (MTR) has been on by default for the last three years (since v8.0.27 released October 2021), the industry has been steeped in single-threaded replication for nearly 30 years. As a result, replication lag with MTR is a complicated topic because it depends on version, configuration, and more. This three-part series provides a detailed understanding, starting from what was originally an unrelated feature: binary log group commit.
October 15, 2024
Simple patterns for aggregating on DynamoDB
October 10, 2024
Database Triggers
Live Share: Connect to in-browser PGlite with any Postgres client
Anatomy of a Throttler, part 2
October 09, 2024
MongoDB Realm & Device Sync Alternatives - Supabase
October 08, 2024
Building offline-first mobile apps with Supabase, Flutter and Brick
Intuitions for Distributed Consensus by Phil Eaton
This is an external talk of mine. Click here if you are not redirected.
Why You Shouldn't Forget to Optimize the Data Layout
Why You Shouldn’t Forget to Optimize the Data Layout
When you want to speed up your program, the obvious step is to recall the learnings of your data structure class and optimize the algorithmic complexity.
Clearly, algorithms are the star of each program as swapping a hot O(n)
algorithm with a lower complexity one, such as O(log n)
, yields almost arbitrary performance improvements.
However, the way data is structured also affects performance significantly: Programs run on physical machines with physical properties such as varying data latencies to caches, disks, or RAM.
After you optimized your algorithm, you need to consider these properties to achieve the best possible performance.
An optimized data layout takes your algorithms and access patterns into account when deciding on how to store the bytes of your data structure on physical storage.
Therefore, it can make your algorithms run several times faster.
In this blog post, we will show you an example where we can achieve a 4x better read performance by just changing the data layout according to our access pattern.