Received: from localhost (unknown [200.46.204.183]) by developer.postgresql.org (Postfix) with ESMTP id 40C002E0068 for ; Tue, 17 Jun 2008 11:06:40 -0300 (ADT) Received: from developer.postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 20133-06-5 for ; Tue, 17 Jun 2008 11:06:27 -0300 (ADT) Received: from news.hub.org (news.hub.org [200.46.204.72]) by developer.postgresql.org (Postfix) with ESMTP id 688272E004C for ; Tue, 17 Jun 2008 11:06:32 -0300 (ADT) Received: from news.hub.org (news.hub.org [200.46.204.72]) by news.hub.org (8.14.1/8.14.1) with ESMTP id m5HE6PBe021943 for ; Tue, 17 Jun 2008 11:06:25 -0300 (ADT) (envelope-from news@news.hub.org) Received: (from news@localhost) by news.hub.org (8.14.1/8.14.1/Submit) id m5HDd367091829 for pgsql-performance@postgresql.org; Tue, 17 Jun 2008 10:39:03 -0300 (ADT) (envelope-from news) From: "Lionel" X-Newsgroups: pgsql.performance Subject: Which hardware ? Date: Tue, 17 Jun 2008 15:38:59 +0200 Organization: Hub.Org Networking Services Lines: 44 Message-ID: X-Complaints-To: usenet@news.hub.org X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.3138 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 X-RFC2646: Format=Flowed; Original To: pgsql-performance@postgresql.org X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200806/70 X-Sequence-Number: 30420 Hi, I need to install a 8.3 database and was wondering which hardware would be sufficient to have good performances (less than 30s forē slowest select). Database size: 25 Go /year, 5 years of history One main table containing 40 million lines per year. Batch inserts of 100000 lines. Very very few deletes, few updates. 30 other tables, 4 levels of hierarchy, containing from 10 lines up to 20000 lines. 5 of them have forein keys on the main table. I will use table partitionning on the year column. Statements will mainly do sums on the main table, grouped by whatever column of the database (3-5 joined tables, or join on join), with some criterions that may vary, lots of "joined varchar in ('a','b',...,'z')". It's almost impossible to predict what users will do via the webapplication that queries this database: almost all select, join, group by, where... possibilities are available. Up to 4 simultaneous users. I'm planning to host it on a quad xeon 2.66Ghz with 8Go of DDR2, and a dual (RAID1) SATA2 750Go HD. Perharps with another HD for indexes. Do you think it will be enough ? Is another RAID for better performances a minimum requirement ? Will a secondary HD for indexes help ? Which OS would you use ? (knowing that there will be a JDK 1.6 installed too) With 5 millions of lines, the same application runs quite fast on windows 2000 on a single P4 2.8 GHz (very few statements last more than 10s, mostly when concurrent statements are made). Each statement consumes 100% of the CPU. thanks for advices.