Questions tagged [okvs]

Use this tag for database that implement the ordered key-value store paradigm. They may be in-memory and / or durable on disk.

Ordered Key-Value Store have features that are a superset of key-value store. They keep the key space sorted lexicographic (aka. alphabetical) byte order making it suitable to build higher abstraction (also called layers or extensions).

Ordered Key-Value Store can be seen as an index that is a database system. Some are available over the network (FoundationDB, TiKV), others are embedded (LevelDB, RocksDB, WiredTiger, Kyoto Cabinet family, LMDB, Sophia). The primary ancestor is Oracle BerkeleyDB also known under the name of Sleepycat Database.

https://en.wikipedia.org/wiki/Ordered_Key-Value_Store

19 questions
43
votes
9 answers

Alternative to BerkeleyDB?

I'm looking for a dbm-like library that I can use in place of Berkeley DB, which I'm currently using. My main reason for switching is the licensing fees for BDB are pretty high (free for open source apps, but my employer does not want to open source…
John
13
votes
2 answers

Understanding KeyValue embedded datastore vs FileSystem

I have a basic question with regards to FileSystem usage I want to use a embedded KeyValue store, which is very write oriented. (persistent) Say my value size is a) 10 K b) 1 M and read and updates are equal in number Cant I simply create files…
Rajesh Gaur
  • 287
  • 5
  • 11
11
votes
3 answers

Why does LevelDB needs more than two levels?

I think only two levels(level-0 and level-1) is ok, why does LevelDB need level-2, level-3, and more?
ideawu
  • 2,287
  • 1
  • 23
  • 28
10
votes
1 answer

What is special about internal design of LMDB?

What would be the performance difference (reads/writes) between some C++ implementation of in-memory B-Tree (for example google btree) and the LMDB (without taking into consideration all the feacures of LMDB such as transactions, isolation, shared…
pavelkolodin
  • 2,859
  • 3
  • 31
  • 74
7
votes
2 answers

Optimizing Put Performance in Berkeley DB

I just started playing with Berkeley DB a few days ago so I'm trying to see if there's something I've been missing when it comes to storing data as fast as possible. Here's some info about the data: - it comes in 512 byte chunks - chunks come…
jjfine
  • 889
  • 7
  • 20
6
votes
4 answers

Can integer keys / values be stored in LevelDB?

I have searched for key value stores that support integer keys and integer values. LevelDB seems a good option, though I can't find any information on whether integer values/keys are supported
Rosh Cherian
  • 61
  • 1
  • 2
4
votes
2 answers

What constitutes a transaction layer when talking about database systems?

For example, LevelDB doesn't support multi-statement transactions. I read somewhere that you would have to deal with those in a "transactional layer". What would this layer have to do to add transaction support to a lower-level library that doesn't…
Hugo
  • 2,569
  • 1
  • 19
  • 18
3
votes
1 answer

Is it safe to use embedded database (RocksDB, BoltDB, BadgerDB) on DigitalOcean block storage?

DigitalOcean block storage uses ceph which means that volume attached to the droplet would be physically located on a different machine. So a database file written to this volume would be using network, not the local disk. BoltDB specifically…
yname
  • 2,189
  • 13
  • 23
2
votes
1 answer

How do range queries work with Sorted String Tables?

I'm a bit confused. I cannot find any information about how to execute a range query against a sorted string table. LevelDB and RocksDB support a range iterator which allows you to query between ranges, which is perfect for NoSQL. What I don't…
Samuel Squire
  • 127
  • 3
  • 13
1
vote
1 answer

how to form tree database structure using lmdb

Here I'm trying to create graph database whose structure will look following. As I keep adding more nodes, I don't see the depth of the tree increasing. Can one suggest what I might be doing wrong here? A:1 / \ B:2 C:3 / …
Dibyendu Dey
  • 349
  • 2
  • 16
1
vote
0 answers

How do the various LevelDB-like key-value stores compare?

Out of LevelDB, RocksDB, HyperLevelDB, LMDB, and any others that fit in this category, what are the expected performance properties and tradeoffs between them? I've found various benchmarks and articles making claims regarding parts of what I'm…
Ryan Lester
  • 2,363
  • 7
  • 25
  • 38
1
vote
1 answer

Sorting by value in rocksdb

Rocksdb allows to sort the records by keys but I want to sort them by value. Is it possible to do that?
1
vote
2 answers

Expressing multiple columns in berkeley db in python?

Say I have a simple table that contains username, firstname, lastname. How do I express this in berkeley Db? I'm currently using bsddb as the interface. Cheers.
John Jiang
  • 11,069
  • 12
  • 51
  • 60
1
vote
4 answers

store list in key value database

I search for best way to store lists associated with key in key value database (like berkleydb or leveldb) For example: I have users and orders from user to user I want to store list of orders ids for each user to fast access with range selects (for…
Evg
  • 2,978
  • 5
  • 43
  • 58
0
votes
2 answers

Are the contents in a LMDB always stored BOTH in disk AND memory?

I'm wanting to use the rust implementation of LMDB but I can't seem to find whether it would always maintain a copy of whats in memory also in the disk and viceversa. My reasoning would be that the DB will have some cache and any overflows would be…
1
2