ScaleOut Product Comparison

Compare the features available in ScaleOut Software’s products.

SessionServer™

ScaleOut

SessionServer™

StateServer®

ScaleOut

StateServer®

hServer®

ScaleOut

hServer®

ComputeServer®

ScaleOut

ComputeServer®

Architecture

In-Memory Sessions

In-Memory Data Grid

In-Memory Hadoop

In-Memory Computation

Fully Peer-to-Peer

ScaleOut’s IMDG architecture uses a symmetric, peer-to-peer design. By avoiding the use of a “master” node, common file share, or database for configuration information, this architecture scales seamlessly without bottlenecks and eliminates single points of control or failure.

Linear Scalability

ScaleOut’s IMDG automatically scales its throughput as servers are added to the server farm, compute grid, or cloud to handle additional client load. This enables ScaleOut to handle very large workloads, and it keeps response times fast under all loads.

Self Organizing, Fully Integrated, Easy to Use

ScaleOut’s IMDG self-organizes by automatically discovering available servers and adding them to the grid. No configuration steps are required to set up grid membership, failover mechanisms, data partitioning, or client-side caching. Once running, ScaleOut automatically load-balances objects across the grid, detects when servers are added or removed, and automatically rebalances object load after membership changes are made.

Auto Failure Detection & Recovery for High Availability

If a server or network failure occurs, the IMDG detects the outage and removes the affected server from the grid’s membership. Because ScaleOut automatically stores replicas for all grid objects, no data is lost. The IMDG self-heals by creating new object replicas as necessary to maintain high availability for stored data, and it automatically rebalances objects across the remaining servers to ensure maximum access performance.

Scalable, Highly Available "Everything"

ScaleOut’s architecture is designed to transparently scale all grid operations and make them highly available. In addition to linear performance scaling for accessing grid objects, all other features such as distributed locking, event processing, load-balancing, geographic replication, parallel computation, and backup/restore are implemented within a common architecture so that they are both scalable and highly available.

Multi-Platform Support

By using a fast, C-based implementation of its server architecture, ScaleOut delivers fast, predictable performance on both Linux-based and Windows operating systems. Servers and client systems running 64-bit Linux and Windows can be mixed within the same data grid. Also, a mix of 32-bit and 64-bit clients can be used within the same grid.

Available in the Cloud

ScaleOut is available in public clouds. Cloud versions offer all the functionality of on-premise versions. ScaleOut’s management tools make cloud deployment easy and fast. With ScaleOut GeoServer®’s global data integration, on-premise and cloud-based data grids can be combined to operate as a single, virtual data grid spanning multiple data centers.

ScaleOut

SessionServer™

ScaleOut

StateServer®

ScaleOut

hServer®

ScaleOut

ComputeServer®

IMDG Features

In-Memory Sessions

In-Memory Data Grid

In-Memory Hadoop

In-Memory Computation

Support For Live Data

ScaleOut’s IMDG is designed to handle live, fast-changing, operational data. Using its comprehensive APIs (see below), applications can quickly create, read, update, delete, query, and analyze objects in the IMDG to meet the needs of real-time applications.

Object Storage & Load Balancing

The IMDG stores data objects as serialized data, accessed by a string-based or 256-bit numerical key value and partitioned into namespaces. Objects are dynamically load-balanced across grid servers to maximize performance and eliminate “hot spots.” Rebalancing is automatic at all times, including when servers are added, removed, or fail.

Coherent Client-Side ("Near") Caching

The IMDG includes a fully coherent cache of recently accessed objects within the memory of client applications. This cache operates transparently to client applications and speeds up access times for repeated reads to nearly in-process latency by avoiding network transfer and deserialization delays. ScaleOut automatically maintains the coherency of all client caches with respect to changes to data hosted in the grid.

LRU-Based Memory Eviction

ScaleOut lets applications control the amount of memory consumed by the data grid by evicting the least recently used objects after a settable memory threshold is reached. Event notifications are delivered to the application when objects are evicted, and selected objects can be exempted from removal.

Authorization

