Explore all Key Value Database open source software, libraries, packages, source code, cloud functions and APIs.

Popular New Releases in Key Value Database

etcd

v3.5.0

leveldb

1.23

ssdb

FASTER

FASTER v2.0.2

patroni

Popular Libraries in Key Value Database

etcd

by etcd-io doticongodoticon

star image 37139 doticonApache-2.0

Distributed reliable key-value store for the most critical data of a distributed system

leveldb

by google doticonc++doticon

star image 28077 doticonBSD-3-Clause

LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.

bolt

by boltdb doticongodoticon

star image 12081 doticonMIT

An embedded key/value database for Go.

ssdb

by ideawu doticonc++doticon

star image 7510 doticonBSD-3-Clause

SSDB - A fast NoSQL database, an alternative to Redis

go-cache

by patrickmn doticongodoticon

star image 5316 doticonMIT

An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.

FASTER

by microsoft doticoncsharpdoticon

star image 4984 doticonMIT

Fast persistent recoverable log and key-value store + cache, in C# and C++.

patroni

by zalando doticonpythondoticon

star image 4639 doticonMIT

A template for PostgreSQL High Availability with Etcd, Consul, ZooKeeper, or Kubernetes

wrangler

by cloudflare doticonrustdoticon

star image 2881 doticonNOASSERTION

🤠 wrangle your Cloudflare Workers

roshi

by soundcloud doticongodoticon

star image 2799 doticonBSD-2-Clause

Roshi is a large-scale CRDT set implementation for timestamped events.

Trending New libraries in Key Value Database

onedrive-cf-index

by spencerwooo doticonjavascriptdoticon

star image 884 doticonMIT

🏵 Probably the best looking OneDrive Index around! Powered by Cloudflare Workers.

workers-rs

by cloudflare doticonrustdoticon

star image 808 doticonApache-2.0

Write Cloudflare Workers in 100% Rust via WebAssembly

baiduwp

by TkzcM doticonjavascriptdoticon

star image 786 doticonMIT

PanDownload Web, built with CloudFlare Workers

edge-sql

by lspgn doticoncdoticon

star image 450 doticon

Cloudflare Workers providing a SQL API

githubbox

by dferber90 doticonjavascriptdoticon

star image 429 doticon

🏖 Open any GitHub repo in CodeSandbox by changing the hostname

graviton

by deroproject doticongodoticon

star image 402 doticonGPL-3.0

Graviton Database: ZFS for key-value stores.

cloudflare-workers-blog

by gdtool doticonjavascriptdoticon

star image 397 doticon

A Blog Powered By Cloudflare Workers and KV

cfworker

by cfworker doticontypescriptdoticon

star image 362 doticonMIT

A collection of packages optimized for Cloudflare Workers and service workers.

Google-Drive-Index

by ParveenBhadooOfficial doticonjavascriptdoticon

star image 348 doticonMIT

Index Google Drive Files Easily and Free

Top Authors in Key Value Database

1

cloudflare

20 Libraries

star icon5233

2

signalnerve

11 Libraries

star icon227

3

etcd-io

7 Libraries

star icon39334

4

mafintosh

6 Libraries

star icon178

5

openshift

4 Libraries

star icon72

6

cloudfoundry-attic

4 Libraries

star icon55

7

binocarlos

4 Libraries

star icon9

8

worker-tools

4 Libraries

star icon63

9

recoilme

4 Libraries

star icon168

10

coreos

4 Libraries

star icon1703

1

20 Libraries

star icon5233

2

11 Libraries

star icon227

3

7 Libraries

star icon39334

4

6 Libraries

star icon178

5

4 Libraries

star icon72

6

4 Libraries

star icon55

7

4 Libraries

star icon9

8

4 Libraries

star icon63

9

4 Libraries

star icon168

10

4 Libraries

star icon1703

Trending Kits in Key Value Database

The Java Key Value Database libraries are a number of libraries that allow you to work with key-value storage. They are used to store data in a very simple format and make it easy for you to read the data back out again. Java Key Value Database libraries like lmdbjava, elephantdb, HaloDB etc. are used to store key value pair of data in a database. The key is used as the primary search criteria while retrieving data and the value is of any type. Lmdbjava is a very small library that provides read/write access to LMDB databases. It supports both serialization and deserialization which makes it easy to use with Java objects. The only drawback is that it’s not actively maintained. So if you want to use this library, make sure you have enough time to fix any bugs that may come up during development. ElephantDB is another popular key value store written in C++ with a Java API wrapper around it called elephant-jni. It also provides support for serialization and deserialization of Java objects. ElephantDB is actively maintained by its developers. Full list of the best open source Java Key Value Database libraries are given below

