Community roadmap 2023
- Dominant language
- Java
- Stars
- 14.1k
- Forks
- 3.8k
- Avg merge
- 2d 58m
- Merged PRs (30d)
- 233
Description
It would be cool to have a publicly published roadmap of things the community is working on, so I thought we should do one for 2023. The year isn't even half over, so it seems like a good time 🙂.
I'm starting this list off with some things that are on my radar. I hope everyone reading this sees some exciting features on the list! Please feel free to post here if you've got any feedback, questions, or comments about items that are or aren't here.
Btw, note that items being on this list doesn't mean they will definitely ship in 2023. It is rather a statement that there is interest in working on them, and some likelihood they will get done. So, it's a good way to get a sense for what kinds of things are receiving active development interest and activity.
### Query language
- Window functions (#13458, #13514, #13902, #13773)
- Distributed shuffling JOIN (#13506)
- Array columns (#13803)
- Array UNNEST (#13268)
- Standardize on SQL-compatible null handling (#14154)
- ORDER BY non-`__time` in native Scan query
- UNION ALL anywhere
### Query engine
- Detect unavailable segments (#13967)
- Larger, self-adjusting subquery limit (#13952)
- High-cardinality GROUP BY performance enhancements
- Interactive API for multi-stage query (#14416)
- Export multi-stage query task results to object storage (#14527)
- Query directly from object storage (https://github.com/apache/druid/pull/14416)
- Update to Calcite 1.34 or later (#13532)
- EXPLAIN ANALYZE
### Data management
- Batch DELETE DML (#14145)
- Batch UPDATE, UPSERT DML
- DDL (CREATE / ALTER / DROP TABLE)
- Schema auto-discovery
- Compaction concurrent with streaming ingestion
- Apache Spark readers/writers (#10920)
- Apache Iceberg integration (#13923)
- Continuous auto-compaction (#13852)
- Metadata catalog (#12546)
- Validation of load rules, partitioning, etc
- Broadcast tables (alternative to lookups)
- Reset to arbitrary Kafka offsets (https://github.com/apache/druid/pull/14772)
- Ingesting data from multiple kafka topics (https://github.com/apache/druid/pull/14424)
- Improved kill tasks (#14131, #12526)
### Operations
- Java 17 full support (#12838)
- Java 21 experimental support
- Overlord scalability to larger numbers of tasks (https://github.com/apache/druid/pull/14533)
- Coordinator scalability to larger numbers of segments (https://github.com/apache/druid/pull/13197)
- K8s task runner (#13156 and follow-ups)
- SysMonitor on ARM (#14359)
### For Druid developers
- Standardized extension API
- Improve build pipeline and testing system
### Ecosystem
Projects that are not part of Apache Druid proper, but happening in the surrounding ecosystem.
- Druid Kubernetes operator: ingestion controller (https://github.com/datainfrahq/druid-operator/pull/22), Historical autoscaling (https://github.com/datainfrahq/druid-operator/issues/40).
Contributor guide
Research direction
Review the roadmap sections and the referenced issues and pull requests to determine which items still represent active community work. Done would mean publishing a maintained 2023 roadmap with agreed scope, current links, and clear status for the listed projects.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kafka, kubernetes, spark, sql
- Domain
- content, documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100