hyc, to random
@hyc@mastodon.social avatar
hyc, to random
@hyc@mastodon.social avatar

Like BerkeleyDB, and unlike most other key/value stores around today, is more than just a simple K/V store. Its support for multiple tables, and txns spanning multiple tables, lets you implement other features like 2ndary indexing, metadata storage, etc., that ordinary K/V stores just can't do. Here, describes how they designed their data model on top of LMDB https://docs.harperdb.io/docs/technical-details/reference/storage-algorithm

hyc, to random
@hyc@mastodon.social avatar

Great... found AI-written documentation about - totally wrong, of course.

https : // www . volcengine . com /theme/5280484-L-7-1

I've inserted spaces because I don't want SEOs to uprate that page.

hyc, to random
@hyc@mastodon.social avatar

Looks like someone writing on medium just discovered . Y'think the text is machine-generated? https://medium.com/@akp83540/lightning-memory-mapped-database-lmdb-8b9e2c05d525

hyc, to random
@hyc@mastodon.social avatar
hyc, to random
@hyc@mastodon.social avatar

YuDB - embedded database using mmap, inspired by , with different tradeoffs to improve write perf (but at the cost of 2x slower read perf) https://github.com/yuyuaqwq/yudb

hyc, to linux
@hyc@mastodon.social avatar
hyc, to random
@hyc@mastodon.social avatar
hyc, to random
@hyc@mastodon.social avatar
hyc, (edited )
@hyc@mastodon.social avatar
hyc, to python
@hyc@mastodon.social avatar

Understanding Transactions in with https://blog.51cto.com/u_16213451/9986627

hyc, to random
@hyc@mastodon.social avatar

Diffusion Autoencoders - built on https://github.com/phizaz/diffae

hyc, to random
@hyc@mastodon.social avatar

A TUI for exploring databases https://github.com/PowerDNS/lmdbnav by the @PowerDNS folks

hyc, to rust
@hyc@mastodon.social avatar

Just an observation - there is no part of 's code that would be improved by writing it in .

hyc, to random
@hyc@mastodon.social avatar

https://github.com/juji-io/datalevin

A simple, fast and versatile database built on

slashdot, to random
@slashdot@mastodon.cloud avatar
hyc,
@hyc@mastodon.social avatar
hyc, to random
@hyc@mastodon.social avatar

There was a paper published in 2022 that was highly critical of using in a database management system. I wrote a lot about it on twitter back then, but have collected it all into a blog post now. tl;dr the paper is full of crap.
https://www.symas.com/post/are-you-sure-you-want-to-use-mmap-in-your-dbms

hyc,
@hyc@mastodon.social avatar

Love this commentary - "notorious for losing data if a gnat sneezed in the server room." http://ace.mu.nu/archives/408283.php

hyc, (edited )
@hyc@mastodon.social avatar

So while he's doing extra administrative work (fine tuning to search for safe memory allocation parameters) he's getting orders of magnitude slower performance using than , and none of the crash reliability that he claims to value.
http://www.lmdb.tech/bench/memcache/

hyc, (edited )
@hyc@mastodon.social avatar

The reliability studies are particularly damning, they show /'s loses the entire database after a system crash on every workload tested. https://lists.openldap.org/hyperkitty/list/openldap-devel@openldap.org/message/K5XMXFFGHQOWKB6G2UGHWHW5WVH7X77C/

(Note that they claimed to have found 1 flaw in that occurred in 0.05% of their test runs, but it was actually a bug in the ext3 fs driver. One that had been fixed in Linux 2+ years before they began their research. In fact LMDB's reliability is flawless.) LMDB is the only DB that is perfectly crash-proof.

hyc,
@hyc@mastodon.social avatar

HackerNews is really hacker-wannabe trash. These folks are hopeless. https://news.ycombinator.com/item?id=39351257

hyc, (edited ) to random
@hyc@mastodon.social avatar

is a pure embedded DB engine modeled after . They got some interesting benchmark results, comparing to other embedded DBs. https://crates.io/crates/redb

Despite having the slowest single writes, LMDB has the fastest bulk load speed. This is no accident; while we don't worry too much about runtime write perf, we absolutely want to get a freshly reloaded server up and running ASAP, and fast bulk load enables that.

crodav, to random

Just discovered : next & previous operations also work with any identifiers even not in use ones, will just peek the nearest one ! As https://github.com/dacr/sotohp is using (time based) I'll get instant move to any date for free :) Going to add a time navigate UI component

hyc, to random
@hyc@mastodon.social avatar

389DS has switched their default backend from to . https://www.port389.org/docs/389ds/FAQ/Berkeley-DB-deprecation.html

The difference in config complexity is quite dramatic.

hyc, to random
@hyc@mastodon.social avatar

There's an art to debugging with print statements. You need to show enough to be able to identify problems happening, without being so verbose as to overwhelm with useless noise. When is built with debug logging enabled, the output can be too voluminous to sift thru.

But it shows exactly what the code is doing, in such a way that you can parse the log and rerun the exact same operations, and get an identical database as a result.

hyc,
@hyc@mastodon.social avatar

is crash-proof, but it is not fool-proof. https://bugs.openldap.org/show_bug.cgi?id=9378#c29

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • kavyap
  • DreamBathrooms
  • tacticalgear
  • mdbf
  • InstantRegret
  • magazineikmin
  • Youngstown
  • thenastyranch
  • rosin
  • slotface
  • Durango
  • cubers
  • ngwrru68w68
  • anitta
  • cisconetworking
  • GTA5RPClips
  • modclub
  • tester
  • khanakhh
  • everett
  • provamag3
  • osvaldo12
  • Leos
  • normalnudes
  • ethstaker
  • megavids
  • lostlight
  • All magazines