ScaleOut provides two mechanisms for authorizing access to name spaces within the IMDG. A preconfigured mechanism checks the application’s current login name against a list of authorized login names; this mechanism also authorizes either read/write access or read-only access. In addition, an extensible authorization policy, which lets an application connect to an external authorization server, can be implemented using ScaleOut’s APIs.

Transparent Session-State Storage

Web session-state objects can be transparently stored in ScaleOut’s IMDG on Linux for Java J2EE Servlets and on Windows ASP.NET Web farms using Microsoft’s standard session-state provider model. Configuration requires only a simple one-line change to the application’s web.config file. If session-state storage is your only requirement, check out ScaleOut SessionServer.

ASP.NET Output Cache Provider

ScaleOut’s ASP.NET Output Cache Provider enables ScaleOut StateServer’s IMDG to store ASP.NET output cache data when using ASP.NET 4.0 or higher. Optional settings allow sharing output cache entries between multiple ASP.NET applications, specifying timeout values, defining exception handling, and more.

Distributed Locking API

ScaleOut integrates both optimistic and pessimistic distributed locking into its storage APIs to enable applications to coordinate access to cached objects. Distributed locking can be used for individual objects or enabled for automatic use across a name space of objects.

Named Cache Storage API

The Named Cache API is the primary way to store objects in the in-memory data grid. This API lets developers  easily organize and manage groups of objects as collections within a single name space. It is designed to handle complex objects and provide rich functionality, such as property-oriented query, dependency relationships, timeouts, distributed locking, backing store and remote store access, bulk insert, and more. APIs are provided for Java, C#, C/C++, and REST.

Asynchronous API methods for .NET

Data access and query APIs that use .NET’s async/await semantics for asynchronous programming. Enables .NET developers to integrate grid-access and query APIs into applications which make use of .NET’s asynchronous programming model and thereby take full advantage of multicore processing power. Significantly increases performance for many applications and integrates ScaleOut’s APIs with the latest .NET architectural features.

Named Map Storage API

The Named Map API is designed to efficiently store large populations of very small objects, minimize the amount of metadata associated with each object, and enable fast, pipelined analysis (such as MapReduce). Objects stored in a named map can be queried in parallel and can be cached in the client using user-adjustable coherency policies. For fast loading and updating of key/value data, the Named Map provides bulk insert and bulk update functions. The Java version of the Named Map API implements Java’s Concurrent Map semantics. The .NET version of the Named Map API implements .NET’s ConcurrentDictionary with extensions for parallel query and data-parallel analysis.

Bulk Insertion of Objects

ScaleOut APIs include a bulk-insert method for efficiently adding groups of objects into the data grid with maximum throughput. This API uses a heavily multithreaded implementation to enable the grid to be quickly loaded with application data.

Custom Serialization

To keep application development as simple as possible, ScaleOut automatically uses the standard binary formatters for both Java and .NET applications. Users also can implement their own custom or third-party serializers to further optimize access performance or to add data encryption and compression.

Object Timeouts & Expirations API

ScaleOut provides a rich set of mechanisms for expiring cached objects. Objects can be expired based on fixed or sliding timeouts.

Object Dependencies API

To help manage the lifetimes of object groups, objects can have hierarchical dependency relationships with other objects in the IMDG. If an object is configured to be dependent on a parent object, it will automatically be removed from the store when its parent is updated or removed from the IMDG.

Scalable Event Handling

Client applications can be asynchronously notified of object expiration  or grid updates using a scalable and highly available event handling architecture. To maximize scalability, ScaleOut’s IMDG automatically load-balances event delivery across multiple client processes and resends events as necessary if a client process unexpectedly exits.

Backing Store API

Applications can easily integrate the data grid with a backing store, such as a database server, file system, or publish/subscribe messaging system. A rich set of capabilities let the user choose the appropriate policy for keeping the grid in sync with a backing store. Two synchronous access policies (read-through and write-through) enable tight integration, and two asynchronous access policies (periodic refresh-ahead and write-behind) provide an efficient alternative for signalling changes to grid-based data.

