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

Consider adding support for query API benchmarking #613

Open
vfunshteyn opened this issue Feb 4, 2016 · 2 comments
Open

Consider adding support for query API benchmarking #613

vfunshteyn opened this issue Feb 4, 2016 · 2 comments

Comments

@vfunshteyn
Copy link

This is just an informal proposal so far, but what has been missing from this framework is ability to run rich search queries against supported data stores. I recognize that variations in how querying is exposed by each are vast, but I think it's realistic to be able to support at least those platforms where search API is available as declarative query language (SQL dialects/sub/supersets, if you will).

For some early look at how that could be accomplished, please take a look at query-work branch in my fork: https://github.com/vfunshteyn/YCSB/tree/query-work. This is probably too big a change set for one PR, but here are some highlights:

  • support for configuring fixed field schemas, with data types other than strings.
  • support for Couchbase 2.0 driver API, including N1QL and Reactive usage. This implementation is also capable of efficiently executing bucket cleanup (bulk deletes) that would not otherwise be practical to do from CB query workbench.
  • arbitrary CQL queries in Cassandra 2
  • alternative implementation of JDBC binding with support for execution of preconfigured select statements, and batched data loading.
  • ability to define composite primary key schemas for last two bindings.

There are some sample workload configs in workloads/hotel-rates that are domain specific to project I've been working on but they illustrate configuration/bootstrapping search-capable workloads.

@busbey
Copy link
Collaborator

busbey commented Feb 7, 2016

I really like the addition of workloads that leverage secondary indices.

Any idea on timing for trying to break this into a series of PRs we can incorporate?

@vfunshteyn
Copy link
Author

Probably not sooner than a month or so. There's going to be quite a bit of commit reorg to make these into meaningful/non-monolithic PRs. There will probably be some objections as to the cleanliness of this extension... perhaps someone could pull the branch and play with it locally before I formalize into PR, though that's optional.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants