By "explicitly stored" I mean that ADO.NET is used to load/save business
objects to/from SQL-Server db-tables.

By "implicitly stored" I mean that persistent business-objects implement
ISerializable and are stored in session-state. The state-server is either
implemented as an out-of-process RAM state-server, or an out-of-process
SQL-Server state-server.

An example of a temporary business-object is a shopping-cart collection of
items before the customer has committed to purchasing them.

An example of a permanent business-object is a shopping-cart colletion of
items after the customer has committed to purchasing them.

I have not built a highly scalable ASP.NET web-app, but it occurs to me
that:

1. accessing a DISC state-server (either explitly or implicitly) is much
slower than accessing a RAM state-server

2. a DISC state-server is effectively infinitely expandable

3. a RAM state-server is limited to the maximum RAM supported by the OS

Question: can special machines be built that exceed the basic OS RAM
maximum?
Question: is it possible to split a RAM state-server across multiple
machines?

There are 32 bit servers on the market that can hold 64 GB of RAM -
they are pricey, and you would need to run Windows 2003 Data Center
Edition to make use of the RAM. 64 bit servers can go even further.

Don't forget to factor in reliability when choosing between inproc and
database session storage.

On Thu, 17 Mar 2005 11:13:40 -0800, "John Grandy"
<johnagrandy-at-yahoo-dot-com> wrote:
>Could someone point me in the direction of good discussions on scalable
>state management solutions?
>
>Specifically, pros and cons of following strategies:
>
>Strategy 1 : temporary business-objects are implicitly stored in RAM,
>"permanent" business objects are explicitly stored in SQL-Server
>
>Strategy 2 : both temporary and permanent business-objects are implicitly
>stored in SQL-Server
>
>Strategy 3 : both temporary and permanent business-objects are explicity
>stored SQL-Server
>
>By "explicitly stored" I mean that ADO.NET is used to load/save business
>objects to/from SQL-Server db-tables.
>
>By "implicitly stored" I mean that persistent business-objects implement
>ISerializable and are stored in session-state. The state-server is either
>implemented as an out-of-process RAM state-server, or an out-of-process
>SQL-Server state-server.
>
>An example of a temporary business-object is a shopping-cart collection of
>items before the customer has committed to purchasing them.
>
>An example of a permanent business-object is a shopping-cart colletion of
>items after the customer has committed to purchasing them.
>
>I have not built a highly scalable ASP.NET web-app, but it occurs to me
>that:
>
>1. accessing a DISC state-server (either explitly or implicitly) is much
>slower than accessing a RAM state-server
>
>2. a DISC state-server is effectively infinitely expandable
>
>3. a RAM state-server is limited to the maximum RAM supported by the OS
>
>Question: can special machines be built that exceed the basic OS RAM
>maximum?
>Question: is it possible to split a RAM state-server across multiple
>machines?
>

Share This Page

Welcome to The Coding Forums!

Welcome to the Coding Forums, the place to chat about anything related to programming and coding languages.

Please join our friendly community by clicking the button below - it only takes a few seconds and is totally free. You'll be able to ask questions about coding or chat with the community and help others.
Sign up now!