26 . 1 Practical matters This is a never-ending process Minute precision billing Only apply once an hour Avoid over billing at all cost Avoid under billing (we need to eat!)
You are in a room full of overlapping cron jobs. You can hear the screams of a dying MySQL server. An Oracle vendor is here. To the West, a door is marked "Map/Reduce" To the East, a door is marked "Streaming"
59 . 1 60 . 1 Publish & Subscribe Messages are produced to topics Topics have a prede ned number of partitions Messages have a key which determines its partition
73 . 1 Avoiding double billing Reconciler acts as logical clock When supplying usage, attach a unique transaction ID Reject multiple transaction attempts on a single ID
75 . 1 What about batch Streaming doesn't work for everything Sometimes throughput matters more than latency Building models in batch, applying with stream processing