Muhammad El-Hindi (@melhindiCS) profile picture

PostDoc@TUM | Database & systems research | Security, cloud, distributed systems

Germany
Joined January 2023
Photo by Muhammad El-Hindi (@melhindiCS)Photo by Muhammad El-Hindi (@melhindiCS)
Muhammad El-Hindi retweeted
Vol:19 No:10 → BtrLog: Low-Latency Logging for Cloud Database Systems vldb.org/pvldb/vol19/p2894-k…
1
8
53
2,829
Muhammad El-Hindi retweeted
Tomorrow on IronBeetle⚡️: can consensus work without a disk? Yes! But should it? Tune in to find out! 5pm UTC, live on X, Twitch and YouTube.
4
21
1,073
Muhammad El-Hindi retweeted
This morning at @VLDBconf in Boston, @maxikuschewski will present his BtrLog paper about WAL in the cloud. Research 2 · Cloud-Native Data Systems 10h45, Grand Ballroom D Go, Maxi! And congratulations to all of the authors and to @TU_Muenchen. vldb.org/pvldb/vol19/p2894-k…
24
1
160
13,586
Sunday morning reading .. The main takeaway is that BtrLog and the “cache-then-S3” WAL designs used by databases like SlateDB and the object-storage TiKV line of work, look similar at a glance. But they are not the same architecture. The difference is whether local NVMe is a replicated durability layer or only a cache in front of an object storage. Here's what happens with BtrLog when integrated with a database .. • The DBMS talks to a client library, not to S3 • The client assigns LSNs and replicates each append in parallel to a cluster of log nodes • A log node puts the record in an in-memory segment and writes it out-of-place to local NVMe + fsync • The client acks the DBMS only after a quorum of nodes have fsynced Full segments are later archived asynchronously to object storage. That flush is off the commit path. So the hot tail is durable when the quorum acks, even if S3 has not seen the data yet. Local NVMe is there so a power loss or process crash on a log node does not lose the unreplicated-to-S3 tail. Quorum replication is there so losing a log node does not lose committed records. S3 is cheap long-term storage, not the commit device. Now the interesting part is a comparison with SlateDB and classic TiKV with respect to some of the aspects of the durability of appends: 1. Commit Point: • BtrLog - Quorum of log nodes fsynced to local NVMe • SlateDB - WAL SST PUT to object store (or memory if you skip durability) • Classic TiKV - Majority Raft peers fsync local WAL 2. S3 on commit path? • BtrLog - No • SlateDB - Yes, if you want object-store durability • Classic TiKV - No 3. Single-node crash before S3 flush • BtrLog - Survives if quorum remains • SlateDB - Can lose unflushed WAL • Classic TiKV - Survives if Raft majority remains The paper is an interesting read and positions itself quite strongly with so many WAL-on-cloud-storage-with-caching options now available ..
7
18
159
6,743
Muhammad El-Hindi retweeted
Our paper, "How to Write to SSD", received a Best Research Paper Honorable Mention Award at VLDB ’26! Bohyun (Lia) from TUM did a phenomenal job on this work. Check it out if you're interested in modern NVMe SSD internals and how to get the most performance out of them.
If you're interested in SSD internals and how to use them efficiently, our paper, “How to Write to SSDs,” has been accepted to VLDB and is currently on the Hacker News front page. vldb.org/pvldb/vol19/p1469-l…
8
62
1
569
38,709
Muhammad El-Hindi retweeted
Vol:19 No:9 → High-Performance DBMSs with io_uring: When and How to Use It
1
17
1
117
51,085
Muhammad El-Hindi retweeted
The speed of modern cloud networks is what blew my mind when writing this: 40µs (yes, microseconds) round-trip between nodes in the same AZ (400µs cross-AZ). With 35µs SSD writes, you can persist your data in 75µs, and the quorum stabilizes the tail. If you implement it right!
There is a lot of hype around putting the WAL on object storage. However, for low-latency systems, e.g. OLTP databases, object storage is a suboptimal primitive for the WAL: (1) PUTs are expensive for small WAL writes [bytes/$]. (2) Object stores are optimized for throughput, not latency, with write latencies often around 10-50 ms. Because every transaction must wait for its WAL record to become durable, every transaction inherits that latency. This points to a missing storage primitive. In our (@maxikuschewski @melhindiCS @viktor_leis) latest accepted research paper at VLDB, we looked at how to close that gap.
3
12
119
11,649
Muhammad El-Hindi retweeted
There is a lot of hype around putting the WAL on object storage. However, for low-latency systems, e.g. OLTP databases, object storage is a suboptimal primitive for the WAL: (1) PUTs are expensive for small WAL writes [bytes/$]. (2) Object stores are optimized for throughput, not latency, with write latencies often around 10-50 ms. Because every transaction must wait for its WAL record to become durable, every transaction inherits that latency. This points to a missing storage primitive. In our (@maxikuschewski @melhindiCS @viktor_leis) latest accepted research paper at VLDB, we looked at how to close that gap.
17
74
10
801
892,715
Muhammad El-Hindi retweeted
Thanks to Joanne for slogging through this work, wasn't easy. But the end results look really nice.
1
2
26
3,841
Muhammad El-Hindi retweeted
Tomorrow on IronBeetle⚡️... You've been waiting for this episode of Pragmatics of Consensus! matklad and @Tobias__Ziegler start biting into view change protocol... 5pm UTC, live on X, Twitch and YouTube.
1
6
25
1,282
Heading to #VLDB2026 in Boston next week with five papers I worked on: cloud logging, high-performance I/O, GPU query processing, open table formats, benchmarking. One tweet each 👇
2
3
281
LakeVilla (Interoperable ACID Transactions for OTFs): multi-table transactions on a lakehouse today mean an external coordinator and giving up the openness of OTFs. That trade-off isn't necessary. w/ Tobias Goetz, Daniel Ritter, @JanaGiceva Thu 13:45, Research 44 · Poster R44
1
1
31
If you want to talk about any of this, DM me.
1
21