Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Thanks,

> Why protocol buffers ?

They are very good for defining API boundaries, in vince we only use them for configuration and admin structure. We use Roaring Bitmap based storage, so fundamental units persisted are Bitmap containers.

> Also why are you using pebble exactly?

Well, vince is write heavy and any LSM based key value store would have been nice. It happens pebble is the best option for us.

Also, we don't use transactions (We batch writes and use snapshots for reads). Combining with the fact we rely on pebble batch Merge api.

The merge api allows us to do efficient updates. Since we only store bitmap containers, when doing update we just do a container union of observed values of a key.

Bitmap unions are pretty fast and efficient.

I hope I covered all your questions.



It answered them alright, but really opened a few hundred more. I appreciate your time!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: