Using Memory-Based NoSQL Data Structures to Eliminate the Network Bottleneck
In today's data centers, the network has become the bottleneck. A key challenge for storage systems, including both databases and NoSQL stores, is how to minimize network traffic when accessing and updating stored data. Standard data access APIs place the burden of implementing data structures on the client and thereby exacerbate data motion between clients and servers.
In contrast, implementing data structures within a storage system can dramatically streamline communication since only incremental changes to stored data need to be transferred. However, building server-based data structures creates several challenges, including how to make this mechanism easy to use, secure, and extensible.
In-memory data grids (IMDGs) have been widely used as distributed, key-value stores for serialized objects, providing blazingly fast data access, location transparency, scalability, and integrated high availability.
Redis has pioneered the use of memory-based, data-structure stores with its support for built-in data structures, such as hashed sets and lists, to provide functionality similar to stored procedures in databases.
This talk describes exciting new techniques which use the power of IMDGs to generalize this concept and enable the straightforward creation of extensible, user-defined data structures held within an IMDG. This session will explore how IMDGs can implement user-defined data structures by leveraging their NoSQL, object-oriented, data-parallel data model.
We will also discuss techniques that lets applications define object-oriented methods which execute within the IMDG to implement a user-defined data structure. Other techniques extends this approach for scalability by distributing stored data across the IMDG's cluster of servers and performing data-parallel operations across the distributed data structure. Several examples will be described that demonstrate both the power of this approach and its ability to reduce network congestion.
Dr. William L. Bain is Founder & CEO of ScaleOut Software, Inc. and holds a Ph.D. in electrical engineering from Rice University. Bill has contributed to advancements in parallel computing at Bell Labs research, Intel, and Microsoft, and holds several patents in computer architecture and distributed computing.
Bill founded and ran three start-up companies prior to founding ScaleOut Software in 2003. His previous company, Valence Research, developed and distributed Web load-balancing software and was acquired by Microsoft Corporation. As a member of the screening committee for the Seattle-based Alliance of Angels, Bill is actively involved in entrepreneurship and the angel community. Bill is also a regular speaker at conferences around the world.