3.7. Links
Database software with history
https://redis.io/ (the AOF persistence option has similarities to joedb)
https://kafka.apache.org/intro Kafka is an event streaming system
https://prevayler.org/ (inactive)
https://github.com/attic-labs/noms (inactive) a git-like database
https://github.com/dolthub/dolt “git for data”
Streaming replication, continuous archiving, point-in-time recovery
Structured data storage (no history, no durable incremental update):
On-disk containers:
Using SQL from C++
https://sqlite.org/ (non-durable transactions: https://www.sqlite.org/wal.html#fast)
C++20 ❤ SQL - John Bandela - CppCon 2021
Compression
https://github.com/google/snappy (used by LevelDB)
https://www.percona.com/blog/evaluating-database-compression-methods/
Fast IO:
File Locking, atomicity, durability:
https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-lockfileex
https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_09_07
https://utcc.utoronto.ca/%7Ecks/space/blog/unix/WriteNotVeryAtomic
https://stackoverflow.com/questions/35595685/write2-read2-atomicity-between-processes-in-linux
Crash resistance:
The Design and Implementation of a Log-Structured File System
How is it possible that PostgreSQL used fsync incorrectly for 20 years, and what we’ll do about it
Other links:
https://stackoverflow.com/questions/39281/database-design-for-revisions
https://stackoverflow.com/questions/750782/database-design-for-text-revisions
https://stackoverflow.com/questions/2724187/where-are-all-the-native-revisioned-databases
https://stackoverflow.com/questions/9484714/how-to-store-datas-change-history
https://stackoverflow.com/questions/12321200/database-row-snapshots-revisions
https://stackoverflow.com/questions/68323888/how-to-implement-a-real-time-data-logging-backup-system
https://opendata.stackexchange.com/questions/748/is-there-a-git-for-data
https://ayende.com/blog/162792/worlds-smallest-no-sql-database-persistent-transaction-logs
https://database-programmer.blogspot.fr/2008/07/history-tables.html
https://www.reddit.com/r/programming/comments/3tfkdq/immutability_in_db_might_be_the_next_big_thing/
The SQLite team is preparing an efficient remote replication tool
Papers
The End of an Architectural Era (It’s Time for a Complete Rewrite)
Are You Sure You Want to Use MMAP in Your Database Management System?, YouTube presentation of the paper
Data Loss Stories