Available Bindings
Java
Official binding with full feature support
Python
Multiple Python bindings available
Go
High-performance Go bindings
Rust
Safe Rust wrappers for RocksDB
Node.js
JavaScript/TypeScript bindings
Ruby
Ruby gem for RocksDB
C#
.NET bindings for RocksDB
More Languages
Perl, PHP, Haskell, and others
Go
- grocksdb
- gorocksdb
Recommended: Actively maintained, production-ready Go binding.
GitHub Repository
View grocksdb on GitHub
Rust
Multiple Rust bindings are available, with different levels of maturity and feature support:- rust-rocksdb (PingCAP)
- rust-rocksdb (spacejam)
- rust-rocks
Production-ready: Used by TiKV and other production systems.
This is a fork of spacejam/rust-rocksdb, actively maintained and used in production by PingCAP (TiKV).
GitHub Repository
View rust-rocksdb (PingCAP) on GitHub
Node.js
RocksDB binding for JavaScript and TypeScript applications:NPM Package
View rocksdb on NPM
Ruby
Ruby gem providing RocksDB bindings:RubyGems Package
View rocksdb-ruby on RubyGems
C#
Multiple .NET bindings are available:- rocksdb-sharp (warrenfalk)
- rocksdb-sharp (curiosity-ai)
GitHub Repository
View rocksdb-sharp on GitHub
Other Languages
Perl
CPAN Package
View RocksDB on CPAN
PHP
GitHub Repository
View rocksdb-php on GitHub
Haskell
Hackage Package
View rocksdb-haskell on Hackage
D Programming Language
GitHub Repository
View RocksDB binding for D on GitHub
Erlang
GitLab Repository
View erlang-rocksdb on GitLab
Elixir
GitHub Repository
View rox on GitHub
Nim
GitHub Repository
View nim-rocksdb on GitHub
Swift / Objective-C
iOS and macOS binding for Swift and Objective-C:GitHub Repository
View ObjectiveRocks on GitHub
Choosing a Binding
When selecting a language binding for your project, consider:Maintenance Status
Check recent commits and issue activity. Prefer actively maintained bindings over abandoned projects.
Feature Completeness
Ensure the binding supports the RocksDB features you need (transactions, column families, etc.).
Production Usage
Look for bindings used in production environments, which tend to be more stable and well-tested.
Performance
Some bindings have better performance characteristics than others. Check benchmarks if performance is critical.
Documentation
Good documentation and examples make it easier to get started and troubleshoot issues.
Community Support
Active communities provide help, fixes, and improvements. Check GitHub stars, issues, and discussions.
Contributing a Binding
If you’ve created a RocksDB binding for a language not listed here, or want to improve an existing binding:1
Create or Improve
Develop a high-quality binding with comprehensive test coverage
2
Document
Provide clear documentation, examples, and installation instructions
3
Submit PR
Open a pull request to add your binding to the official LANGUAGE-BINDINGS.md file
The bindings listed here are maintained by the community, not the RocksDB core team. Maintenance status and quality may vary.
Resources
Language Bindings List
Official list of all known RocksDB language bindings
RocksDB Wiki
Comprehensive documentation for RocksDB features
Java Binding
Official Java binding documentation
Python Binding
Python binding documentation and guides
Next Steps
Getting Started
Learn RocksDB fundamentals
Basic Operations
Master core database operations
Configuration
Configure RocksDB for your use case
Performance
Optimize RocksDB performance