-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Home
Welcome to the cockroach wiki!
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.
-
Core & Stability
- Continuous load testing on a 10 node cluster
- Test clusters with increasingly large range counts (10k ranges, ~500GB)
- Improve rebalancing heuristics
- Verify on-the-wire and on-disk compatibility between versions
- Infrastructure for data migrations
-
SQL Functionality
- FOREIGN KEY constraints
- CREATE SEQUENCE / SERIAL column type
- Dump/restore of SQL data+metadata
- Improve type inference
- Improve testing of postgres-client compatibility
-
Distributed SQL
- Push-down filtering to ranges
- Push-down updates to ranges
- Infrastructure for distributed joins / aggregations
- Stretch goal: inner joins
-
UI
- Adjustable graph timescales
- Flesh out databases and tables pages
- Tooltips on all graphs
- Provide standard hooks for timeseries data (e.g. Prometheus)
- Developer adoption
- Ready for production deployment
- Core scalability
- Core stability
- Multi-node performance
- More SQL support
- Functional UI for operational debugging
- Easiest production deployment
- Stable and performant
- Production readiness
- Support developer use cases
-
Stability
- Rebalancing
- Repair throttling
- Raft log growth/throttling
- Large range splitting
- Query throttling
-
Performance
- Lazy raft loading
- Bulk loading
- Coalesced heartbeats
- Leader lease optimizations
- Raft log replacement
-
Production readiness
- Migrations
- Leader-proposed raft
- System table addition / schema change
- Test infrastructure
- Monitoring integration
- Deployment recipes (kubernetes, mesosphere, docker swarm)
- Certificate management
- Migrations
-
UI
- User login
- User management
- In flight schema changes
- Slow queries
- Distributed query plans
-
SQL Features
- Dump / Load
- Incremental backup / restore
- Distributed SQL...JOINs
- Foreign keys
- Column families
- Sequences or SERIAL
- Interleaved tables
- ORM compatibility
- Online schema changes
-
Blob storage
-
Security
- Encryption at rest
- Macaroons
-
SQL Features
- Window functions
- Common table expressions
- VIEWs (non-materialized)
- ARRAY column type
- STRUCT column type
- MAP/JSON column type
- CREATE TABLE … AS
- CREATE TEMPORARY TABLE
- Client proxy/load-balancer
- Full-text indexes
- Geospatial indexes
- Distributed query optimization
- Triggers / watches
- Stored procedures
- Change feeds
-
Core
- Rebalancing: copysets/chainsets
- Range merging
-
Multi-tenancy
- Resource isolation
- Quotas
- User management
-
Misc
- Go-fuzz testing (SQL parsing/execution, pgwire parsing)
- Data sovereignty
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.