> We are running a set of web applications that are getting more and more > popular. Of course this means that our current hardware is just not enough. > I had this idea that to really be scalable, we should have *everything* in > RAM (which is cheap) and use a DB just for permanent storage (disks can be > very very slow). When any data is accessed it is first checked from RAM > cache and only if it does not already exist there will the db be used (any > subsequent calls would then use the cached data). Updating would just update > the cache and it could even be a separate async/idle process to persist that > cache into db. > > How does this kind of idea sound? And more importantly, where to begin? Are > there any frameworks that could make this kind of application development > easier?
cache what you already have processed. Most developers have no clue what to cache, they focus on caching calls to the db for example, which isn't what's going to work, you should cache processed results, i.e. whole pages or parts of pages. Below I've linked to two articles on slashdot about their setup. It isn't directly applicable as in: they use perl and not asp.net, but you will get a lot of ideas how things should be done. http://meta.slashdot.org/article.pl?sid=07/10/18/1641203 (/.'s hardware setup) http://meta.slashdot.org/article.pl?sid=07/10/22/145209 (/.'s software setup) FB =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com