Topics /
Databases & Data
The most popular blog posts about databases & data on Hacker News. 125 posts.
A Graph-Based Firebase
In A Database in the Browser , I wrote that the schleps we face as UI engineers are actually database problems in disguise [1] . This begged the question: would a database-looking solution solve them?
Zero-downtime schema migrations in Postgres using Reshape
About six months back, I wrote a post on how to use views in Postgres to encapsulate tables and create a versioned interface to a database. At the end of the…
Index Merges vs. Composite Indexes in Postgres and MySQL
Composite indexes aka multi-column indexes are about 10x faster than index merges. In Postgres, the gap is larger than in MySQL because Postgres doesn’t support index-only scans for queries that involve index merges.
Having, a less understood SQL clause
Understanding how the group by and having clauses work can help us write more efficient SQL. I want to demonstrate this with an example…
Unfinished Business with Postgres
7 years ago I left Heroku. Heroku has had a lot of discussion over the past weeks about its demise, whether it was a success or failure, and the current state. Much of this was prompted by the recent, and on-going security incident, but as others have pointed out the product has been frozen in time for some years now…
Phases of Netflix’s real-time data infrastructure
The blog post will share the four phases of Real-time Data Infrastructure’s iterative journey in Netflix (2015-2021). For each phase, we will go over the evolving business motivations, the team’s unique challenges, the strategy bets, and the use case patterns we discovered along the way.
Why Can't Database Tables Index Themselves? (2006)
Here’s a thought question for today: why can’t database tables index themselves? Obviously, indexes are a central concept to databases and database performance. But horror tales still abound of naïve developers who “forget” to index their tables, and encounter massive performance and scalability problems down the road…
Parsing SQL
SQL is a language to handle data in databases. However, it has limitations and you might need to parse SQL to get around them.
SAT score distributions in Michigan
The state of Michigan required all public HS seniors to take the SAT last year (~91k out of ~107k total seniors in the state). This generate...
How can we know if paid search advertising works?
Addressing causal problems on major eBay and Facebook
What's the big deal about embedded key-value databases?
What's the big deal about key-value databases like FoundationDB and RocksDB?
A Hairy PostgreSQL Incident
It was 5:17pm today, just as I was wrapping up work for the day, and my manager pinged me with the following chat: <manager>: Hi Jeremy – we have a <other team> ticket – esc…
Data-Oriented Programming in Python
Many users of Python deprioritize performance in favor of soft benefits like ergonomics, business value, and simplicity. Users who prioritize performance typically end up on faster compiled languages like C++ or Java.
A Short Chronology of Deep Learning for Tabular Data
Occasionally, I share research papers proposing new deep learning approaches for tabular data on social media, which is typically an excellent discussion…
Go and SQLite in the Cloud
Why SQLite and Go in the cloud are a great match, getting started, best practices, and more.
No, QuestDB is not Faster than ClickHouse
QuestDB created a minor stir in the small but active world of analytics database benchmarking with this blog article: https://questdb.io/blog/2022/05/26/query-benchmark-questdb-versus-clickhouse-timescale. This is the money quote: “QuestDB is an order of magnitude faster than both TimescaleDB and ClickHouse in this…
Map Data: False Assumptions
Famously, engineers tend to make wrong assumptions about a lot of things: Names and time are two well-known examples. Maps are a rich source of edge cases. Especially when you start dealing with gl…
A basic introduction to NumPy's einsum
Haphazard investigations
Optimizing Postgres text search with trigrams
In this post, we’ll implement and optimize a text search system based on Postgres Trigrams
Non blocking and zero downtime ALTER statements in PostgreSQL with pg-osc
pg-osc is a CLI tool for making non-blocking, zero downtime schema changes in PostgreSQL
Extending SQLite with Rust
SQLite has a powerful extension mechanism: loadable extensions. Being an in-process database, SQLite has other extensions mechanisms like application-defined functions (UDF for short). But UDFs have …
Read “Data and Reality”
Once more: we are not modeling reality, but the way information about reality is processed, by people. — Bill Kent I've got this working theory that you can...