AppFabric Caching Compatibility Library

A source-code compatible, drop-in replacement for Microsoft’s Windows Server AppFabric (WSAF) Caching APIs. Allows enterprises using AppFabric Caching to preserve their legacy application code and switch seamlessly to ScaleOut StateServer without making code changes. Includes comprehensive PowerShell cmdlets to manage the distributed cache.

Hibernate Support

ScaleOut can be used as a second-level cache provider for NHibernate.

ScaleOut

SessionServer™

ScaleOut

StateServer®

ScaleOut

hServer®

ScaleOut

ComputeServer®

Analytics / Computing Features

In-Memory Sessions

In-Memory Data Grid

In-Memory Hadoop

In-Memory Computation

Parallel Query

For maximum query performance, ScaleOut performs fully parallel queries across all grid servers and employs patent-pending technology to ensure that query operations are both highly available and scalable. Java applications can structure property-based queries using composable filter methods with logical and comparison operators. A full implementation of .NET’s Language Integrated Query (LINQ) enables C# applications to structure queries using SQL-like semantics. To minimize lookup times, ScaleOut StateServer’s client libraries automatically extract selected properties, and grid servers store them as indexed, deserialized data during object updates. Parallel query is supported for both Named Cache and Named Map APIs for ScaleOut StateServer and ScaleOut Compute Server, and for the Named Map API on ScaleOut hServer.

Invoke Filter Query

Invoke filter methods extend property-based query APIs for both Java and C# to enable applications to run data-parallel methods which can perform advanced analysis to select objects within a parallel query. Invoke filter methods eliminate the restrictions imposed by standard query techniques and harness the power of data-parallel computation to implement much deeper query analysis. In C#, invoke filters are integrated into Microsoft LINQ as extension methods which simplify program structure.

Distributed Merging (Combining)

Distributed merging accelerates the delivery of analysis results to a requesting client. This mechanism spans the IMDG and rapidly combines the results of a parallel analysis performed on all grid servers and makes use of a specified merge algorithm supplied by the application.

Hadoop MR Execution Engine, Hive & YARN

ScaleOut’s Hadoop MapReduce engine is a standalone, in-memory implementation of Hadoop MapReduce functionality. The execution engine emulates the Hadoop MapReduce APIs, enabling it to execute standard Hadoop code and output the same results as the Apache and other Hadoop MapReduce implementations. To accelerate performance, it eliminates batch scheduling, optimizes several aspects of MapReduce processing, and efficiently distributes tasks to the grid servers. Because its Hadoop MapReduce engine is integrated with ScaleOut’s IMDG, it can analyze live, fast-changing, memory-based data in real-time. ScaleOut hServer can serve as an alternative MapReduce execution framework within a Hadoop YARN cluster, running MapReduce applications with significantly lower execution times and zero code changes.ScaleOut hServer also runs Apache Hive queries using its fast, in-memory execution engine, thereby accelerating execution and enabling query of in-memory data.

Stream Data from HDFS

With ScaleOut hServer, MapReduce applications can be connected to an HDFS data source and input data sets for processing by the MapReduce engine. This enables ScaleOut hServer to be used for analytics on data sets hosted within HDFS. Likewise, output from MapReduce applications can be sent directly to HDFS or to the IMDG for storage.

HDFS Distributed Cache

ScaleOut hServer can speed access times to HDFS by capturing and storing data from HDFS during MapReduce processing. On subsequent Hadoop MapReduce runs, ScaleOut hServer verifies that the HDFS data set has not changed and then supplies key/value pairs to the mappers directly from the IMDG’s fast, memory-based storage. MapReduce results can be written back to HDFS or optionally to the IMDG.

SimpleMR

SimpleMR APIs simplify and streamline MapReduce applications by avoiding the need for standard Hadoop libraries. These APIs are integrated directly into the in-memory compute engine and in-memory data grid to deliver extremely fast execution times. SimpleMR eliminates the need to install and reference Hadoop MapReduce libraries from standard distributions in order to run in-memory, data-parallel computations with MapReduce semantics. These APIs are available for both Java and C#, and enable .NET applications to run in-memory MapReduce.

