You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We want to implement zero-cost attaching of example datasets.
But loading the list of parts and their primary keys takes time.
Describe the solution you'd like
Variant 1:
For a subset of tables (like the tables on remote filesystems), don't wait for loading before accepting connections and continue loading in the background after server startup. Queries to the table would wait for loading, potentially rethrowing an exception if the loading was unsuccessful.
This solution also automatically solves loading dependencies between tables and dictionaries by implicitly arranging them in the graph of dependencies.
Variant 2:
Load all tables as usual, but don't load the primary key in the data parts in memory at all. It can use a separate LRUCache, similar to MarkCache. It will also control the total size of the primary key in memory, protecting from #11188
Additional context
It will also improve server startup in general.
The text was updated successfully, but these errors were encountered:
then it will be possible to store parts meta-information in Zookeeper/Keeper (path to the part (for multidisk), count.txt , columns.txt, min_max.idx) as a value of part_id key and attach a table without disk I/O.
Use case
We want to implement zero-cost attaching of example datasets.
But loading the list of parts and their primary keys takes time.
Describe the solution you'd like
Variant 1:
For a subset of tables (like the tables on remote filesystems), don't wait for loading before accepting connections and continue loading in the background after server startup. Queries to the table would wait for loading, potentially rethrowing an exception if the loading was unsuccessful.
This solution also automatically solves loading dependencies between tables and dictionaries by implicitly arranging them in the graph of dependencies.
Variant 2:
Load all tables as usual, but don't load the primary key in the data parts in memory at all. It can use a separate LRUCache, similar to MarkCache. It will also control the total size of the primary key in memory, protecting from #11188
Additional context
It will also improve server startup in general.
The text was updated successfully, but these errors were encountered: