Frequently Asked Questions
The following FAQs relate to general product capabilities. See Support FAQs for general information about ScaleOut Software's support services.
Questions
- When will ScaleOut State Server be available for licensing?
- Does ScaleOut StateServer run under Linux/Unix?
- Does ScaleOut StateServer require the use of a DBMS?
- What type of data can I store in ScaleOut StateServer?
- What happens to my data if a server fails?
- Is redundant data stored on all servers in the farm?
- Do I have to change my ASP.NET application to take advantage of ScaleOut StateServer?
- Can I take a server offline for administration?
- Can I dynamically add a server to a server farm that is currently running?
- Can my custom C or C++ application access the ScaleOut StateServer object store?
- What network protocols are used to communicate among the servers?
- Is ScaleOut StateServer based on a proprietary object model?
- How much memory does ScaleOut StateServer require?
- How much network overhead is created by ScaleOut StateServer?
Answers
1. When will ScaleOut State Server be available for licensing? ScaleOut StateServer is available for licensing now. For information on evaluation and purchase please click here.
2. Does ScaleOut StateServer run under Linux/Unix? The initial release of ScaleOut StateServer is for Microsoft .NET. We expect to announce Linux/Unix support later this year.
3. Does ScaleOut StateServer require the use of a DBMS? No, ScaleOut StateServer runs completely in memory on all of the servers in the farm. The memory-based object store is automatically distributed across all active servers and is dynamically balanced across the farm as servers are added or removed. ScaleOut StateServer’s distributed data store eliminates the bottleneck created by a centralized DBMS and provides much faster response time by avoiding disk access and DBMS overhead. It also speeds up access by allowing simultaneously access to multiple data objects stored on different servers and performance scales as the farm grows.
4. What type of data can I store in ScaleOut StateServer? The software stores, reads, updates, and removes contiguous, opaque, binary data objects based on an identifying 128-bit key. These data objects either have been "serialized" from datasets or record sets that were previously accessed from a database or are generated as business logic objects. Stored objects can be uniformly accessed from any server in the farm.
5. What happens to my data if a server fails? When a computer fails or loses network connectivity, ScaleOut StateServer automatically retrieves its session objects from replicas stored on other servers in the farm, and it creates new replicas to maintain redundant storage. To ensure uninterrupted access, up to three copies of each stored object are maintained on different servers.
6. Is redundant data stored on all servers in the farm? In the case of 2 and 3 server farms, yes all session data is kept on all servers. For application or web farms with 4 or more servers, the data is automatically distributed across 3 of the servers. As servers are added and removed from the farm the farm automatically redistributes and balances the session state information across the farm on up to 3 servers.
7. Do I have to change my ASP.NET application to take advantage of ScaleOut StateServer? No application source code changes are required. ScaleOut StateServer transparently stores ASP.NET session state, providing a seamless environment for your ASP.NET applications.
8. Can I take a server offline for administration? Yes, by using the ScaleOut StateServer management console or command line interface, simply stop the ScaleOut Software service and the server will remove itself from the server farm. ScaleOut Software will automatically redistribute the memory-based object store among the remaining servers in the farm. No data is lost and your server is available for maintenance. The server may be easily brought back online after you have finished working offline.
9. Can I dynamically add a server to a server farm that is currently running? ScaleOut Software does self-discovery of servers within a farm so connecting the server to the network and enabling the ScaleOut Software service will initiate adding the server to the farm. When a new server is added to the farm, ScaleOut StateServer automatically integrates the server into the store and migrates a portion of the data to it. This technique, called load balancing, controls the amount of data that are stored and managed by each server in the farm. This ensures that each server handles an appropriate portion of the overall workload as determined by its memory capacity and CPU speed. You can specify the total amount of memory on each server to be used for storing data objects.
10. Can my custom C or C++ application access the ScaleOut StateServer object store? Yes, you can directly access ScaleOut StateServer’s distributed store from .NET and C/C++ applications using the application programming interfaces (API’s) supplied with the product. This gives you the flexibility you need to incorporate ScaleOut StateServer into your existing applications and delivers the highest possible performance. The .NET API’s support all .NET languages, including C#, C++, and Visual Basic. Additional API’s support stand-alone ("unmanaged code") C/C++ applications.
11. What network protocols are used to communicate among the servers? ScaleOut StateServer runs as a service on every server in the farm. The servers communicate via an optimized protocol on top of UDP. TCP doesn’t work because the socket closes on failure. Also, by using an optimized UDP-based protocol, a significant amount TCP overhead was avoided.
12. Is ScaleOut StateServer based on a proprietary object model? No, ScaleOut StateServer uses a simple "Create-Read-Update-Delete" API. It treats an object as a serialized stream of opaque (i.e. uninterrupted) binary data of specified length and identified by a user-defined 128-bit key.
13. How much memory does ScaleOut StateServer require?
The memory requirement of the ScaleOut StateServer service itself is less than 2MB. The service runs on each server in the farm.
The memory requirements for the objects in the store can be thought of as having three different components:
• First, there is the cumulative size of the objects themselves.
• Second, there is a small amount of storage information overhead for each object (similar to the overhead for any data storage mechanism and optimized within ScaleOut StateServer for minimal memory usage).
• Third, there is replication overhead. In a two server farm, there is a master and one copy of each object. In a server farm with more than two servers, there is a master and two copies of each object.
14. How much network overhead is created by ScaleOut StateServer? The network traffic is on the “backend” network and does not affect Web site performance. The traffic is similar to that created in clustered DBMS replication operations. In addition, ScaleOut StateServer uses a lightweight communication protocol to minimize traffic.
If you have any further questions, please contact us at info@scaleoutsoftware.com.
|