Parallel Method Invocation

ScaleOut Compute Server provides a powerful mechanism for analyzing grid-based data in parallel across all grid servers to deliver fast results. Based on the standard, data-parallel programming model developed for high performance computing, Compute Server executes a user-defined analysis method in parallel on a queried set of objects and then combines the results using a user-defined merge method. Called “parallel method invocation,” this technique automatically harnesses the computing power of the grid’s multiple servers, processors, and cores and minimizes data motion between grid servers. The user-defined methods also are very simple to write because no special code is needed, and data is automatically retrieved from the IMDG for analysis.

Distributed ForEach

An operator for data-parallel computing modeled after the Parallel.ForEach API in the .NET Task Parallel Library. Instead of just operating on a local, in-process data collection, this operator transparently runs in parallel across a distributed, in-memory data grid to handle much larger data sets than otherwise possible. Delivers fast, scalable performance and avoids unnecessary garbage collection. Integration with LINQ query allows selected data to be processed. ScaleOut’s in-memory compute engine ships assemblies containing application logic to all servers.

Single Method Invocation

To complement parallel method invocation, ScaleOut Compute Server includes the capability to analyze specific data objects within the IMDG. Called “single method invocation,” this mechanism lets C# and Java applications invoke user-defined methods on specified objects, supply parameters to the invocation, and efficiently receive the method’s analysis results. SMI also can be used to implement analyses of column-oriented data with minimum data motion.

Distributed Push-based Notifications API for .NET (Preview)

Based on .NET’s iObservable interface and compatible with the widely used Reactive Extensions library, this API lets applications use the scalable power of ScaleOut’s in-memory data grid and compute engine to process push-based notifications. ScaleOut’s fully distributed implementation lets applications scale the throughput of real-time event processing by transparently distributing notifications across an in-memory data grid. The use of .NET’s iObservable interface makes this API familiar and accessible to developers.

ScaleOut

SessionServer™

ScaleOut

StateServer®

ScaleOut

hServer®

ScaleOut

ComputeServer®

Management

In-Memory Sessions

In-Memor Data Grid

In-Memory Hadoop

In-Memory Computation

Management Console

With its graphical interface, the Windows-based ScaleOut Management Console is designed to simplify management operations while providing a comprehensive view of all servers within the data grid. The management console can be used to remotely configure and control each grid server and perform global management operations. Access by remote clients and access to remote stores can be configured and managed. Membership and status reporting provide instant notification of server failures or membership changes, and graphical tools chart the grid’s performance and identify hot spots in grid accesses. When the ScaleOut Management Pack option is licensed, the management console can be used to control parallel backup and restore operations. A Web-based management console also is available for use on Linux systems. Both the Windows and the Web-based consoles can be used to manage both Windows and Linux IMDGs.

Command Line Control

A command-line control program and scripting tool enables system administrators to perform all control operations and track the configuration and status of ScaleOut’s IMDG.

PowerShell Management Cmdlets

Allows developers and administrators to interact with ScaleOut StateServer’s distributed, in-memory data grid using .NET’s PowerShell scripting environment on Windows systems. IT administrators familiar with .NET’s PowerShell can easily create scripts to automate deployment and management of an in-memory data grid.  PowerShell cmdlets can perform all functions provided by the ScaleOut Management Console and command-line management tool.

Remote Management

Using the ScaleOut Management Console, Web-based console, and command-line control program, all grid servers can be managed from any workstation which has network access to the in-memory data grid.

Automatic, On-the-fly Adding/Removal of Servers

A grid server can be added or removed at any time without interrupting grid operations or loss of data. After membership changes, the IMDG automatically rebalances objects stored on each grid server to redistribute the workload.

Grid Heat Map

The ScaleOut Management Console contains a visualization tool that provides a graphical picture of the grid’s status so that administrators can instantly determine the availability of stored data on a region-by-region basis. This tool instantly shows how access to data is affected by high request rates, dynamic load-balancing, and server outages.

