Live data from Hacker News

GoshawkDB: A distributed, transactional, fault-tolerant object store

goshawkdb.io

1–10 of 46 posts

Re: GoshawkDB: A distributed, transactional, fault-tolerant object store

#6
post #2

Why should I choose this over Ceph RADOS? [0][1] 0: Reliable Autonomic Distributed Object Store 1: http://docs.ceph.com/docs/master/rados/api/librados-intro/

It's written in Go and nicer to hack on, I suspect.

Being written in Go is hardly some kind of magic advantage. I'd go with Ceph myself because I know exactly where I stand with it. It's also got commercial support which comes in handy.

Re: GoshawkDB: A distributed, transactional, fault-tolerant object store

#7

Earlier quoted context omitted.

It's written in Go and nicer to hack on, I suspect.

Being written in Go is hardly some kind of magic advantage. I'd go with Ceph myself because I know exactly where I stand with it. It's also got commercial support which comes in handy.

Ceph doesn't seem to support (serializable) transactions (correct if wrong), which is kind of the whole point. In fact, how does it differentiate itself from Apache Cassandra etc? By storing arbitrary objects?

Re: GoshawkDB: A distributed, transactional, fault-tolerant object store

#8
GoshawkDB is unique as it allows you to configure the tolerance to failure independently of the size of the GoshawkDB cluster. For example, you could have a cluster of 5 nodes and require that it continues to operate unless more than 2 nodes become unreachable. Or you could have a cluster of 20 nodes and require that it continues to operate unless more than 3 nodes become unreachable. The only requirement is that if F is the number of unreachable nodes you wish to be able to tolerate, then your minimum cluster size is 2F + 1. You may of course choose to have a cluster size larger than this. Currently no other data store that I'm aware of offers this flexibility.

I fail to see the point of making your cluster unavailable before you've lost so many nodes that you no longer have a quorum. It seems odd to have a cluster that can handle e.g. 4 node failures, and take it offline after only 2. Why would anyone want a feature like that?

Re: GoshawkDB: A distributed, transactional, fault-tolerant object store

#9

This is really cool! I guess the main competition in terms of similar purpose and guarantees is http://hyperdex.org/ , although the add-on that enables transactions (quite critical...) is commercial.

The most production ready versions of this kind of thing are http://geode.incubator.apache.org and https://ignite.apache.org .

Re: GoshawkDB: A distributed, transactional, fault-tolerant object store

#10
post #8

GoshawkDB is unique as it allows you to configure the tolerance to failure independently of the size of the GoshawkDB cluster. For example, you could have a cluster of 5 nodes and require that it continues to operate unless more than 2 nodes become unreachable. Or you could have a cluster of 20 nodes and require that it continues to operate unless more than 3 nodes become unreachable. The only requirement is that if…

It's in the next paragraph. The data has to have more replicas to be resilient to more failures. If you have a lot of data, storing 20 replicas is going to be really expensive and probably unnecessary.
Post reply on HN