Joe Hellerstein's Databeta
databeta.wordpress.com · Personal blog · on HN since 2009
Joe Hellerstein, a database researcher, writes about distributed systems, consistency, declarative languages and big data systems.
What HN saysHN commenters link it for the Anna key-value store, the Dedalus logic language behind Eve, and a post comparing Hadoop and Greenplum hardware use.
21HN people shared it
9linked it in comments
20stories submitted
333story points
8 years agolast shared
2009people per year2026
Most-shared posts
- 1Anna: A Crazy Fast, Super-Scalable, Flexibly Consistent KVS7 people · 12 points · first shared 2018 · 2 comments on HN
- 2Dedalus, a declarative language for programming distributed systems3 people · 24 points · first shared 2010 · discussion on HN
- 3The CALM Conjecture: Reasoning about Consistency3 people · 2 points · first shared 2010 · discussion on HN
- 4Quantifying Eventual Consistency via Probabilistically Bounded Staleness2 people · 13 points · first shared 2012 · 1 comments on HN
- 5Anna: A Fast, Scalable, Flexibly Consistent Key-Value Store1 people · 228 points · first shared 2018 · 71 comments on HN
- 6MapReduce Online (and some gimmes)1 people · 22 points · first shared 2009 · 1 comments on HN
- 7Is Teaching MapReduce Healthy For Students?1 people · 7 points · first shared 2011 · discussion on HN
- 8MADlib goes beta: Serious in-database analytics1 people · 6 points · first shared 2011 · discussion on HN
- 9Significant Update to Anna1 people · 3 points · first shared 2018 · discussion on HN
- 10Debugging Distributed Programs with Blazes1 people · 3 points · first shared 2014 · discussion on HN
- 11A History of Postgres1 people · 3 points · first shared 2019 · discussion on HN
- 12Serverless Computing: One Step FW, Two Steps Back1 people · 2 points · first shared 2018 · 1 comments on HN
- 13Diverging views on Big Data density, and some gimmes1 people · 2 points · first shared 2009 · 2 comments on HN
- 14An Overview of the CALM Theorem1 people · 2 points · first shared 2019 · discussion on HN
- 15The death of the OS?1 people · 2 points · first shared 2010 · discussion on HN
What HN people wrote when they linked it
Rauchg · 2018-08-17
Haven't read the papers yet, but it immediately reminds me of Anna:
https://databeta.wordpress.com/2018/03/09/anna-kvs/
zzzcpan · 2018-03-22
Not just aggregating writes, but merging them.
It seems that high load high scale solutions [1] [2] start to converge on this idea of merging updates and eventual consistency.
[1] https://arxiv.org/pdf/1708.06423.pdf
[2] https://databeta.wordpress.com/2018/03/09/anna-kvs/
Liron · 2016-11-22
Check out this 2009 research paper that Eve is based on; it's an important new extension to logic programming: https://databeta.wordpress.com/2010/01/05/introducing-dedalus/
Also please let me know what you think about Part II (coming later this week). It's all about logic programming and CQRS.
bayareaguy · 2009-10-19
I'm still astonished about this post[1] showing Hadoop MapReduce using 40x as much hardware as Greenplum MapReduce.
1- See http://databeta.wordpress.com/2009/05/14/bigdata-node-density/
oftenwrong · 2018-09-10
pbailis · 2012-03-02
Right; you need some notion of a total order or commutativity in your update functions. f(A,B) = f(B,A). "Last writer wins" is one example of commutativity, but that isn't often what you want.
What you want is something like a "Commutative Replicated Data Type" [1], where you define a commutative function specific to your application. Libraries like StateBox allow you to build CRDTs [2]. In fact, your example of document editing was one of the areas where these ideas first came up.
There's also a theorem saying that if your program is "logically monotonic"--that is, if your data only "grows" in size, and facts never change from True to False or vice versa--then your program will work under eventual consistency without modification [3].
Finally, bank accounts have to employ eventual consistency. Banks demand availability from their ATMs and give up consistency to handle partition tolerance: your ATM will still work even if you sever its network connection. However, banks, unlike a lot of software, have well-defined compensation protocols for handling inconsistency. For example, they'll charge you for negative balances left in your account via overdraft fees.
[1] http://arxiv.org/pdf/0710.1784.pdf
[2] http://labs.mochimedia.com/archive/2011/05/08/statebox/
[3] http://databeta.wordpress.com/2010/10/28/the-calm-conjecture-reasoning…
pdbne · 2011-10-13
I'm not sure if you're trolling here:
> The CAP theorem has been beaten.
> As you are about to see, a system like this not only beats the CAP theorem, but annihilates it.
The CAP theorem states that you can't have all three of strong consistency, partition tolerance, and availability at once. This is a proven fact (http://www.cs.cornell.edu/courses/cs6464/2009sp/papers/brewer.pdf).
I don't see how your proposed system provides strong consistency. Eventual consistency is not strong consistency. Let's pretend the HDFS deployment in your batch workflow is partitioned from the rest of the system: sorry, but you won't be able to get strongly consistent data from it, and you'll have to either read stale data or simply block until the partition ends. This is pedantic, the CAP theorem is pretty specific.
Now, if you're saying something about the eventual consistency of logically monotonic facts in the system (see the CALM conjecture, now theorem: http://databeta.wordpress.com/2010/10/28/the-calm-conjecture-reasoning… which I think you are, then I agree that you have a system providing (even provable) eventual consistency. The basic idea is that if code is logically monotonic, meaning the set of facts it operates on continues to grow over time, then it will obey eventual consistency properties. If I'm not mistaken, your notion of "immutable data" is equivalent to restricting programs to operate on logically monotonic data (in your examples, this is…
espeed · 2018-11-09
The primary author is Joseph Hellerstein, head of the Berkeley RISELab (the new Spark/AMPLap). Their primary project is called Fluent (which until recently was called Anna [4])...it's the all encompassing name changes that get ya! ;-)
Similarly, see Matei Zaharia's (the original Spark lead) and his team at MIT (he's now at Stanford) SIGMOD 2018 paper called MISTIQUE [4]...
[1] Joe Hellerstein https://github.com/jhellerstein
[2] Berkeley RISELab https://rise.cs.berkeley.edu https://github.com/ucbrise
[3] Fluent Compute Platform https://github.com/fluent-project/fluent
[3] Anna: A Crazy Fast, Super-Scalable, Flexibly Consistent KVS https://databeta.wordpress.com/2018/03/09/anna-kvs/ Discussion: https://news.ycombinator.com/item?id=16551072
[4] MISTIQUE: A System to Store and Query Model Intermediates for Model Diagnosis
https://cs.stanford.edu/~matei/papers/2018/sigmod_mistique.pdf
roller · 2018-05-11
I assume Lineage Driven Fault Injection stuff [1] has some overlap with Eve's ability to tell you "Why is this blank?": The datalog model allows you to find the logical dependencies of results.
Some other bloom related links:
- Anna KVS[2] showed up recently on hacker news[3] and morning paper[4]
- Lasp lang is in the same space[5], Christopher Meiklejohn has a comparison with bloom[6]
[1]: https://disorderlylabs.github.io/#
[2]: https://databeta.wordpress.com/2018/03/09/anna-kvs/
[3]: https://news.ycombinator.com/item?id=16551072
[4]: https://blog.acolyer.org/2018/03/27/anna-a-kvs-for-any-scale/
[5]: https://lasp-lang.readme.io/
[6]: http://christophermeiklejohn.com/lasp/2018/03/02/lasp-vs-bloom.html