J
John Grandy
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?
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?