Hey Kotlin folks, I just released RocksDB Multipl...
# feed
j
Hey Kotlin folks, I just released RocksDB Multiplatform 10.10.1 🚀 For anyone who has not used RocksDB before: it is a high-performance embedded key-value store. Think durable local storage on disk, without running a separate database server. It is used in database engines, distributed systems, sync layers, caches, indexing, and other places where storage needs to be fast and reliable. RocksDB Multiplatform brings RocksDB to Kotlin Multiplatform: one Kotlin API for shared code across JVM, Android, and Kotlin/Native. Supported targets include JVM, Android, iOS, macOS, Linux, Windows, tvOS, watchOS, and Android Native, covering arm64/x64 and simulator/device variants where relevant. With 10.10.1, the library is updated to the latest RocksDB line and ships prebuilt native artifacts for the supported Kotlin/Native targets. Add it with:
Copy code
implementation("io.maryk.rocksdb:rocksdb-multiplatform:10.10.1")
If you are building a KMP app or library and need serious local storage, I would love for you to try it. Feedback, benchmarks, bug reports, missing API requests, and real-world use cases are very welcome. Repo: https://github.com/marykdb/rocksdb-multiplatform
kodee happy 8
🔥 4
a
It looks interesting, but isn't RocksDB implementation, not API. Is it possible to make completely different implementation and keep the name (even from legal point of view?). Also since we are talking about reimplementation, there will be a lot of questions about performance. Are there any comparisons with original implementation?
j
Good question. This is not a reimplementation of RocksDB. It uses the original RocksDB native implementation and exposes it through a Kotlin Multiplatform API, with prebuilt native binaries for the supported targets. (See https://github.com/marykdb/build-rocksdb for the builds which I use in the multiplatform project) So performance should be close to upstream RocksDB itself, apart from the expected JNI/interop overhead depending on the target and usage pattern.
a
It seems that I misunderstood.
This project provides a multiplatform Kotlin implementation for RocksDB
gives a strong impression that it is a reimplementation, not a wrapper.
j
Ah I see, I used a broader interpretation of the word implementation. I will adjust it to avoid confusion. Thanks!!