apache / apache/druid

Community roadmap 2023

Open
#14,157 12 comments 26 reactions 0 assignees View on GitHub
Proposal
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.