Hi community,

I'd like to start a discussion on a new feature proposal: introducing
"system tables" to Fluss.[1]

System tables are tables managed by the cluster itself that reflect
internal cluster state and bookkeeping information. This concept is now
well established across streaming and storage systems, like Kafka internal
topics, PostgreSQL System Catalog[2] and System Views[3], StarRocks
information_schema[4] and so on. It helps those systems in many aspects
including metadata management, operations, and maintenance.

This proposal is to introduce system tables into Fluss, like other
systems already did. It may benefit our project in three key ways:
1. Durable storage for system-critical metadata — preparing for more
features. such as consumer group offsets and capture DDL change events,
persisted through Fluss's own log storage (LogTablet / KvTablet).
2. Operational visibility — exposing cluster runtime state (tablet server
registrations, bucket ISR, tiering status) via standard SQL query
interfaces for operators and downstream applications.
3. Future ZooKeeper migration — laying the groundwork to move
ZooKeeper-held metadata into Fluss itself, reducing external dependencies.

For more details, the full draft is available here: FIP-39
https://cwiki.apache.org/confluence/display/FLUSS/FIP-39%3A+Introduce+System+Tables

I'd really look forward to any of your thoughts and suggestions. Any
feedback is welcome.

Links:
[1] FIP-39 Introduce System Tables:
https://cwiki.apache.org/confluence/display/FLUSS/FIP-39%3A+Introduce+System+Tables
[2] PostgresSQL System Catalog doc:
https://www.postgresql.org/docs/current/catalogs.html
[3] PostgresSQL System View doc:
https://www.postgresql.org/docs/current/views.html
[4] StarRocks Information Schema doc:
https://docs.starrocks.io/docs/sql-reference/information_schema/

Best Regards,
Yang Guo

Reply via email to