apavlo/h-store — Issue #22: Improve MapReduce Transactions
Author: apavlo
Created: 2012-01-11 19:57:10+00:00
State: open
Labels: cs227

This project is to improve H-Store's current implementation of [MapReduce](http://hstore.cs.brown.edu/documentation/deployment/mapreduce/) transactions.

1. Add support for non-blocking Reduce execution. Currently the Reduce-phase of a MapReduce transaction is executed as a single-partition on each partition. This is unnecessary because the Reduce function only operates on the data generated from the Map function (i.e., it is not allowed to access the database). Thus, the Reduce function at each partition can offloaded

2. Implement dynamic snapshot serialization. I think that this is the only We cannot use the HyPer approach of forking the JVM because that it still does does not guarantee

3. Implement lazy Reduce processing

4. Improve support in the query planner for multi-aggregate queries.

```sql
SELECT ol_number, SUM(ol_amount), AVG(ol_quantitiy)
FROM order_line, item
WHERE order_line.ol_i_id item.i_id
GROUP BY ol_number ORDER BY ol_number
```