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

db_bench: In multi-db runs, allow per-db options file #251

Open
udi-speedb opened this issue Nov 17, 2022 · 8 comments
Open

db_bench: In multi-db runs, allow per-db options file #251

udi-speedb opened this issue Nov 17, 2022 · 8 comments
Labels
enhancement New feature or request good first issue Good for newcomers up-for-grabs

Comments

@udi-speedb
Copy link
Contributor

db_bench currently supports loading options from a file to open the DB-s participating in the run (via the -options_file flag).
However, the same options file is used to configure all of the DB-s.
This ticket is a proposal to allow the user to have a separate options file per DB.

@udi-speedb udi-speedb added enhancement New feature or request good first issue Good for newcomers labels Nov 17, 2022
@giladmaya
Copy link

Is this issue up for grabs?

@udi-speedb
Copy link
Contributor Author

Is this issue up for grabs?

Hi, Yes it is. Thanks.

@udi-speedb
Copy link
Contributor Author

@giladmaya - BTW, we will be happy to assist if you have any questions about this issue (and in general), or in case you would like to discuss, etc.
Please feel free to contact us.

@giladmaya
Copy link

@udi-speedb - what do you think the syntax should be like in the case of multi-DB? would something similar to the "benchmarks" parameter fit? e.g. --options_file "path1,path2"

@udi-speedb
Copy link
Contributor Author

@giladmaya:
That makes sense. You may also look at --column_family_distribution or (our new) --dbs_to_use flag, coming in this release as a db_bench enhancement (#220)

A few issues that I think are worth considering:

  • There might be multiple db-s, but you may wish to use a single options file. I think a user shouldn't always have to repeat the file's name to match the number of db-s.
  • A convenience feature would be to allow specifying a base name (using another, optional flag) where all of the files would be located, and just specify the names of the individual files. That may be useful if all of your files are located under some folder, avoiding the need to repeat the folder's name again and again. However, that may be just a complication.
  • We have (also in this coming release) added a benchmark groups mode. Please have a look at that as well. The db-s are opened only once, so the options_file flag would be applicable only for that group (db_bench: Allow running multiple benchmarks each with its own configuration #220)

What do you think?

@giladmaya
Copy link

@udi-speedb:
--column_family_distribution and --dbs_to_use are quite similar to my suggestion, will take a look at their implementation to see if there's anything I can reuse.

  • I think we should allow the user to either provide the same number of options files as the number of dbs or just a single options file (like the current behavior). This approach has another advantage since it's backward compatible.

  • I like the idea of specifying a directory instead of a folder, and it can definitely simplify things for users. However, I think that it should be implemented as another argument in the cli, e.g. --options_dir.

  • Will make sure my additions are supported in benchmark groups mode. Thanks for the reference.

@udi-speedb
Copy link
Contributor Author

@udi-speedb: --column_family_distribution and --dbs_to_use are quite similar to my suggestion, will take a look at their implementation to see if there's anything I can reuse.

  • I think we should allow the user to either provide the same number of options files as the number of dbs or just a single options file (like the current behavior). This approach has another advantage since it's backward compatible.
  • I like the idea of specifying a directory instead of a folder, and it can definitely simplify things for users. However, I think that it should be implemented as another argument in the cli, e.g. --options_dir.
  • Will make sure my additions are supported in benchmark groups mode. Thanks for the reference.

@giladmaya Sounds good to me

@udi-speedb
Copy link
Contributor Author

@giladmaya - Hi, are you planning to work on this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers up-for-grabs
Projects
None yet
Development

No branches or pull requests

2 participants