Skip to content
Spencer Kimball edited this page Oct 18, 2016 · 24 revisions

Welcome to the cockroach wiki!

Roadmap

CockroachDB is currently in beta. We track issues using 3 milestones:

  • Q2 is for work to be completed in the current quarter.
  • 1.0 is for work to be completed by the 1.0 release.
  • Later is for work to be completed after the 1.0 release.

Issues without a milestone have either not been scheduled or are cleanup work that can be done whenever someone finds the time or inclination.

The goals for Q2 are increasing stability and performance at scale, fleshing out additional SQL functionality and kicking off work on distributing SQL execution.

Q4 Roadmap

  • Core & Stability

    • Continuous load testing on a 100 node cluster
    • Stability
      • Advanced chaos testing
      • Jepsen
    • Test clusters with increasingly large range counts (1M ranges, ~37TB)
    • Linear scaling (up to 64 nodes, 3, 10 node clusters with p99 latency with 2.5x p50)
    • Cross datacenter deployments (intra-region, inter-region, inter-continental)
    • Functionality
      • Infrastructure for data migrations
      • Epoch based range leases
      • Rebalancing of leaseholders
      • Raft pre-vote RPC
      • Parallelized dist sender
      • Quiescence improvements (in presence of down replicas)
      • Zone config expressiveness
      • Measure clock skew faster than max clock-offset (high/low max-offset)
      • Queues for high contention
      • Leader lease optimizations
  • SQL Functionality

    • Support top 5 ORMs
    • Improve performance and isolation for online schema changes
    • Online upgrades
    • Views
    • Parallelized driver
    • Collations
    • Fuzz testing
    • Enterprise backup / restore
    • Bulk ingest
    • Password-based PGWire
    • Robustness
      • Minimize resource usage blowups
      • Draining on node shutdown
    • Distributed SQL
      • Read-only queries (filtering, sorting, aggregations, joins)
      • Push-down filtering to ranges
  • UI

    • UI/UX revamp (explore a new information architecture, reskin UI)
    • Improve graphing facility (readability, performance, time scales, UX)
    • Snappy performance
    • Auto-pruning of time series data

2016 Roadmap

Goals:

  • Developer adoption
  • Ready for production deployment

Themes (near term):

  • Core DB
    • Scalability
    • Stability
    • Performance
  • Varied cluster deployments & tools
  • Fully-featured RDBMS
  • Functional UI for cluster management

Themes (long term):

  • Easiest production deployment
  • Stability, performance at 100+ node clusters
  • Production readiness (backup restore, security)
  • Support more developer use cases (geo-replication)

2017 Product Roadmap

  • Security

    • Encryption at rest
    • Macaroons
  • SQL Features

    • Common table expressions #7029
    • VIEWs (materialized)
    • ARRAY column type
    • STRUCT column type
    • MAP/JSON column type
    • CREATE TEMPORARY TABLE
    • Client proxy/load-balancer
    • Full-text indexes
    • Geospatial indexes
    • Distributed query optimization
    • Triggers / watches
    • Stored procedures
    • Change feeds
  • UI

    • User login
    • User management
    • In flight schema changes
    • Slow queries
    • Distributed query plans
  • Core

    • Rebalancing: copysets/chainsets
    • Range merging
    • Raft log replacement (?)
  • Multi-tenancy

    • Resource isolation #7003
    • Quotas
    • User management
  • Misc

    • Go-fuzz testing (SQL parsing/execution, pgwire parsing)
    • Data sovereignty / Geo replication
    • Blob storage

Frequently Asked Questions (FAQ)

Why the name Cockroach?

It is evocative of the properties of the system we are trying to build. Cockroaches are hard to kill, spread easily, and evolve quickly. “Roach Motel” would also be a great name for a hosting service.