ObjectBox: Fast object-oriented database for Go
github.com
github.com
" We will open source more components later, but first we need to figure out some things with ObjectBox. Please give us time on this. We’re currently putting all our efforts in advancing the product. Please contact us if you have questions about this (email contact [at] objectbox.io.). Thank you."
Early Android developers may remember greenrobot/greenDAO and greenrobot/EventBus libraries from back in the day, both very helpful at the time.
Anyone willing to correct me or add to this is welcome (and please do).
How does it achieve this?
0: https://news.ycombinator.com/item?id=18569031
More info on ACID & transactions here: https://golang.objectbox.io/transactions
—
I've got GBs of CSV data that I'm managing manually and due to response times, need solutions that reduce wire trips. This means that traditional databases have proven difficult due to the distance between process and DB. Something designed for local usage (SQLite/etc) is an area I want to research, so ObjectBox sounds interesting on that front as well. Though, it looks like its goals are mainly IoT, so I'm not too hopeful on this front.
PS.: Wouldn't worry about a label saying "IoT" if the technology fits your need.
SQLite has your back.
I'm sure it'll depend on some of your other constraints, but may be worth looking at. I've been extremely impressed with its performance.
Then I hit on https://tech.marksblogg.com/benchmarks.html and saw clickhouse sitting at a very impressive point given the hardware it's on there. It was one of the few data things I saw that looked like it scaled down to a level relevant for me (cassandra I think talks about a dev setup of 5 servers). It's been fast enough with zero tuning or work so far that I've not done that much. I'm sure I could get closer to its speed by carefully setting some things in postgres, or clever work somewhere but I've got other things to do and that's not my speciality.
It has a few issues with ingesting CSV (I end up quoting everything, though I think it's less hassle if you use TSV instead).
Frankly, it's been incredible for my analysis work. apt-get install setup, fast to ingest data, easy to query and output large amounts of things. Happily works on a single box, though apparently scales up as well. More than happy to waffle on about this but I'm aware I've gone on very long already for a "I don't know" answer.
For Android, there's even a repository to test it yourself: https://github.com/objectbox/objectbox-performance
I'd be more interested to see comparison to, for example, Realm[1].
EDIT: I see the 'objectbox-go' repo has a separate set of perf tests, but only for ObjectBox Go -- not either of the unnamed "NoSQL" competitors, nor for SQLite.
Also it would benchmark artificially fast on MacOS.
https://github.com/golang/go/issues/26650
Many storage libraries are affected, including Bleve.