How to scale transactional storage systems

Applications of the future will need to support large numbers of clients and will require scalable storage systems that allow state to be shared reliably. Recent research in distributed file systems provides technology that increases the scalability of storage systems. But file systems only support sharing with weak consistency guarantees and can not support applications that require transactional consistency. The challenge is how to provide scalable storage systems that support transactional applications.We are developing technology for scalable transactional storage systems. Our approach combines scalable caching and coherence techniques developed in serverless file systems and DSM systems, with recovery techniques developed in traditional databases. This position paper describes the design rationale for split caching, a new scalable memory management technique for network-based transactional object storage systems, and fragment reconstruction, a new coherence protocol that supports fine-grained sharing.

[1]  Liuba Shrira,et al.  Opportunistic log: efficient installation reads in a reliable storage server , 1994, OSDI '94.

[2]  Sanjay Ghemawat,et al.  The Modified Object Buffer: A Storage Management Technique for Object-Oriented Databases , 1995 .

[3]  Miron Livny,et al.  Global Memory Management in Client-Server Database Architectures , 1992, VLDB.

[4]  Robert Gruber,et al.  Efficient optimistic concurrency control using loosely synchronized clocks , 1995, SIGMOD '95.

[5]  J. O'Toole,et al.  Shared data management needs adaptive methods , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).

[6]  Michael Dahlin,et al.  Cooperative caching: using remote client memory to improve file system performance , 1994, OSDI '94.

[7]  Jeanna Neefe Matthews,et al.  Serverless network file systems , 1996, TOCS.

[8]  Anna R. Karlin,et al.  Implementing global memory management in a workstation cluster , 1995, SOSP.

[9]  Miron Livny,et al.  Data caching tradeoffs in client-server DBMS architectures , 1991, SIGMOD '91.

[10]  M. Franklin,et al.  Global Memory Management in Client-Server DBMS Architectures , 1992 .

[11]  Michael J. Carey,et al.  Fine-grained sharing in a page server OODBMS , 1994, SIGMOD '94.

[12]  Jeffrey S. Chase,et al.  Integrating coherency and recoverability in distributed systems , 1994, OSDI '94.

[13]  Peter Honeyman,et al.  Multi-level Caching in Distributed File Systems or Your cache ain't nuthin' but trash , 1992 .

[14]  David J. DeWitt,et al.  Implementing crash recovery in QuickStore: a performance study , 1995, SIGMOD '95.

[15]  Miguel Castro,et al.  Safe and efficient sharing of persistent objects in Thor , 1996, SIGMOD '96.

[16]  Robert E. Gruber,et al.  Optimism vs. locking: a study of concurrency control for client-server object-oriented databases , 1997 .