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

Update to newest YCSB version #8

Open
koppor opened this issue Nov 27, 2017 · 4 comments
Open

Update to newest YCSB version #8

koppor opened this issue Nov 27, 2017 · 4 comments

Comments

@koppor
Copy link
Member

koppor commented Nov 27, 2017

YCSB has moved almost 700 commits since forking.

Integrate the new changes

@Vogel612 Vogel612 changed the title Update to newsest YCSB version Update to newest YCSB version Nov 27, 2017
@Vogel612
Copy link

Those 700 commits correspond to 9 releases and a bit.

Especially interesting for us are integrations of cassandra and redis (see #1), maybe dynamo. In general high-availability databases have been added or updated (elasticsearch, hbase).

AFAICT it should be possible to reintegrate the YCSB-TS fork into YCSB. That would eliminate the need to maintain this fork independently. It would also allow comparing Timeseries databases against general-purpose key-value stores without further effort.

Making the integration more difficult is the fact that apparently there have been changes to the indentation conventions of upstream, which results in huge whitespace conflicts that may or may not carry additional changes which are hard to spot.

I propose following route to integrating the changes:

  • Integrate the changes of checkstlye.xml and non-java binaries from upstream
  • Eliminate checkstyle warnings in both YCSB-TS and YCSB
  • Integrate changes from upstream module-wise
  • Finally reintegrate YCSB-TS into YCSB (?)

@baderas
Copy link
Member

baderas commented Dec 11, 2017

The data model/data structure is completely different between YCSB and YCSB-TS. Many TS features are based on that change in the underlying data/query structure.
I think a first step would be to check if they would accept some kind of "second model" for TS. The result would be that each client has to be changed/adopted to fit to both models and answer queries for both in a different way.
The Cassandra, Redis, Elasticsearch, Hbase integrations do not implement any TS data, only the default YCSB data model and its queries.
Maybe the TS model can somehow be fit on the original model? But i think its hardly possible.

@Vogel612
Copy link

@baderas YCSB is currently moving to support Timeseries Databases, see also brianfrankcooper#1008 Someone put a lot of thought into shoehorning the different requirements of a TS model into the default YCSB model. After a few hours of work, it seems very doable to adapt our Clients to the model (with some modifications of course). I'm currently doing a PoC with influxdb.

@baderas
Copy link
Member

baderas commented Dec 12, 2017

ah nice, I did not know that. Since the model is quite similiar, it seems to be possible to adopt our clients. It should also be checked if any ideas or code from us is used.

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

No branches or pull requests

3 participants