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

rockdb and go get #8

Open
joeblew99 opened this issue Jan 17, 2016 · 6 comments
Open

rockdb and go get #8

joeblew99 opened this issue Jan 17, 2016 · 6 comments

Comments

@joeblew99
Copy link

your using this github.com/tecbot/gorocksdb

There is i believe a better way. Coockroachdb also need rocks bd, and have written a fully go gettable implementation of rockdb. As i understand it the cockroach team do not need all the the API of rocksdb, so your milage may vary.
This is it:
https://github.com/cockroachdb/c-rocksdb

@mschoch
Copy link
Contributor

mschoch commented Jan 18, 2016

Thanks for this. I was made aware of this a few weeks ago by @vmx.

I agree, having 'go gettable' version is nice, but at the moment we use a rather large surface area of the API and the Cockroachdb version was very up-front about not supporting everything. So that caused me to back off a bit.

That said, @steveyen is currently doing some performance optimizations that side-step the tecbot gorocksdb wrapper as well, so its entirely possible that we might end up moving off tecbot and onto something more direct.

I'll leave this bug open as we evaluate different options.

@joeblew99
Copy link
Author

Wow nice one.

@joeblew99
Copy link
Author

Is this it ?

https://github.com/steveyen/cbgt

@joeblew99 joeblew99 reopened this Jan 19, 2016
@mschoch
Copy link
Contributor

mschoch commented Jan 19, 2016

Steve and I both work cbgt for Couchbase, and that project is using Bleve. However, the performance improvements I was referring to are in this repo. One of the more significant ones involved the putv/mergev/deletev methods on a batch. It lets us build and execute a batch in RocksDB with a single cgo call, instead of what would have previously been thousands of individual cgo calls.

I suspect we'll either move to the cockroachdb version in the future, or dispense with a wrapper entirely.

@joeblew99
Copy link
Author

Ok thanks. It helps me understand the fundamentals. I was concerned about devs and CI being a pain with the CGI aspects.

So, sounds like its just a matter of sucking it up and seeing how painful it becomes. I guess you are doing CI, so I can have a look at the Bleve scriots... If any other thoughts let me know, otherwise please feel free to close this

mschoch added a commit to mschoch/blevex that referenced this issue Jan 27, 2016
@mschoch
Copy link
Contributor

mschoch commented Jan 27, 2016

I just put together a PR which switches us over to the cockroachdb wrapper. Tests pass, but further review is welcome.

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

Successfully merging a pull request may close this issue.

2 participants