-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DocDB] Support 100k tables on a single colocated database #14031
Comments
Noting some observations on current status: Setup: This test script was used to created 60K tables against a c5.xlarge RF=3, 3-node cluster. Release used was 2.13.3-b45, but this aspect probably hasn't changed much in more recent release. Nevertheless, might be worth double checking in a more recent release also. Summary: Creating 60K tables in the colocated database took about 11hrs. The initial tables took about 100ms, progressively getting slower and towards the end, by the 60K-th table, it was taking about 1sec each. yb-master graphs On yb-master, the system catalog
We can see the same from yb-master's SSTable size graphs above. On the yb-tserver, the SSTables represent the data of user tables. So that doesn't grow much, the tablet metadata for the colocated database (in which all the 60K tables reside) keeps growing to ~10MB.
One reason for progressively increasing times for create table inside a colocated database is that the metadata, for the colocated tablet, keeps growing (it is not sharded today) and is written back in its entirety each time. So we are writing back increasing amounts of data back as number of tables increases. |
@kmuthukk a quick update on storing table metadata in DocDB instead of superblock: We implemented a prototype to assess the perf improvements. Since our users will be using Tablegroups and not colocated databases post-Tablegroup GA, the numbers are for Tablegroups. For RF 1, the total time for creating 60K colocated tables on local setup:
Source of gains: In the colocated create table path, the master makes an Currently the design document is under review. This specific task of storing table metadata in DocDB is being tracked at #14221. This issue, ie (##14031), represents the larger umbrella effort. Additional not-too-critical finding: There is a significant difference in the performance of table creation in tablegroups and colocated databases due to implementation differences. For RF 1, without the above optimization, the total time creation on local setup
The performance difference is partially being resolved via: D20132 |
Jira Link: DB-3529
Description
This is a tracking task used to capture all the work needed to support ~100k tables on a single colocated database:
⬜️ Create Table latency improvements
⬜️ Optimize caching on yb-master
⬜️ Backup/Restore improvements for handling 100k objects
⬜️ XCluster Setup/Teardown optimizations
Create Table Improvements
Caching on yb-master
Backup/Restore for 100k tables
XCluster Setup/Teardown
The text was updated successfully, but these errors were encountered: