Live data from Hacker News

Facebook Announces Apollo, a New NoSQL Database for On-line Low Latency Storage

infoq.com

1–10 of 26 posts

Re: Facebook Announces Apollo, a New NoSQL Database for On-line Low Latency Storage

#3
One of their supported storage primitives is CRDT-based, according to [1]. I, for one, am really interested to see how this works in practice. I've been quite excited about CRDTs, but haven't seen enough examples of them in the wild to get a sense of their drawbacks — for instance, how difficult it is to use them to model various processes or data structures.

[1] https://twitter.com/adrianco/status/476843040330743809

Re: Facebook Announces Apollo, a New NoSQL Database for On-line Low Latency Storage

#4
"Currently, Apollo is developed internally at Facebook. No firm claims were made during the talk that it will be opensourced. It was mentioned as a possibility after internal development settles down." from http://java.dzone.com/articles/facebook-announces-apollo-qco...

Re: Facebook Announces Apollo, a New NoSQL Database for On-line Low Latency Storage

#5
post #4

"Currently, Apollo is developed internally at Facebook. No firm claims were made during the talk that it will be opensourced. It was mentioned as a possibility after internal development settles down." from http://java.dzone.com/articles/facebook-announces-apollo-qco...

HN readers, what do you think are Facebook's motivations for announcing Apollo at this point?

Re: Facebook Announces Apollo, a New NoSQL Database for On-line Low Latency Storage

#6
post #5
post #4

"Currently, Apollo is developed internally at Facebook. No firm claims were made during the talk that it will be opensourced. It was mentioned as a possibility after internal development settles down." from http://java.dzone.com/articles/facebook-announces-apollo-qco...

HN readers, what do you think are Facebook's motivations for announcing Apollo at this point?

I'd guess that the engineers who are building it think it's cool and want to talk about it. Facebook seems to be generally open about their internal systems, presumably because they don't see it as their competitive advantage (unlike, say, Google).

Re: Facebook Announces Apollo, a New NoSQL Database for On-line Low Latency Storage

#7

One of their supported storage primitives is CRDT-based, according to [1]. I, for one, am really interested to see how this works in practice. I've been quite excited about CRDTs, but haven't seen enough examples of them in the wild to get a sense of their drawbacks — for instance, how difficult it is to use them to model various processes or data structures. [1] https://twitter.com/adrianco/status/476843040330743809

Do you know of a resource for learning the basics CRDTs that doesn't require a PHD?

Re: Facebook Announces Apollo, a New NoSQL Database for On-line Low Latency Storage

#8
post #6
post #5

Earlier quoted context omitted.

HN readers, what do you think are Facebook's motivations for announcing Apollo at this point?

I'd guess that the engineers who are building it think it's cool and want to talk about it. Facebook seems to be generally open about their internal systems, presumably because they don't see it as their competitive advantage (unlike, say, Google).

Google talks a fair bit about their internal systems at this level of "descriptions but not code" - Bigtable, MapReduce, Spanner, Flume, Chubby, and more have been influential.

Re: Facebook Announces Apollo, a New NoSQL Database for On-line Low Latency Storage

#9
post #7

One of their supported storage primitives is CRDT-based, according to [1]. I, for one, am really interested to see how this works in practice. I've been quite excited about CRDTs, but haven't seen enough examples of them in the wild to get a sense of their drawbacks — for instance, how difficult it is to use them to model various processes or data structures. [1] https://twitter.com/adrianco/status/476843040330743809

Do you know of a resource for learning the basics CRDTs that doesn't require a PHD?

The name is intimidating, but the operations are simple.

Basically, your storage has container types ("T"). A list, a set, a dictionary, etc. Container types can be split and added together in a distributed fashion ("R" and "D").

The "C" in CRDT stands for "Convergent and Commutative" to imply your distributed operations can obtain the same value when merged.

Quick example: If you have a node with a key pointing to value (set) [a, b, c] and another node with the same key but different value [c, e, f], then when the nodes communicate, they can do a set union for the actual result of [a, b, c, e, f]. Keys can keep a running log of recent operations to clean up the global result too (like: [c, e, (recently deleted f)], so on merge, if the other list has f, it would be deleted instead of re-added).

Before CRDTs were a thing, Bob made state box and it's very easy to understand. Give the README a read to understand more basics: https://github.com/mochi/statebox

Re: Facebook Announces Apollo, a New NoSQL Database for On-line Low Latency Storage

#10
post #8
post #6

Earlier quoted context omitted.

I'd guess that the engineers who are building it think it's cool and want to talk about it. Facebook seems to be generally open about their internal systems, presumably because they don't see it as their competitive advantage (unlike, say, Google).

Google talks a fair bit about their internal systems at this level of "descriptions but not code" - Bigtable, MapReduce, Spanner, Flume, Chubby, and more have been influential.

In fact, they do more than just talk: they often publish papers describing how they work. The open source community has since recreated a lot of them, which has proven useful to a lot of people (e.g. HBase, Hadoop, Apache Crunch, etc.)
Post reply on HN