Hello, (especially Mr. Jonathan Gray, Facebook folks),
I'm sorry for mentioning particular people in a public ML.
I saw the following note from Facebook that says Facebook chose HBase, not
Cassandra, as the storage for the next messaging infrastructure.
http://www.facebook.com/notes/facebook-engineering/the-underlying-technology-of-messages/454991608919
I'm glad to see this news because I believe that HBase will be used more
broadly than Cassandra and recommended HBase to my boss and colleagues.
(However, I understand Cassandra has unique good features.)
I'd like to know why Facebook, the creator of Cassandra, did not choose
Cassandra. The above note only describes the reason in one sentence:
"We found Cassandra's eventual consistency model to be a difficult pattern
to reconcile for our new Messages infrastructure."
What kind of operations/features of the new Message didn't Cassandra work
well for? Counting message, users or something like that because Cassandra
needs ZooKeeper to count things correctly? Otherwise, eventual consistency
leads to the undesirable situation where newer messages could appear in the
inbox without older ones appearing? I'd appreciate if you could share your
concrete experience/opinions and let us know when HBase fits better or
Cassandra is difficult to adopt.
Anyone's opinions or guesses will be appreciated.
Best regards,
- Maumau