Skip to main content

QuantaDB Roadmap: Building the Future of Dart Databases

ยท 4 min read
Tushar Nikam
Creator of QuantaDB & Software Engineer @ Gojek

QuantaDB Logo

Today, I'm excited to share our detailed roadmap for QuantaDB, highlighting what we've accomplished and what's coming next. This roadmap reflects our commitment to building a high-performance, developer-friendly database solution for the Dart and Flutter ecosystem.

What We've Built So Far ๐Ÿ—๏ธโ€‹

Phase 1: Core Storage Engine โœ…โ€‹

We've successfully implemented the foundation of QuantaDB with a pure Dart LSM-Tree storage engine. Here's what's already working:

  • High-Performance Storage

    • MemTable using SplayTreeMap for O(log n) writes
    • SSTable serialization with 4KB block alignment
    • Three-layer Bloom filters for lightning-fast lookups
    • Background compaction using Isolate workers
  • Robust Data Management

    • Transaction support with atomic operations
    • Type-safe change notifications
    • Efficient binary serialization with DartBson
    • Comprehensive error handling and recovery

Phase 2: Code Generation (In Progress) ๐Ÿ”„โ€‹

We're currently working on making QuantaDB more developer-friendly through annotation-driven code generation:

  • Completed Features

    • @QuantaEntity annotation system
    • Primary key and index support
    • Field validation with constraints
    • Schema version tracking
    • Basic composite indexes
  • Currently Working On

    • Type adapter generation
    • DAO class generation
    • Enhanced schema validation
    • Advanced index management

What's Coming Next ๐Ÿš€โ€‹

Phase 2 Completion (Q2 2024)โ€‹

We're focusing on completing these critical features:

  • Relationship Management

    • Entity relationships
    • Referential integrity
    • Efficient relationship querying
  • Advanced Validation

    • Custom validation functions
    • Compile-time validation
    • Runtime data quality checks

Phase 3: Reactive Query System (Q3 2024)โ€‹

Our next major phase will bring real-time capabilities:

  • Stream-Based Watching

    • Real-time query updates
    • Efficient change detection
    • Query result caching
    • Incremental updates
  • Change Notification Pipeline

    • Object hashing system
    • Batched updates
    • Isolate-based propagation
    • Memory-efficient diffing

Performance Goals ๐ŸŽฏโ€‹

We're committed to maintaining high performance while adding new features:

OperationTarget (100k ops)Current Status
Bulk Insert820msโœ… Achieved
Point Query0.8ฮผsโœ… Achieved
Range Query4.2msโœ… Achieved
Encrypted Write1.9ms/op๐Ÿ”„ In Progress
Change Propagation12ms latencyโณ Planned

Architecture Evolution ๐Ÿ›๏ธโ€‹

Our architecture is designed to scale with your needs:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Dart Application Layer โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚ โ”‚ Reactive Query Interface โ”‚ โ”‚ (Coming Soon)
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚ โ”‚ Annotation-Generated โ”‚ โ”‚ (In Progress)
โ”‚ โ”‚ DAO Classes โ”‚ โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Native Dart Engine Layer โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚ โ”‚ LSM-Tree Storage Engine โ”‚ โ”‚ (โœ… Complete)
โ”‚ โ”‚ โ€ข MemTable โ”‚ โ”‚
โ”‚ โ”‚ โ€ข SSTable Manager โ”‚ โ”‚
โ”‚ โ”‚ โ€ข Background Compactor โ”‚ โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Get Involved ๐Ÿคโ€‹

We welcome community participation in shaping QuantaDB's future:

  1. Testing & Feedback

    • Try out our beta features
    • Report issues on GitHub
    • Share your use cases
  2. Contributions

    • Code contributions
    • Documentation improvements
    • Feature suggestions
  3. Community

    • Join our discussions
    • Share your experiences
    • Help others get started

Stay Updated ๐Ÿ“ขโ€‹

To keep track of our progress:

Conclusionโ€‹

The roadmap ahead is ambitious but achievable. We're building QuantaDB with a focus on performance, developer experience, and real-world usability. Your feedback and contributions are invaluable in making QuantaDB the best database solution for Dart and Flutter applications.

Stay tuned for more updates as we continue to build the future of Dart databases!


Tushar Nikam
Creator of QuantaDB & Software Engineer @ Gojek