The C++ Key Value Database library is a set of classes and functions that allow you to access information stored in a Beryllium database using C++. It is compatible with many other key value databases. The use of C++ Key Value Database libraries like simDB, NuDB, keyvi is a very common practice nowadays. These libraries are used to store and retrieve data from a database in an easy manner. They also help in saving time and resources in development as well as maintenance of the application. KEYVIBASE is a key value store, key-value store and cache for C++ that supports both read and write. It can be used as an alternative to std::vector or boost::shared_ptr. KEYVIBASE provides an easy way to manage multiple values in memory, typically as a cache. NuDB is a lightweight database library written in C++11 with SQLite3 backend that aims at being fast, portable and easy to use. The library provides simple access to SQLite3 databases via DBI interface; full support for transactions; efficient indexing; fast random access; transaction isolation level read/write switches; full Unicode support; etc... Popular open source C++ Key Value Database libraries for developers include

C# key value database libraries are an excellent way to store data in a fast and reliable way. It has many advantages over other databases like NoSQL databases, relational databases and document databases. Many companies use these key value databases for storing their data. C# Key Value Database libraries DBreeze, BTDB and Akavache, etc are a good choice if you need a fast and reliable key-value storage. DBreeze is one of the best key value stores which offers high performance and scalability. It can be used for storing large volumes of data within short time period. It supports serialization, compression, encryption and much more features which makes it more flexible than other key value stores available in the market today. Akavache is another key value database that you can use when you have an application that is using C# Key Value Database libraries. BTDB is a high performance and fully ACID compliant key-value database engine for .NET/.NET Core. BTDB is written in C#using for all data structures, hence it is very efficient in terms of memory usage. A few of the most popular open source C# key value database libraries for developers are

The python key-value database libraries are the perfect tool for storing references to objects in your app. It's also great for storing data that will be accessed by several different parts of the application. The key-value database can be used in conjunction with any other Python library and is relatively straightforward to use. One of the best features of using a key-value database is that it can be easily changed or removed from a project without affecting any other parts of the application. Python-dotenv library, which is used to store environment variables in a JSON file. PickledDB is a Python package that provides a simple key-value storage library. It has been designed to be simple, fast, and easy to use. The library is completely object-oriented and uses pickling to store the data. The main advantage of using a python key-value database over a relational database is that you don't have to worry about foreign keys, which are necessary for many applications. Because of this, you can store an infinite number of objects in a single table without worrying about overloading your server or crashing under load. Some of the most popular python key-value database libraries among developers are

Go Key Value Database libraries are a common way to store data in Golang. The most popular library for this is etcd which has been around since 2014. Bolt, another popular Go Key Value Database library, was recently released by Google and Immutant which are both based on the same API as etcd. Etcd is a distributed key value store that persists data across machines in a cluster. It is built on Google’s Borg-like Raft consensus algorithm. Etcd provides scalability, reliability and high availability for distributed applications. etcd can be used for storing configuration data for Kubernetes clusters as well. Bolt is a distributed key value store that implements lock-free B+-Tree structures for fast lookups of arbitrary keys. The Bolt library provides a plugin interface to make it easy to add support for other types of stores (i.e., Redis) or implement custom values/valuesets by implementing its interface (i.e., write functions).Immudb is an in memory key value database that exposes an event based API through which applications can subscribe to events, register callbacks and enqueue work using queues. Developers tend to use some of the following open source Go Key Value Database libraries

Ruby key-value database libraries like moneta, mctop, roma are popularly used to store and manipulate data. Ruby Key Value Database libraries are the most popular choices for storing data in a key-value database. The databases are built on top of the standard Ruby libraries and provide an easy way to work with key/value pairs. moneta is a ruby based library that provides a simple interface for working with key/value pairs. It supports various strategies for storing data including key-value mapping, dictionary mapping, hash table, and redis-like store. mctop is a pure ruby library for handling hierarchical sets of entities (also known as geospatial objects). It provides a simple interface for working with points and their associated coordinate systems. Some of the most widely used open source Ruby key value database libraries among developers include

PHP Key Value database library stores values as key-value pairs. It's similar to Ruby's Hash, Python's dict and JavaScript Object Notation (JSON) in structure but unlike them it can be used to store any type of data. Laravel supports key value storage using the Laravel Options package included with the framework. The options package provides an easy way to create custom options that users can set in their config/app.php file. Laravel-options is a PHP Key Value Database library that makes it easy to store and retrieve complex data. The logic can be encapsulated in classes, so you don't have to write it yourself. Flintstone is a PHP Key Value Database library that is really easy to use. It allows you to store and retrieve values using native PHP objects, arrays and keys. Flintstone is a drop-in replacement for PHP Key Value Database library. It supports all the same features as its competitors while being easy to extend with your own storage methods. Flintstone's key value storage is fully compatible with all of the popular PHP Key Value Database library. There are several popular open source PHP Key Value database libraries available for developers,