Performance Charting and Counters

The ScaleOut Management Console includes real-time performance charting that graphs key performance metrics for the IMDG on both a grid-wide and a per-server basis. This charting capability enables IT managers and developers to quickly pinpoint performance issues. These performance metrics are also available as performance counters displayed by the Perfmon utility on Microsoft Windows systems.

Object Browser (optional with ScaleOut Management Pack)

The ScaleOut Object Browser is a unique graphical tool for analyzing and managing objects stored in the IMDG. The Object Browser lets users view IMDG data, including both metadata and serialized data for individual Java and .NET objects, as well as deserialized data for .NET objects. The Object Browser is highly useful as an aid to development by enabling developers to verify the contents of the IMDG. It also can perform management operations such as searching the grid and clearing objects.  

Parallel Backup/Restore API (optional with ScaleOut Management Pack)

Using the Parallel Backup and Restore Utility, users can quickly backup or restore all or a selected portion of the IMDG’s contents to the file system. The utility’s fully parallel architecture can make use of the file systems on all grid servers in parallel to deliver the fastest possible backup/restore times. Backups can be performed while the grid is active, enabling snapshots of the grid’s contents to be captured for later analysis. A graphical user interface integrated into the ScaleOut Management Console makes backups and restores easy to initiate and monitor.

WAN Replication for Disaster Recovery (with ScaleOut GeoServer DR)

Using ScaleOut GeoServer DR, updates to stored objects automatically can be replicated to in-memory data grids at up to eight remote sites. This enables multiple data centers to share fast-changing workloads and stay fully protected against site-wide failures. ScaleOut GeoServer DR employs all grid servers when replicating data to transparently scale its replication bandwidth as servers are added to the data grid and to maintain high availability after server failures.

Global Data Integration (with ScaleOut GeoServer)

The ScaleOut GeoServer option enables applications to transparently access stored objects hosted on remote ScaleOut in-memory data grids. ScaleOut GeoServer’s “pull access mode” allows objects to be shared across a wide area network of in-memory data grids as a single, virtual, globally accessible data grid. User definable coherency policies enable applications to minimize WAN accesses as needed. ScaleOut GeoServer also implements distributed locking and automatic object migration across multiple IMDGs to enable applications to globally synchronize access to data objects.

ISO 19770-2 Software Tagging on Windows

The ISO 19770 standard assists with IT asset management in organizations incorporating the ISO/IEC 19770-2 for identifying software assets using software tags. ScaleOut Software’s Windows installer now incorporates an ISO 19770-2 software tag. Integrates with standardized software inventory tracking and management systems.

ScaleOut

SessionServer™

ScaleOut

StateServer®

ScaleOut

hServer®

ScaleOut

ComputeServer®

Product Options

In-Memory Sessions

In-Memory Data Grid

In-Memory Hadoop

In-Memory Computation

ScaleOut Management Pack

The ScaleOut Management Pack option provides the Object Browser and the Parallel Backup/Restore features described above as well as access to ScaleOut’s management APIs for building custom management tools.

Remote Client

The ScaleOut Remote Client option enables client applications to connect to the in-memory data grid from networked systems. Once a remote client initially has been configured with a list of gateway addresses for the grid servers, it automatically connects to the IMDG even if one or more servers are offline. If a grid server fails or is taken offline, client applications and management tools automatically re-establish a connection as necessary to other servers in the in-memory data grid. Likewise, if a new grid server is added, remote client applications automatically detect the new server and communicate with it. In addition, the Remote Client option minimizes access times by automatically tracking the location of grid objects and ensuring that applications directly connect to the grid server that hosts a requested object.

ScaleOut GeoServer DR

The ScaleOut GeoServer DR option replicates IMDG updates to remote data centers across a wide area network for disaster recovery, as described above.

ScaleOut GeoServer

The ScaleOut GeoServer option provides both the WAN replication and global data integration features described above.

Try ScaleOut for free

Use the power of in-memory computing in minutes on Windows or Linux.

Try for Free

Not ready to download?
CONTACT US TO LEARN MORE