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. This increases performance for sites that have regular transactions involving certain views of data, whilst maintaining availability and security.
Horizontal partitioning (also see shard) involves putting different rows into different tables. Perhaps customers with ZIP codes less than 50000 are stored in CustomersEast, while customers with ZIP codes greater than or equal to 50000 are stored in CustomersWest. The two partition tables are then CustomersEast and CustomersWest, while a view with a union might be created over both of them to provide a complete view of all customers.
Vertical partitioning involves creating tables with fewer columns and using additional tables to store the remaining columns. Normalization is a process that inherently involves vertical partitioning. Different physical storage might be used to realize vertical partitioning as well; storing infrequently used or very wide columns on a different device, for example, is a method of vertical partitioning. Done explicitly or implicitly, this type of partitioning is called "row splitting". A common form of vertical partitioning is to split (slow to find) dynamic data from (fast to find) static data in a table where the dynamic data is not used as often as the static. Creating a view across the two newly created tables restores the original table with a performance penalty, however performance will increase when accessing the static data e.g. for statistical analysis.
zipcodehas a value between
79999. List partitioning : A partition is assigned a list of values. If the partitioning key has one of these values, the partition is chosen. For example all rows where the column
Denmarkcould build a partition for the Nordic countries. Hash partitioning : The value of a hash function determines membership in a partition. Assuming there are four partitions, the hash function could return a value from 0 to 3.
Composite partitioning allows for certain combinations of the above partitioning schemes, by for example first applying a range partitioning and then a hash partitioning. Consistent hashing could be considered a composite of hash and list partitioning where the hash reduces the key space to a size that can be listed.
US Patent Issued to Hitachi on Aug. 2 for "Database Recovery Method Applying Update Journal and Database Log" (Japanese Inventors)
Aug 08, 2011; ALEXANDRIA, Va., Aug. 8 -- United States Patent no. 7,991,749, issued on Aug. 2, was assigned to Hitachi Ltd. (Tokyo). "Database...
US Patent Issued to International Business Machines on Aug. 2 for "Database Log Capture That Publishes Transactions to Multiple Targets to Handle Unavailable Targets by Separating the Publishing of Subscriptions and Subsequently Recombining the Publishing" (California Inventors)
Aug 07, 2011; ALEXANDRIA, Va., Aug. 7 -- United States Patent no. 7,991,745, issued on Aug. 2, was assigned to International Business Machines...
US Patent Issued to Computer Associates Think on Jan. 3 for "System and Method for Variable Block Logging with Log-Ahead Buffers" (Texas Inventor)
Jan 09, 2012; ALEXANDRIA, Va., Jan. 9 -- United States Patent no. 8,090,691, issued on Jan. 3, was assigned to Computer Associates Think Inc....