Concepts inOptimal splitters for database partitioning with size bounds

Partition (database)

A partition is a division of a logical database or its constituting elements into distinct independent parts. Database partitioning is normally done for manageability, performance or availability reasons. A popular and favourable application of partitioning is in a distributed database management system. Each partition may be spread over multiple nodes, and users at the node can perform local transactions on the partition.
more from Wikipedia

Beam splitter

1 - Incident light 2 - 50% Transmitted light 3 - 50% Reflected light]] See also: Diffractive beam splitter A beam splitter is an optical device that splits a beam of light in two. It is the crucial part of most interferometers. In its most common form, a rectangle, it is made from two triangular glass prisms which are glued together at their base using polyester, epoxy, or urethane-based adhesives.
more from Wikipedia

Binary heap

A binary heap is a heap data structure created using a binary tree. It can be seen as a binary tree with two additional constraints: The shape property: the tree is a complete binary tree; that is, all levels of the tree, except possibly the last one (deepest) are fully filled, and, if the last level of the tree is not complete, the nodes of that level are filled from left to right.
more from Wikipedia

Sorting algorithm

In computer science, a sorting algorithm is an algorithm that puts elements of a list in a certain order. The most-used orders are numerical order and lexicographical order. Efficient sorting is important for optimizing the use of other algorithms that require sorted lists to work correctly; it is also often useful for canonicalizing data and for producing human-readable output.
more from Wikipedia

Data set

A data set (or dataset) is a collection of data, usually presented in tabular form. Each column represents a particular variable. Each row corresponds to a given member of the data set in question. It lists values for each of the variables, such as height and weight of an object. Each value is known as a datum. The data set may comprise data for one or more members, corresponding to the number of rows.
more from Wikipedia

Precomputation

In algorithms, precomputation is the act of performing an initial computation before run time to generate a lookup table that can be used by an algorithm to avoid repeated computation each time it is executed. Precomputation is often used in algorithms that depend on the results of expensive computations that don't depend on the input of the algorithm.
more from Wikipedia

Bipartite graph

In the mathematical field of graph theory, a bipartite graph (or bigraph) is a graph whose vertices can be divided into two disjoint sets U and V such that every edge connects a vertex in U to one in V; that is, U and V are independent sets. Equivalently, a bipartite graph is a graph that does not contain any odd-length cycles.
more from Wikipedia