News for hackers. Stuff that matters.
Re:The database ruins all good ideas by redis_mlc on Saturday July 17, 2021 @05:15PM (#27868926)
> Because "just rewrite your program in C to avoid GC pauses" is such a flawed argument

False. All popular databases are written in C, and continue because of the GC issue. I would not use a general-purpose database written in Java because of GC, for example. We'll see how well Go works in practise.

> sub second spikes in latency

Go is supposed to be sub-second GC pause latency, but understand that most SQL queries are sub-millisecond, so GC latency is still a significant issue compared to query times.

Go might be acceptable now for niche databases like column-store for certain use cases, though.

Also, see the excellent comment above about distributed systems and server cache issues. You can't do application performance analysis with GC literally everywhere.

The puerile knee-jerk hatred for C on HN has to stop - almost every software you use is written in C, from scripting languages to operating systems to web servers to databases.

Source: DBA who's worked with current databases, as well as a custom database written in Java with significant (ie. brutal) GC problems that required a total refactor (rewrite) to "work" at all.

Re:The database ruins all good ideas by mappu on Saturday July 17, 2021 @07:15PM (#27869549)
I'd like to reply specifically to the Go is supposed to be sub-second GC pause latency part - Go's GC is crazy fast, it pauses for only microseconds, comparable to the socket transport overhead. It can't be thought of as Java-like at all.
Re:The database ruins all good ideas by ngrilly on Saturday July 17, 2021 @07:46PM (#27869707)
Re:The database ruins all good ideas by ngrilly on Saturday July 17, 2021 @07:51PM (#27869727)
The fact that database engines written in Java exhibit high latency is not a reason to dismiss all other programming languages except C and C++. It still makes sense to consider modern languages like Rust, Go, Zig, etc.
Re:The database ruins all good ideas by lmm on Sunday July 18, 2021 @07:53AM (#27872191)
I've run production systems on H2 that ran rings around the same company's dedicated-DBA systems.