Developing fast, scalable applications for server farms and HPC compute grids can be a big challenge. Applications must consistently deliver fast response times, and performance has to scale seamlessly as the farm grows to handle ever increasing load. Developers have discovered that the key to reaching their performance goals is to use distributed caching and in-memory data grids (IMDGs). This keeps rapidly accessed, fast-changing data close to where it's needed and globally accessible across the farm. These characteristics both maximize performance and simplify design.
With its blazing performance, comprehensive development APIs, and self-managing features, ScaleOut StateServer provides the leading in-memory data grid solution available today. ScaleOut StateServer® delivers fast access times that outperform all "out of process" storage alternatives, and its throughput scales without bottleneck to handle the largest application loads. Its tightly integrated, self-managing architecture makes it easy to use and lets you keep your focus on application development.
The following paragraphs explain what ScaleOut StateServer does and how it can help you reach your performance and availability goals.
Scalable In-Memory Data Grid
ScaleOut StateServer runs as a distributed, software service on every Web or application server in your server farm to store data objects in memory and make them globally accessible across the farm within its IMDG. These data objects contain serialized program data, such as Web session data, business logic objects, and data retrieved from a database server. Stored objects can be accessed from any client connected to the data grid, and the grid enables simultaneous access by different clients to data objects stored on different grid servers.
Once installed, ScaleOut StateServer automatically balances the amount of storage used by each server in the grid, adjusting the relative usage by each server as needed to scale throughput and maintain fast response times. As new servers running ScaleOut StateServer are added to the in-memory data grid, they automatically expand its storage capacity and performance. When a new server is added to the grid, ScaleOut StateServer automatically integrates the server into the grid and migrates a portion of the data to it.
ScaleOut StateServer's scalable, IMDG delivers the fastest possible access time of all "out of process" data storage solutions, including database servers and stand-alone caching servers. Performance tests have shown that ScaleOut StateServer quickly outpaces its competitors in repeatedly accessing stored data.
What really sets ScaleOut StateServer apart is its ability to scale both its storage capacity and throughput as the data grid grows to handle additional load. ScaleOut StateServer is designed from the inside out to scale every aspect of its performance and to avoid bottlenecks that limit scalability. Tests confirm that its throughput linearly scales to keep access times low as servers are added to the in-memory data grid. This lets the grid deliver the highest possible performance while simultaneously keeping unnecessary access loads off of database servers.
Patented Technology for High Availability
High availability of cached data is essential for mission-critical applications. ScaleOut StateServer ensures that grid-based data is never lost - even if a grid server fails - by replicating all stored objects on up to two additional servers. If a server goes offline or loses network connectivity, ScaleOut StateServer automatically retrieves its objects from replicas stored on other servers in the grid, and it creates new replicas as necessary to maintain redundant storage. To avoid the "split brain" problems of traditional master/slave replication schemes, ScaleOut StateServer employs patented technology for performing quorum-based updates, which guarantees that replicated objects always have the latest data.
ScaleOut StateServer also uses a patent-pending, scalable heartbeat protocol that quickly and efficiently detects server failures without flooding the network with heartbeat packets. Heartbeat failures automatically trigger ScaleOut StateServer's "self-healing" technology, which quickly restores access to grid data, restores full redundancy, and dynamically rebalances the storage load across the in-memory data grid.
To simplify application development and keep management costs low, ScaleOut StateServer automatically handles all aspects of data replication and recovery. Its intelligent replication architecture is specifically designed to maintain high performance and scalable storage as the IMDG grows. Internal caching of recently accessed data objects on each client and grid server keeps data close to the application and avoids the need to configure replication schemes for performance tuning. ScaleOut StateServer lets you keep your focus on application development and not on the details of distributed data storage.
ScaleOut StateServer employs a wide array of self-managing features which make installation quick and keep your management costs low. IT managers easily can configure and control ScaleOut StateServer from any server in the grid or from a remotely connected workstation using its easy to use GUI console or a command line control program. These management tools provide complete control over ScaleOut StateServer's configuration and operations, notify of configuration changes and failures, and display comprehensive performance information.
The command-line program provides all of the capabilities of the management console with individual commands that can be run from a command prompt or incorporated into command-line scripts.
The optional, Windows-based ScaleOut Object Browser, provided as part of the ScaleOut Management Pack™, lets IT managers directly browse data stored within the in-memory data grid. This gives developers and administrators a unique new means of accessing the contents of the data grid, including both metadata and serialized data for individual objects. The Management Pack also contains the ScaleOut Parallel Backup and Restore Utility for saving and restoring data stored in the grid to and from the file system. This utility delivers extremely high performance, and its unique, fully parallel architecture ensures that backup/restore operations never become a bottleneck as the grid grows to handle large volumes of data.
Java, .NET, and C/C++ applications can directly access ScaleOut StateServer's distributed cache using comprehensive application programming interfaces (APIs) supplied with the product. These APIs provide simple, straightforward access to the distributed store to:
- store serialized data objects identified by a 256-bit key,
- read previously stored data objects,
- update previously stored data objects, and
- remove data objects from the store.
ScaleOut StateServer incorporates extensive and flexible data grid features that give you the flexibility you need to build powerful server farm and HPC compute grid applications, including:
- separate namespaces for groups of logically related objects,
- distributed object locking that synchronizes access by multiple clients and threads,
- optional object expiration after sliding or fixed timeouts, LRU memory reclamation, or object dependency changes,
- scalable, highly available asynchronous event handling,
- optional, "in process" caching of recently accessed, deserialized data,
- transparent access to a database server or other backing store, and
- fully parallel query of grid data.
Parallel Data Analysis
ScaleOut Analytics Server™ offers powerful new technology for analyzing data stored in the data grid. Called parallel method invocation (PMI), this feature lets developers easily implement "map/reduce" semantics to operate on cached data. PMI inverts traditional access by automatically pushing the user's computational logic to every node in the grid, thus eliminating the need to move cached data between compute servers at runtime. By automatically performing an application's map and reduce methods across all caching servers, PMI automatically scales performance and reduces network traffic, while dramatically simplifying development time. ScaleOut Analytics Server uses patent-pending technology to ensure that PMI delivers scalable performance with integrated high availability.
Server farm and HPC compute grid applications have the potential to deliver the performance and scalability required to handle fast-growing, mission-critical workloads. ScaleOut StateServer's in-memory data grid lets you unlock this potential by always keeping fast-changing data where it's needed by your application. ScaleOut StateServer can give your application a big performance boost while carefully protecting your grid-based data. Perhaps best of all, ScaleOut StateServer makes IMDGs easy to use and straightforward to manage.
If your application only uses ASP.NET session-state and does not require ScaleOut StateServer's comprehensive APIs, consider starting with ScaleOut SessionServer™ and later upgrading to ScaleOut StateServer as your needs evolve.
Please refer to the Product Matrix for a quick comparison of the features included in each version of our products.