{"action":"created","issue":{"url":"https://api.github.com/repos/brianfrankcooper/YCSB/issues/613","repository_url":"https://api.github.com/repos/brianfrankcooper/YCSB","labels_url":"https://api.github.com/repos/brianfrankcooper/YCSB/issues/613/labels{/name}","comments_url":"https://api.github.com/repos/brianfrankcooper/YCSB/issues/613/comments","events_url":"https://api.github.com/repos/brianfrankcooper/YCSB/issues/613/events","html_url":"https://github.com/brianfrankcooper/YCSB/issues/613","id":131507662,"number":613,"title":"Consider adding support for query API benchmarking","user":{"login":"vfunshteyn","id":8825250,"avatar_url":"https://avatars.githubusercontent.com/u/8825250?v=3","gravatar_id":"","url":"https://api.github.com/users/vfunshteyn","html_url":"https://github.com/vfunshteyn","followers_url":"https://api.github.com/users/vfunshteyn/followers","following_url":"https://api.github.com/users/vfunshteyn/following{/other_user}","gists_url":"https://api.github.com/users/vfunshteyn/gists{/gist_id}","starred_url":"https://api.github.com/users/vfunshteyn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vfunshteyn/subscriptions","organizations_url":"https://api.github.com/users/vfunshteyn/orgs","repos_url":"https://api.github.com/users/vfunshteyn/repos","events_url":"https://api.github.com/users/vfunshteyn/events{/privacy}","received_events_url":"https://api.github.com/users/vfunshteyn/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-02-04T23:41:34Z","updated_at":"2016-02-08T00:07:49Z","closed_at":null,"body":"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).\r\n\r\nFor 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:\r\n* support for configuring fixed field schemas, with data types other than strings.\r\n* 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.\r\n* arbitrary CQL queries in Cassandra 2\r\n* alternative implementation of JDBC binding with support for execution of preconfigured select statements, and batched data loading.\r\n* ability to define composite primary key schemas for last two bindings.\r\n\r\nThere 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."},"comment":{"url":"https://api.github.com/repos/brianfrankcooper/YCSB/issues/comments/181144928","html_url":"https://github.com/brianfrankcooper/YCSB/issues/613#issuecomment-181144928","issue_url":"https://api.github.com/repos/brianfrankcooper/YCSB/issues/613","id":181144928,"user":{"login":"vfunshteyn","id":8825250,"avatar_url":"https://avatars.githubusercontent.com/u/8825250?v=3","gravatar_id":"","url":"https://api.github.com/users/vfunshteyn","html_url":"https://github.com/vfunshteyn","followers_url":"https://api.github.com/users/vfunshteyn/followers","following_url":"https://api.github.com/users/vfunshteyn/following{/other_user}","gists_url":"https://api.github.com/users/vfunshteyn/gists{/gist_id}","starred_url":"https://api.github.com/users/vfunshteyn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vfunshteyn/subscriptions","organizations_url":"https://api.github.com/users/vfunshteyn/orgs","repos_url":"https://api.github.com/users/vfunshteyn/repos","events_url":"https://api.github.com/users/vfunshteyn/events{/privacy}","received_events_url":"https://api.github.com/users/vfunshteyn/received_events","type":"User","site_admin":false},"created_at":"2016-02-08T00:07:49Z","updated_at":"2016-02-08T00:07:49Z","body":"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."}}