Hi all,

I'm Zihan Dai, a Computer Science student at the University of
Melbourne, writing to introduce myself as one of this year's GSoC
contributors with Apache IoTDB. I'll be working on GSOC-304: Enhancing
ThingsBoard Integration with IoTDB 2.x Table Mode, mentored by Xuan
Wang.

Background

- Full GSoC proposal (PDF):
  
https://drive.google.com/file/d/1FuMtvgMXo_OdKj03Sn3LdqLER-YGtGnq/view?usp=sharing
- IoTDB contributions:
  - Merged: PR #17212 (Process resource leak fix, March 2026), PR
#17400 (C++ client time column UB fix, April 2026)
  - In review: PR #17180 (GROUP BY inclusive end time syntax), #17408
(Java client time column equivalent), #17411 (last_by null after
deleting all table data)
- Cross-community discussions I started before applying:
  - GSOC-304 proposal/design discussion + PoC (IoTDB Discussion #17352):
    https://github.com/apache/iotdb/discussions/17352
  - ThingsBoard Discussion #15296 (the same effort, framed for the
ThingsBoard community):
    https://github.com/thingsboard/thingsboard/discussions/15296
- Other Apache work: merged PRs in Beam, ShardingSphere, and Iceberg,
mostly around resource lifecycle and connector hardening. Full list at
https://github.com/PDGGK.

Planned scope

A new ThingsBoard backend `database.ts.type=iotdb-table`, implemented
as a connector module `iotdb-thingsboard-table` under
apache/iotdb-extras:

- TimeseriesDao, LatestDao, and AttributeDao implementations on top of
IoTDB 2.x Table Mode
- Tablet-based writes, SQL aggregations (date_bin, COALESCE) for the
existing ThingsBoard dashboard queries, and TTL-based retention
- Final stage: a PR to ThingsBoard adding the new backend option, plus
performance benchmarks against the existing tree-model integration and
a migration guide

Plan for the community bonding period (now through May 24)

1. Re-validate the existing PoC against IoTDB 2.0.8.
2. Keep a setup-issues log so future users can avoid the same friction.
3. Post the refined design document to this list by Sunday,
2026-05-17, with a concrete recommendation and trade-offs on the two
open questions from #17352: attribute table schema (per-scope tables
vs. scope-in-key encoding) and label handling. Feedback drives the
final decision.
4. Track progress on the ThingsBoard side in parallel so the eventual
cross-community PR stays visible to both communities.

Coding starts on May 25 and runs through August 24, with the mid-term
evaluation deadline on 2026-07-10 18:00 UTC / 2026-07-11 04:00 AEST.

Feedback on the two design questions, or on similar Table-Mode
write/aggregation workloads, would be useful before I post the design
doc.

Thanks,
Zihan Dai
GitHub: https://github.com/PDGGK

Reply via email to