summaryrefslogtreecommitdiffstats
path: root/chapters/dynamization.tex
diff options
context:
space:
mode:
Diffstat (limited to 'chapters/dynamization.tex')
-rw-r--r--chapters/dynamization.tex41
1 files changed, 20 insertions, 21 deletions
diff --git a/chapters/dynamization.tex b/chapters/dynamization.tex
index a2277c3..bbd5534 100644
--- a/chapters/dynamization.tex
+++ b/chapters/dynamization.tex
@@ -6,16 +6,14 @@ existing work in the area of data structure dynamization. We will
first discuss the concept of a search problem, which is central to
dynamization techniques. While one might imagine that restrictions on
dynamization would be functions of the data structure to be dynamized,
-in practice the requirements placed on the data structure are quite mild,
-and it is the necessary properties of the search problem that the data
-structure is used to address that provide the central difficulty to
-applying dynamization techniques in a given area. After this, database
-indices will be discussed briefly. Indices are the primary use of data
-structures within the database context that is of interest to our work.
-Following this, existing theoretical results in the area of data structure
-dynamization will be discussed, which will serve as the building blocks
-for our techniques in subsequent chapters. The chapter will conclude with
-a discussion of some of the limitations of these existing techniques.
+in practice the requirements placed on the data structure are quite mild.
+Instead, the central difficulties to applying dynamization lie in the
+necessary properties of the search problem that the data structure is
+intended to solve. Following this, existing theoretical results in the
+area of data structure dynamization will be discussed, which will serve
+as the building blocks for our techniques in subsequent chapters. The
+chapter will conclude with a discussion of some of the limitations of
+these existing techniques.
\section{Queries and Search Problems}
\label{sec:dsp}
@@ -517,11 +515,12 @@ an efficient merge operation isn't of much use in the equal block method,
which doesn't perform data structure merges, and so it isn't considered in
the above definition.\footnote{
In the equal block method, all reconstructions are due to either
- inserting a record, in which case the reconstruction consists of
- adding a single record to a structure, not merging two structures,
- or due to re-partitioning, occurs when $f(n)$ increases sufficiently
- that the existing structures must be made \emph{smaller}, and so,
- again, no merging is done.
+ inserting a record or repartitioning of the records. In the former
+ case, the reconstruction pulls records from only a single structure
+ and merging is not possible. In the latter, records may come from
+ multiple structures, but the structures are not merged and only some
+ of the records from each are used. In either case, merging is not
+ useful as an optimization.
}
\subsection{Delete Support}
@@ -596,8 +595,8 @@ from the ghost structure can be removed from the result set using the
inverse merge operator. This simulates the result that would have been
obtained had the records been physically removed from the main structure.
-Two examples of invertible search problems are set membership
-and range count. Range count was formally defined in
+Two examples of invertible search problems are range count and set
+membership. Range count was formally defined in
Definition~\ref{def:range-count}.
\begin{theorem}
@@ -863,12 +862,12 @@ the records in the structure.
Overmars and van Leeuwen~\cite{overmars81, overmars83} proposed an
alteration to the Bentley-Saxe method that is capable of bringing the
-worst-case insertion cost in in line with amortized, $I(n) \in \Theta
+worst-case insertion cost in line with amortized, $I(n) \in \Theta
\left(\frac{B(n)}{n} \log n\right)$. To accomplish this, they introduce
a structure that is capable of spreading the work of reconstructions
out across multiple inserts. Their structure consists of $\log_2 n$
levels, like the Bentley-Saxe method, but each level contains four data
-structures, rather than one,called $Oldest_i$, $Older_i$, $Old_i$, $New_i$
+structures, rather than one, called $Oldest_i$, $Older_i$, $Old_i$, $New_i$
respectively.\footnote{
We are here adopting nomenclature used by Erickson in his lecture
notes on the topic~\cite{erickson-bsm-notes}, which is a bit clearer
@@ -884,7 +883,7 @@ additionally appear in a new structure as well.
When inserting into this structure, the algorithm first examines every
level, $i$. If both $Older_{i-1}$ and $Oldest_{i-1}$ are full, then the
algorithm will execute $\frac{B(2^i)}{2^i}$ steps of the algorithm
-to construction $New_i$ from $\text{unbuild}(Older_{i-1}) \cup
+to construct $New_i$ from $\text{unbuild}(Older_{i-1}) \cup
\text{unbuild}(Oldest_{i-1})$. Once enough inserts have been performed
to completely build some block, $New_i$, the source blocks for the
reconstruction, $Oldest_{i-1}$ and $Older_{i-1}$ are deleted, $Old_{i-1}$
@@ -1165,7 +1164,7 @@ form of configurability~\cite{pgm,almodaresi23}, usually inspired by
the design space of LSM trees~\cite{oneil96}, but the full consequences
of this parametrization in the context of dynamization have, to the
best of our knowledge, not been explored. We will discuss this topic
-in Chapter~\ref{chap:design-space}
+in Chapter~\ref{chap:design-space}.
\subsection{Insertion Tail Latency}
\label{ssec:bsm-tail-latency-problem}