The use of JavaScript Key Value Database libraries like realmjs, immortalDB, jstorage and others has become a trend. Developers are using these libraries to store data in their applications. The main advantage of using these libraries is that they are easy to implement, support offline storage and can be used with any web framework. RealmJS is an open source mobile database built to run directly inside phones, tablets or wearables. It runs directly inside phones, tablets or wearables, and its small footprint makes it ideal for low-end or resource-constrained devices. ImmortalDB is an ultra-fast, small and powerful database with schema-free support. JStorage is a lightweight storage framework for nodejs. Full list of the best open source JavaScript Key Value Database libraries are below

Trending Discussions on Key Value Database

Laravel how to "properly" store & retrieve models in a Redis hash

Can compacted Kafka topic be used as key-value database?

QUESTION

Laravel how to "properly" store & retrieve models in a Redis hash

Asked 2021-Jul-08 at 17:02

I'm developing a Laravel application & started using Redis as a caching system. I'm thinking of caching the data of all of a specific model I have, as a user may make an API request that this model is involved in quite often. Would a valid solution be storing each model in a hash, where the field is that record's unique ID, and the values are just the unique model's data, or is this use case too complicated for a simple key value database like Redis? I"m also curious as to how I would create model instances from the hash, when I retrieve all the data from it. Replies are appreciated!

ANSWER

Answered 2021-Jul-08 at 17:02

Short answer: Yes, you can store a model, or collections, or basically anything in the key-value caching of Redis. As long as the key provided is unique and can be retraced. Redis could even be used as a primary database.

Long answer

Ultimately, I think it depends on the implementation. There is a lot of optimization that can be done before someone can/should consider caching all models. For "simple" records that involve large datasets, I would advise to first optimize your queries and code and check the results. Examples:

  1. Select only data you need, not entire models.
  2. Use the Database Query Builder for interacting with the database when targeting large records, rather than Eloquent (Eloquent is significantly slower due to the Active Record pattern).
  3. Consider using the toBase() method. This retrieves all data but does not create the Eloquent model, saving precious resources.
  4. Use tools like the Laravel debugbar to analyze and discover potential long query loads.

For large datasets that do not change often or optimization is not possible anymore: caching is the way to go!

There is no right answer here, but maybe this helps you on your way! There are plenty of packages that implement similar behaviour.

Source https://stackoverflow.com/questions/68305332

QUESTION

Can compacted Kafka topic be used as key-value database?

Asked 2020-Nov-25 at 01:12

In many articles, I've read that compacted Kafka topics can be used as a database. However, when looking at the Kafka API, I cannot find methods that allow me to query a topic for a value based on a key.

So, can a compacted Kafka topic be used as a (high performance, read-only) key-value database?

In my architecture I want to feed a component with a compacted topic. And I'm wondering whether that component needs to have a replica of that topic in its local database, or whether it can use that compacted topic as a key value database instead.

ANSWER

Answered 2020-Nov-25 at 01:12

Compacted kafka topics themselves and basic Consumer/Producer kafka APIs are not suitable for a key-value database. They are, however, widely used as a backstore to persist KV Database/Cache data, i.e: in a write-through approach for instance. If you need to re-warmup your Cache for some reason, just replay the entire topic to repopulate.

In the Kafka world you have the Kafka Streams API which allows you to expose the state of your application, i.e: for your KV use case it could be the latest state of an order, by the means of queriable state stores. A state store is an abstraction of a KV Database and are actually implemented using a fast KV database called RocksDB which, in case of disaster, are fully recoverable because it's full data is persisted in a kafka topic, so it's quite resilient as to be a source of the data for your use case.

Imagine that this is your Kafka Streams Application architecture:

enter image description here

To be able to query these Kafka Streams state stores you need to bundle an HTTP Server and REST API in your Kafka Streams applications to query its local or remote state store (Kafka distributes/shards data across multiple partitions in a topic to enable parallel processing and high availability, and so does Kafka Streams). Because Kafka Streams API provides the metadata for you to know in which instance the key resides, you can surely query any instance and, if the key exists, a response can be returned regardless of the instance where the key lives.

enter image description here

With this approach, you can kill two birds in a shot:

  1. Do stateful stream processing at scale with Kafka Streams
  2. Expose its state to external clients in a KV Database query pattern style

All in a real-time, highly performant, distributed and resilient architecture.

The images were sourced from a wider article by Robert Schmid where you can find additional details and a prototype to implement queriable state stores with Kafka Streams.

Notable mention:

If you are not in the mood to implement all of this using the Kafka Streams API, take a look at ksqlDB from Confluent which provides an even higher level abstraction on top of Kafka Streams just using a cool and simple SQL dialect to achieve the same sort of use case using pull queries. If you want to prototype something really quickly, take a look at this answer by Robin Moffatt or even this blog post to get a grip on its simplicity.

While ksqlDB is not part of the Apache Kafka project, it's open-source, free and is built on top of the Kafka Streams API.

Source https://stackoverflow.com/questions/64996101

Community Discussions contain sources that include Stack Exchange Network

Tutorials and Learning Resources in Key Value Database

Tutorials and Learning Resources are not available at this moment for Key Value Database

Share this Page

share link

Get latest updates on Key Value Database