Data-structure dynamization is a general approach for making static data structures dynamic. It is used extensively in geometric settings and in the guise of so-called merge (or compaction) policies in big-data databases such as Google Bigtable and LevelDB (our focus). Previous theoretical work is based on worst-case analyses for uniform inputs -- insertions of one item at a time and constant read rate. In practice, merge policies must not only handle batch insertions and varying read/write ratios, they can take advantage of such non-uniformity to reduce cost on a per-input basis. To model this, we initiate the study of data-structure dynamization through the lens of competitive analysis, via two new online set-cover problems. For each, the input is a sequence of disjoint sets of weighted items. The sets are revealed one at a time. The algorithm must respond to each with a set cover that covers all items revealed so far. It obtains the cover incrementally from the previous cover by adding one or more sets and optionally removing existing sets. For each new set the algorithm incurs build cost equal to the weight of the items in the set. In the first problem the objective is to minimize total build cost plus total query cost, where the algorithm incurs a query cost at each time $t$ equal to the current cover size. In the second problem, the objective is to minimize the build cost while keeping the query cost from exceeding $k$ (a given parameter) at any time. We give deterministic online algorithms for both variants, with competitive ratios of $\Theta(\log^* n)$ and $k$, respectively. The latter ratio is optimal for the second variant.
翻译:数据结构驱动是使静态数据结构动态的一种一般方法。 它被广泛用于几何设置和大数据数据库中所谓的合并(或压缩)政策, 如谷歌大相和水平DB(我们的重点) 。 先前的理论工作是基于对统一输入的最坏情况的分析 -- 一次插入一个项目,同时以恒定读率进行。 在实践中, 合并政策不仅必须处理批次插入和不同的读/ 字比率, 它们可以利用这种非统一性来降低人均投入的成本比率。 为了模型, 我们通过两个新的在线设置覆盖问题, 通过竞争分析的镜头, 开始对数据结构驱动率进行所谓的合并( 或压缩) 政策的研究。 对于每一个输入都是基于对统一输入的最坏情况的分析 -- -- 一次插入一个项目, 一次插入一个项目, 一次插入一个包含覆盖所有披露如此远的所有项目的一套覆盖。 它从先前的覆盖中逐渐增加一个或更多的套件, 并选择删除现有各套。 对于每一个新设置的算法, 将总成本等于美元, 美元 的计算总成本 和每个目标 成本 的计算成本 的计算 。 的计算是 。 。 在每个计算中, 我们的计算中, 最低成本 成本 的计算中, 的合计的总和总和成本 成本 成本 的计算是 的比 的 成本 成本 成本 成本 成本 的 的计算 的计算 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 成本 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的