Introduction
HydraDB is a graph database written in Rust that uses object storage (S3-compatible backends) as its primary data layer. This architecture separates compute from storage, enabling elastic scaling and cost-effective storage of large graphs while maintaining fast query performance through intelligent caching.
What HydraDB Does
- Stores graph data (nodes, edges, properties) on S3-compatible object storage
- Provides a query language for traversing and analyzing graph structures
- Supports property graphs with typed attributes on nodes and edges
- Implements tiered caching for frequently accessed graph segments
- Offers a web console for visual graph exploration and query writing
Architecture Overview
HydraDB uses a disaggregated architecture where the query engine runs as a stateless compute layer and all persistent data lives on object storage. A local cache tier accelerates hot data access. The engine is written in Rust for memory safety and performance. Graph data is organized into segments that are fetched from object storage on demand and cached locally.
Self-Hosting & Configuration
- Deploy with Docker or build the Rust binary from source
- Configure object storage backend via environment variables (S3 endpoint, bucket, credentials)
- Adjust cache size based on available memory for query performance tuning
- Set up the web console port and authentication for production use
- Scale horizontally by running multiple query engine instances against the same storage
Key Features
- Object storage backend provides virtually unlimited graph storage at low cost
- Compute-storage separation enables independent scaling of query capacity
- Written in Rust for high performance and memory safety
- Tiered caching ensures fast access to frequently queried subgraphs
- Web console for interactive graph visualization and exploration
Comparison with Similar Tools
- Neo4j — established graph database with local storage; HydraDB decouples storage to object storage
- Amazon Neptune — managed graph database; HydraDB is self-hosted and open-source
- Dgraph — distributed graph database; HydraDB uses object storage instead of distributed nodes
- JanusGraph — pluggable graph database; HydraDB is lighter with a Rust-native engine
- NebulaGraph — distributed graph database; HydraDB trades partition complexity for object storage simplicity
FAQ
Q: Which object storage backends are supported? A: Any S3-compatible storage including AWS S3, MinIO, Google Cloud Storage (via S3 compatibility), and Cloudflare R2.
Q: How does performance compare to local-storage graph databases? A: Hot data served from cache performs comparably. Cold queries incur object storage latency, which the caching layer mitigates for repeated access patterns.
Q: Is HydraDB suitable for real-time applications? A: It works well for analytical and exploration workloads. Ultra-low-latency transactional use cases may benefit from databases with local storage.
Q: What query language does it use? A: HydraDB provides its own graph query language optimized for property graph traversals.