Hacker News new | comments | show | ask | jobs | submit login

Can you say what exactly is an "embedded workload"? I have seen this a few times now and tried googling but only ever come up with references to embedded systems and I'm guessing that this is not the same context.

I know rocksdb is LSM-based and was built by FB to address write amplification on SSDs.

It has no server that runs independently and applications connect to, instead you integrate (embed) it into your program as a library.


The terminology can be a bit confusing. Database Management System is what people often call a database. Unfortunately, the storage engine is also called a database.

Badger, RocksDB, LMDB, etc. are storage engines. A process uses these storage engines to write data to memory (note: the storage engine may support persistent, volatile, or both types of memory).

A database management system (DBMS) is a higher level concept that often has multiple processes either on a single server or distributed across multiple servers. Simply stated, each process within a DBMS uses the storage engine to read/write to/from memory (persistent or volatile).

It's important to note that storage engines are a specialized area and require different skills from writing a DBMS. It's a big deal when other people write high quality storage engines because it makes it a lot easier to write a DBMS.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact