G-Store: A Scalable Data Store for Transactional Multi key Access in the Cloud by Sudipto Das, Divyakant Agrawal and Amr El Abbadi.
Cloud computing has emerged as a preferred platform for deploying scalable web-applications. With the growing scale of these applications and the data associated with them, scalable data management systems form a crucial part of the cloud infrastructure. Key-Value stores . such as Bigtable, PNUTS, Dynamo, and their open source analogues. have been the preferred data stores for applications in the cloud. In these systems, data is represented as Key-Value pairs, and atomic access is provided only at the granularity of single keys. While these properties work well for current applications, they are insufficient for the next generation web applications . such as online gaming, social networks, collaborative editing, and many more . which emphasize collaboration. Since collaboration by definition requires consistent access to groups of keys, scalable and consistent multi key access is critical for such applications. We propose the
Key Groupabstraction that defines a relationship between a group of keys and is the granule for on-demand transactional access. This abstraction allows the
Key Grouping protocolto collocate control for the keys in the group to allow efficient access to the group of keys. Using the
Key Grouping protocol, we design and implement
G-Storewhich uses a key-value store as an underlying substrate to provide efficient, scalable, and transactional multi key access. Our implementation using a standard key-value store and experiments using a cluster of commodity machines show that
G-Storepreserves the desired properties of key-value stores, while providing multi key access functionality at a very low overhead.
I encountered this while researching the intrusive keys found in: KitaroDB [intrusive-keyed database]
The notion of a key group that consists of multiple keys, assigned to a single node, seems similar to me to the collection of item identifiers in the TMDM (13250-2) post merging.
I haven’t gotten into the details but supporting collections of item identifiers on top of scalable key-value stores is an interesting prospect.
I created a category for G-Store but had to add “(Multikey)” because in looking for more details on it, I encountered another G-Store that you will be interested in.