apavlo / h-store

H-Store Distributed Main Memory OLTP Database System
https://hstore.cs.brown.edu
GNU General Public License v3.0
563 stars 177 forks source link

Eventually Consistent Queries #24

Open apavlo opened 12 years ago

apavlo commented 12 years ago

Although H-Store guarantees that all transactions are ACID, it may be the case that not all components of a transaction need to be executed immediately.

  1. Create a new annotation that can be attached to SQLStmts to denote that they can be executed asynchronously at runtime.
  2. Update the VoltCompiler to check whether each SQLStmt has this flag set, and if so then set the "asynchronous" flag in the Statement catalog object.
  3. At runtime, VoltProcedure will need to check whether a queued SQLStmt is asynchronous, and therefore can be added to the PartitionExecutor's "idle work" queue.

The students will measure the runtime performance of the system for certain workloads, such as TPC-C's NewOrder`, but with and without the asynchronous feature to see the performance difference.

apavlo commented 11 years ago

@ambell implemented the initial version of this in the spring semester (see documentation). The next step is to generate a calculator that is invoked in the VoltCompiler to automatically determine when to mark Statements int the catalog as deferrable.