1 DryadLINQ, FlumeJava
Similar “distributed collection” API, but cannot reuse datasets efficiently across queries
2 Relational databases
Lineage/provenance, logical logging, materialized views
3 GraphLab, Piccolo, BigTable, RAMCloud
Fine-grained writes similar to distributed shared memory
4 Iterative MapReduce (e.g. Twister, HaLoop)
Implicit data sharing for a fixed computation pattern
5 Caching systems (e.g. Nectar)
Store data in files, no explicit control over what is cached
Similar “distributed collection” API, but cannot reuse datasets efficiently across queries
2 Relational databases
Lineage/provenance, logical logging, materialized views
3 GraphLab, Piccolo, BigTable, RAMCloud
Fine-grained writes similar to distributed shared memory
4 Iterative MapReduce (e.g. Twister, HaLoop)
Implicit data sharing for a fixed computation pattern
5 Caching systems (e.g. Nectar)
Store data in files, no explicit control over what is cached