Optimizing Distributed Read Operations in VoltDB
From the post:
Many VoltDB applications, such as gaming leader boards and real-time analytics, use multi-partition procedures to compute consistent global aggregates (and other interesting statistics). It’s challenging to efficiently process distributed reads operations, especially for performance sensitive applications. Based on feedback from our users, we in VoltDB engineering have been enhancing the VoltDB SQL planner over the last few releases to improve this capability.
Executing global aggregates efficiently requires calculating sub-results at each partition replica and combining the sub-results at a coordinating partition to produce the final result. For example, to calculate a total sum, the VoltDB planner should produce a sub-total at each partition and then sum the sub-totals at the coordinator node. All of this work must be transparent to the application, of course.
Hmmm, “global aggregates,” doesn’t that sound familiar? I realize here is means summing up the number of “kills,” “votes,” etc., simple number stuff but in principal, what you return and how you sum it I would think is application specific. Yes?