Skip to content
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] Scale to 1k+ tables #1317

Open
bmatican opened this issue May 6, 2019 · 2 comments
Open

[docdb] Scale to 1k+ tables #1317

bmatican opened this issue May 6, 2019 · 2 comments

Comments

@bmatican
Copy link
Contributor

@bmatican bmatican commented May 6, 2019

Setting up an umbrella task.

Improve table operations

  • Create table is slow in YSQL and YCQL #911
  • Create Table operations should fast track raft groups and leader assignments #1258
  • Investigate slow DROP TABLE operations #1259

Raft changes

  • Implement multi-raft for batching node to node RPC calls #772
  • Separate the "tablet" abstraction into "Raft group", "table piece", and "KV store" #681
  • Should we consider log multiplexing? We can end up with 1k+ tablets worth of logs, min 2 files, 64MB each at peak, leaves a lot of space and time spent on bootstrap #3549

Lower load on master

  • Repeat heartbeats should not be re-written to raft #1966
  • Batch heartbeat writes #2236
  • Enable follower reads from masters #2199

Other

  • Lower the number of metrics exposed #2237
@bmatican bmatican added this to To Do in YBase features via automation May 6, 2019
@bmatican bmatican added this to To do in Performance via automation May 6, 2019
@bmatican bmatican added this to To do in User Experience via automation May 6, 2019
@bmatican bmatican changed the title Improve use cases with lots of tables [docdb] Scale to 1k+ tables Sep 1, 2019
@bmatican bmatican added this to the v2.1 milestone Sep 1, 2019
@ddorian

This comment has been minimized.

Copy link
Contributor

@ddorian ddorian commented Oct 21, 2019

re: multiplexing logs
rocksdb column families do https://github.com/facebook/rocksdb/wiki/Column-Families#implementation along with complex wal

@ddorian

This comment has been minimized.

Copy link
Contributor

@ddorian ddorian commented Dec 6, 2019

re: number of dbs,tables
One of the problems with distributed file systems is the metadata server. A fix that I've seen is HopFS:
https://www.slideshare.net/dowlingjim/hops-distributed-metadata-for-hadoop
https://blog.acolyer.org/2017/03/06/hopfs-scaling-hierarchical-file-system-metadata-using-newsql-databases/
https://www.usenix.org/system/files/conference/fast17/fast17-niazi.pdf

They shard the metadata by hosting it in NDB Cluster. We can maybe do the same thing by partitioning on the db level. And also having a special replicate all tablets in all servers for shared stuff (like reference tables).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
YBase features
  
To Do
Performance
  
To do
Scalability
  
To Do
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.