Results 1 - 10
of
27
Vertical Partitioning Algorithms for Database Design
- ACM Transactions on Database Systems
, 1984
"... This paper addresses the vertical partitioning of a set of logical records or a relation into fragments. The rationale behind vertical partitioning is to produce fragments, groups of attribute columns, that “closely match ” the requirements of transactions. Vertical partitioning is applied in three ..."
Abstract
-
Cited by 75 (8 self)
- Add to MetaCart
This paper addresses the vertical partitioning of a set of logical records or a relation into fragments. The rationale behind vertical partitioning is to produce fragments, groups of attribute columns, that “closely match ” the requirements of transactions. Vertical partitioning is applied in three contexts: a database stored on devices of a single type, a database stored in different memory levels, and a distributed database. In a two-level memory hierarchy, most transactions should be processed using the fragments in primary memory. In distributed databases, fragment allocation should maximize the amount of local transaction process-ing. Fragments may be nonoverlapping or overlapping. A two-phase approach for the determination of fragments is proposed; in the first phase, the design is driven by empirical objective functions which do not require specific cost information. The second phase performs cost optimization by incorporating the knowledge of a specific application environment. The algorithms presented in this paper have been implemented, and examples of their actual use are shown. 1.
Data allocation in distributed database systems
- ACM Transactions on Database Systems
, 1988
"... The problem of allocating the data of a database to the sites of a communication network is investigated. This problem deviates from the well-known file allocation problem in several aspects. First, the objects to be allocated are not known a priori; second, these objects are accessed by schedules t ..."
Abstract
-
Cited by 61 (1 self)
- Add to MetaCart
The problem of allocating the data of a database to the sites of a communication network is investigated. This problem deviates from the well-known file allocation problem in several aspects. First, the objects to be allocated are not known a priori; second, these objects are accessed by schedules that contain transmissions between objects to produce the result. A model that makes it possible to compare the cost of allocations is presented, the cost can be computed for different cost functions and for processing schedules produced by arbitrary query processing algorithms. For minimizing the total transmission cost, a method is proposed to determine the fragments to be allocated from the relations in the conceptual schema and the queries and updates executed by the users. For the same cost function, the complexity of the data allocation problem is investigated. Methods for obtaining optimal and heuristic solutions under various ways of computing the cost of an allocation are presented and compared. Two different approaches to the allocation management problem are presented and their merits are discussed.
A Comprehensive Approach to Horizontal Class Fragmentation in a Distributed Object Based System
- International Journal of Distributed and Parallel Databases
, 1995
"... Optimal application performance on a Distributed Object Based System (DOBS) requires class fragmentation and the development of allocation schemes to place fragments at distributed sites so data transfer is minimized. Fragmentation enhances application performance by reducing the amount of irrele ..."
Abstract
-
Cited by 40 (6 self)
- Add to MetaCart
Optimal application performance on a Distributed Object Based System (DOBS) requires class fragmentation and the development of allocation schemes to place fragments at distributed sites so data transfer is minimized. Fragmentation enhances application performance by reducing the amount of irrelevant data accessed and the amount of data transferred unnecessarily between distributed sites. Algorithms for effecting horizontal and vertical fragmentation of relations exist, but fragmentation techniques for class objects in a distributed object based system are yet to appear in the literature. This paper first reviews a taxonomy of the fragmentation problem in a distributed object base. The paper then contributes by presenting a comprehensive set of algorithms for horizontally fragmenting the four realizable class models on the taxonomy. The fundamental approach is top--down, where the entity of fragmentation is the class object. Our approach consists of first generating primary horizontal fragments of a class based on only applications accessing this class, and secondly generating derived horizontal fragments of the class arising from primary fragments of its subclasses, its complex attributes (contained classes), and/or its complex methods classes.
A Mixed Fragmentation Methodology for Initial Distributed Database Design
, 1995
"... We define mixed fragmentation as a process of simultaneously applying the horizontal and vertical fragmentation on a relation. It can be achieved in one of two ways: by performing horizontal fragmentation followed by vertical fragmentation or by performing vertical fragmentation followed by horizont ..."
Abstract
-
Cited by 20 (2 self)
- Add to MetaCart
We define mixed fragmentation as a process of simultaneously applying the horizontal and vertical fragmentation on a relation. It can be achieved in one of two ways: by performing horizontal fragmentation followed by vertical fragmentation or by performing vertical fragmentation followed by horizontal fragmentation. The need for mixed fragmentation arises in distributed databases because database users usually access subsets of data which are vertical and horizontal fragments of global relations and there is a need to process queries or transactions that would access these fragments optimally. We present algorithms for generating candidate vertical and horizontal fragmentation schemes and propose a methodology for distributed database design using these fragmentation schemes. When applied together these schemes form a grid. This grid consisting of cells is then merged to form mixed fragments so as to minimize the number of disk accesses required to process the distributed transactions....
A Formal Approach to the Vertical Partitioning Problem in Distributed Database Design
- In Technical Report. CIS Dept, Univ. of
, 1993
"... The design of distributed databases is an optimization problem requiring solutions to several interrelated problems: data fragmentation, allocation, and local optimization. Each problem can be solved with several different approaches thereby making the distributed database design a very difficult ta ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
The design of distributed databases is an optimization problem requiring solutions to several interrelated problems: data fragmentation, allocation, and local optimization. Each problem can be solved with several different approaches thereby making the distributed database design a very difficult task. Although there is a large body of work on the design of data fragmentation, most of them are either ad hoc solutions or formal solutions for special cases (e. g., binary vertical partitioning). In this paper, we address the problem of n-ary vertical partitioning problem and derive an objective function that generalizes and subsumes earlier work. The objective function derived in this paper is being used for developing heuristic algorithms that can be shown to satisfy the objective function. The objective function is also being used for comparing previously proposed algorithms for vertical partitioning. We first derive an objective function that is suited to distributed transaction proces...
Low Overhead Concurrency Control for Partitioned Main Memory Databases
"... Database partitioning is a technique for improving the performance of distributed OLTP databases, since “single partition” transactions that access data on one partition do not need coordination with other partitions. For workloads that are amenable to partitioning, some argue that transactions shou ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
Database partitioning is a technique for improving the performance of distributed OLTP databases, since “single partition” transactions that access data on one partition do not need coordination with other partitions. For workloads that are amenable to partitioning, some argue that transactions should be executed serially on each partition without any concurrency at all. This strategy makes sense for a main memory database where there are no disk or user stalls, since the CPU can be fully utilized and the overhead of traditional concurrency control, such as two-phase locking, can be avoided. Unfortunately, many OLTP applications have some transactions which access multiple partitions. This introduces network stalls in order to coordinate distributed transactions, which will limit the performance of a database that does not allow concurrency. In this paper, we compare two low overhead concurrency control schemes that allow partitions to work on other transactions during network stalls, yet have little cost in the common case when concurrency is not needed. The first is a light-weight locking scheme, and the second is an even lighter-weight type of speculative concurrency control that avoids the overhead of tracking reads and writes, but sometimes performs work that eventually must be undone. We quantify the range of workloads over which each technique is beneficial, showing that speculative concurrency control generally outperforms locking as long as there are few aborts or few distributed transactions that involve multiple rounds of communication. On a modified TPC-C benchmark, speculative concurrency control can improve throughput relative to the other schemes by up to a factor of two.
Fragment Allocation in Distributed Database Design
- Journal of Information Science and Engineering
, 2001
"... On a Wide Area Network (WAN), fragment allocation is a major issue in distributed database design since it concerns the overall performance of distributed database systems. Here we propose a simple and comprehensive model that reflects transaction behavior in distributed databases. Based on the mode ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
On a Wide Area Network (WAN), fragment allocation is a major issue in distributed database design since it concerns the overall performance of distributed database systems. Here we propose a simple and comprehensive model that reflects transaction behavior in distributed databases. Based on the model and transaction information, two heuristic algorithms are developed to find a near-optimal allocation such that the total communication cost is minimized as much as possible. The results show that the fragment allocation found by the algorithms is close to being an optimal one. Some experiments were also conducted to verify that the cost formulas can truly reflect the communication cost in the real world.
Application-based Enhancement to Network-Layer Multicast
, 1998
"... nt and migration. At the application layer, the existence of network multicast does not guarantee that an application can take advantage of it. We demonstrate the adaptation of a traditionally unicast application -- database sharing -- to multicast, thus achieving scaling in network and processor pe ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
nt and migration. At the application layer, the existence of network multicast does not guarantee that an application can take advantage of it. We demonstrate the adaptation of a traditionally unicast application -- database sharing -- to multicast, thus achieving scaling in network and processor performance. For the transport layer, there is a growing consensus in the research community that relying on generic protocols can significantly reduce the efficiency of many applications. This effect seems to be even more pronounced for multicast transport protocols; consequently, protocols may need to be constructed for different types of applications iii to achieve increased efficiency. We propose a reliable multicast transport protocol tuned specifically for bulk-data applications, such as our multicast-adapted database sharing application. In developing this new transport protocol, we employ a synergy of new and existing techniques in multicast transport. We propose a new sender s
Measuring the Performance of Database Object Horizontal Fragmentation Schemes
- In Proceedings of the 3rd IEEE international database engineering and Applications Symposium (IDEAS99
, 1999
"... A horizontal fragment of a database class in an object-oriented database system contains subsets of its instance objects (or class extents) reflecting the way applications are accessing database objects. Allocating well-defined fragments of classes to distributed sites has the advantage of minimizin ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
A horizontal fragment of a database class in an object-oriented database system contains subsets of its instance objects (or class extents) reflecting the way applications are accessing database objects. Allocating well-defined fragments of classes to distributed sites has the advantage of minimizing transmission costs of data to remote sites as well as minimizing retrieval time of data needed locally. All algorithms so far proposed in the literature for defining horizontal fragments of database objects are based on information from earlier static requirements analysis. Thus, a re-fragmentation of the system is needed when application access and schema information have undergone sufficient changes. In this paper, we provide a technique for measuring the performance of object horizontal fragments placed at distributed sites. This work provides a platform for dynamic object horizontal fragmentation and for comparing object horizontal fragmentation schemes. Keywords: Object-oriented data...

