The simple data model provided by Bigtable is described, which gives clients dynamic control over data layout and format, and the design and implementation of Bigtable are described.
An efficient optimistic concurrency control scheme for use in distributed database systems in which objects are cached and manipulated at client machines while persistent storage and transactional support are provided by servers, which outperforms adaptive callback locking for low to moderate contention workloads, and scales better with the number of clients.
From such descriptions, the PADS compiler generates libraries and tools for manipulating the data, including parsing routines, statistical profiling tools, translation programs to produce well-behaved formats such as Xml or those required for loading relational databases, and Tools for running XQueries over raw PADS data sources.
Preliminary performance results indicate that Harp provides equal or better response time and system capacity than an unreplicated implementation of NFS that uses Unix files directly.
The results show that adaptive prefetching is very effective, improving both the elapsed time of traversals and the amount of space used in the client cache, and the cost of safe sharing can be negligible; thus it is possible to have both safety and high performance.
A new optimistic concurrency control scheme called AOCC ( Adaptive Optimistic Concurrency Control) is described and its performance is compared with that of ACBL (Adaptive-Granularity Callback Locking), the scheme shown to have the best performance in previous studies.
It is shown that to support modular programming and separate compilation there must be a mechanism for constraining the actual parameters of the routine or type, and a simple and powerful constraint mechanism is described and compared with constraint mechanisms in other languages in terms of both ease of use and semantic expressiveness.
Three techniques to address the challenges raised by providing disconnected operation in the Thor object-ortented database system are proposed: using the database query language for hoarding, using dependent commits to tentatively commit transactions at the disconnected client, and using the high-level semantic of objects to avoid transaction aborts.
The Ballista software testing technique is extended to test the exception-handling robustness of C++ ORB client-side application interfaces, and a probing method to harden object and pseudo-object related data types against exceptional inputs is proposed to improve ORB robustness.