
On Tue, 27 Apr 2004, Tomasz Zielonka wrote:
On Mon, Apr 26, 2004 at 08:43:44PM -0400, ajb@spamcop.net wrote:
I would note, in addition, that they don't have that many pages indexed on a single machine. Almost nobody has a database with that many records on a single machine, even those who have clusters of 64 bit machines.
It seems I qualify as almost nobody, cause I've had a database with more than 2^34 records on a single IA32 machine. However, I wouldn't ever think of loading the entire database to RAM.
Why not? Its only 17gb. If you are doing any substantive volume of transactions on that database* you may be better off storing the database in memory than buying the multiple CPUs and reliable RAID arrays you need to serve it off disk. A Dell PowerEdge 4600 w/ 24gb of memory and a write-caching controller w/ 6 36GB harddrives (RAID0 state,logging,status) costs around $34k. http://www1.us.dell.com/content/products/compare.aspx/tower?c=us&cs=555&l=en&s=biz Using e.g. a Prevayler style in memory logged data structures** you may be able to serve >100,000 queries/second. (see e.g. http://www.prevayler.org/wiki.jsp?topic=ScalabilityTestResults) To achieve just 500 queries/second using MaxDB (SAP-DB from MySQL) requires apparently 61!! App servers. (http://www.mysql.com/products/maxdb/benchmarks.html) Calculating the cost of this much hardware is left as an exercise for the reader, but, even ignoring the hardware costs here, you are also paying for rackspace and system administration to keep this many servers operating. -Alex- * OTOH, if this is just your personal mail archive then nevermind :- ) ** Finishing off a Haskell variant of this concept that also handles side-effects correctly right now. It is part II of the rdbms, appserver, web/mail server triad that I plan to use for a variety of different web apps. _________________________________________________________________ S. Alexander Jacobson mailto:me@alexjacobson.com tel:917-770-6565 http://alexjacobson.com