An embedded database implemented in pure java based on bitcask which is a log-structured hash table for K/V Data.

Overview

Baka Db

An embedded database implemented in pure java based on bitcask which is a log-structured hash table for K/V Data.

Usage

import cn.ryoii.baka.Baka;

class Test {
    public static void main(String[] args) {
        Baka db = Baka.open("/db/baseDir");
        db.put("key", "value");
        String value = db.get("key");
        
        assert "value".equals(value);
        
        db.close();
    }
}

Benchmark

git clone https://github.com/ryoii/baka.git
cd baka
./gradlew benchmark

> Benchmark                           Mode  Cnt      Score   Error  Units
> BenchWriteAndRead.launchBenchmark  thrpt    2  33709.215          ops/s

TODO

  • More key type: int, long, iterable bytes, etc.
  • Support serializable value.
  • Expired key.
  • More data struct?
  • Art tree index manager for range search?
You might also like...

The Java collections framework provides a set of interfaces and classes to implement various data structures and algorithms.

The Java collections framework provides a set of interfaces and classes to implement various data structures and algorithms.

Homework #14 Table of Contents General Info Technologies Used Project Status Contact General Information Homework contains topics: Sorting an ArrayLis

Feb 12, 2022

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

RxJava: Reactive Extensions for the JVM RxJava is a Java VM implementation of Reactive Extensions: a library for composing asynchronous and event-base

Dec 30, 2022

Clojure's data structures modified for use outside of Clojure

This library has been extracted from the master branch of Clojure (http://clojure.org) version 1.5.1 (as of October 2013) http://github.com/richhick

Oct 6, 2022

Reading Dalta Lake data from Beam

Reading Delta Lake Data from Beam General Info: All files, except org.apache.beam.sdk.io.DeltaFileIO are from Daltalake Standalone Reader. I was not a

Nov 21, 2022

Dremio - the missing link in modern data

Dremio Dremio enables organizations to unlock the value of their data. Documentation Documentation is available at https://docs.dremio.com. Quickstart

Dec 31, 2022

SWE5003 - Achitecting Real Time Systems for Data Processing - Code Base

ARTS2022 SWE5003 - Achitecting Real Time Systems for Data Processing (ISS NUS Offering) - Code Base This module is part of the ISS MTech Graduate Cert

Apr 2, 2022

based client the 2nd, for 1.17

based client the 2nd, for 1.17

Atomic client WARNING This is under heavy development, and not yet ready to use. Why? This is the sequel to cornos, but ported to 1.17, with a new loo

Jan 14, 2022

Bloofi: A java implementation of multidimensional Bloom filters

Bloofi: A java implementation of multidimensional Bloom filters Bloom filters are probabilistic data structures commonly used for approximate membersh

Nov 2, 2022

A high performance caching library for Java

A high performance caching library for Java

Caffeine is a high performance, near optimal caching library. For more details, see our user's guide and browse the API docs for the latest release. C

Jan 5, 2023
Owner
ryoii
馬鹿馬鹿しい
ryoii
Lightning Memory Database (LMDB) for Java: a low latency, transactional, sorted, embedded, key-value store

LMDB for Java LMDB offers: Transactions (full ACID semantics) Ordered keys (enabling very fast cursor-based iteration) Memory-mapped files (enabling o

null 680 Dec 23, 2022
Table-Computing (Simplified as TC) is a distributed light weighted, high performance and low latency stream processing and data analysis framework. Milliseconds latency and 10+ times faster than Flink for complicated use cases.

Table-Computing Welcome to the Table-Computing GitHub. Table-Computing (Simplified as TC) is a distributed light weighted, high performance and low la

Alibaba 34 Oct 14, 2022
Java port of a concurrent trie hash map implementation from the Scala collections library

About This is a Java port of a concurrent trie hash map implementation from the Scala collections library. It is almost a line-by-line conversion from

null 147 Oct 31, 2022
Rolling hash functions in Java

Rolling hash functions in Java License: Apache 2.0 What is this? This is a set of Java classes implementing various recursive n-gram hashing technique

Daniel Lemire 73 Dec 14, 2022
Google Hash Code '22 Question

Answer for - Mentorship and Teamwork Google Hash Code '22 Question Credit goes to Google LLC - Hash Code '22 Work is so much more fun when we are part

Dilshan Karunarathne 4 Apr 12, 2022
jproblemgenerator creates scenarios in which Java programs leak memory or crash the JVM

jproblemgenerator creates scenarios in which Java programs leak memory or crash the JVM. It is intended to train the use of debugging tools

null 1 Jan 6, 2022
High Performance data structures and utility methods for Java

Agrona Agrona provides a library of data structures and utility methods that are a common need when building high-performance applications in Java. Ma

Real Logic 2.5k Jan 5, 2023
Eclipse Collections is a collections framework for Java with optimized data structures and a rich, functional and fluent API.

English | 中文 | Deutsch | Español | Ελληνικά | Français | 日本語 | Norsk (bokmål) | Português-Brasil | Русский | हिंदी Eclipse Collections is a comprehens

Eclipse Foundation 2.1k Dec 29, 2022
BioJava is an open-source project dedicated to providing a Java framework for processing biological data.

Welcome to BioJava is an open-source project dedicated to providing a Java framework for processing biological data. It provides analytical and statis

BioJava 513 Dec 31, 2022