Dynamic clustering algorithm
maintains a list of candidate (multi-attributes) hash tables with their Benefits.
is called periodically (e.g. every 100 events):
1-When the benefit of a table H is:
1.a above a given threshold ? create the table
1.b under a given threshold ? delete table, redistribute H clusters
2-when the benefit margin of a cluster C is:
2.a above a given threshold T ? redistribute C in existing tables.
2.b Still above T ? update benefits of candidate tables.