Topics /
Databases & Data
The most popular blog posts about databases & data on Hacker News. 1,888 posts.
Three-Valued Logic
Making decision despite missing SQL data (NULL): How to avoid OR…IS NULL in the WHERE clause.
Linux 7.0 Broke PostgreSQL: The Preemption Regression Explained
Linux 7.0 delivered roughly half the throughput of Linux 6.x on the same hardware and workload.
How to Analyze Every Reddit Submission and Comment, in Seconds, for Free
With Reddit data in BigQuery, quantifying all the hundreds of millions of Reddit submissions and comments is trivial.
The SQL filter clause: selective aggregates
The FILTER clause extends aggregate functions (SUM, AVG, COUNT, etc.) with an additional WHERE clause. Databases not supporting FILTER can use CASE within the aggregate function instead.
Datomic: Look at all the things I'm not doing
A post by August Lilleaas, published April 20, 2018.
How to make fake data look meaningful
If you are trying to trick somebody with your data, never share the raw data; only share the conclusions. Bonus points if you can’t share the data because it is somehow priviledged or a trade secret. The last thing you want is to allow other people to evaluate your analysis and possibly challenge your conclusions.
Analyzing the Patterns of Numbers in 10M Passwords (2015)
There are many patterns for numbers in passwords, which involve surprising yet intuitive logic.
Losing a 5-year-long Illinois FOIA lawsuit for database schemas
Thomas Ptacek, a friend and expert witness in this lawsuit summed it up best in the court's hallway while walking within three feet of opposing counsel: "This is fucking stupid" .
Prepared statements and their surprising performance implications
Or: How To Increase Your Elixir/Postgres Performance 20x With One Weird Trick
A visual exploration of the spatial patterns in endings of German town names
A visual exploration of the spatial patterns in the endings of German town and village names.
Optimizing LLMs from a Dataset Perspective
Practical guide to improving LLM finetuning with better instruction datasets, covering data curation, prompt-output pairs, synthetic data, and experiment ideas.
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
Null Values in SQL Queries
*If you’re the owner of this website and have questions, reach out to Bluehost. We’re happy to help.
Finding unique items: hash vs. sort
A while back, I was trying to speed up some code which finds unique items in a collection. For example, transforming "AABBADCAB" => "ABDC" . There are two ways to do this efficiently - one is based on sorting, the other based on hashing. So, which is faster? I couldn't find the answer, so I ran some experiments and…
Why MongoDB Never Worked Out at Etsy
In 2010ish, we tried to roll out a feature ( Treasury ) using MongoDB. It was an interesting experience. I learned quite a bit in the process. I wrote about what I was thinking at the time here . But for the most part it was an abject failure and Ryan Young wound up porting the entire thing to the MySQL shards which…
NoSQL is What?
I found myself reading NoSQL is a Premature Optimization a few minutes ago and threw up in my mouth a little. That article is so far off base that I’m not even sure where to start, so I guess…
Subtleties of SQLite Indexes
Understanding query planner quirks yielded a ~35% speedup.
Algorithms on billion-scale graph using 10GB RAM: I love DataFusion
In a previous post, I was sceptical about using Apache DataFusion for graph analytics. However, after some thought and experimentation, I changed my mind. I have reconsidered my approach and now have a working implementation of basic graph algorithms, such as WCC, PageRank and MSSP. For example, I can identify weakly…
Streaming: a skill gap?
It's not just for big data
XKCD Plots in Matplotlib: Going the Whole Way
One of the most consistently popular posts on this blog has been my XKCDify post, where I followed in the footsteps of others to write a little hack for xkcd-style plotting in matplotlib. In it, I mentioned the Sketch Path Filter pull request that would eventually supersede my ugly little hack.
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 …
OkCupid on Trial - 4 Month Experiment
10 fictional profiles were created on OKCupid with the same profiles but different photos to test how online dating is different for men than women.
One Giant Leap for SQL: MySQL 8.0 Released
MySQL is the last major SQL database that has evolved beyond SQL-92 by introducing window functions (OVER) and common table expressions (WITH [RECURSIVE])
Some analysis of the 1M most popular sites on the web
Over the last couple of weeks I’ve run some analysis on the one million most popular sites on the web.
How exchanges turn order books into distributed logs
Every modern exchange is a distributed database in disguise. This article reveals how trading engines transform chaotic streams of buy and sell orders into a perfectly ordered, replayable log, ensuring fairness, determinism, and market data reliability.