Received: from maia.hub.org (maia-5.hub.org [200.46.204.29]) by mail.postgresql.org (Postfix) with ESMTP id F2B646325EA for ; Wed, 30 Jun 2010 14:06:35 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.29]) (amavisd-maia, port 10024) with ESMTP id 68187-10 for ; Wed, 30 Jun 2010 17:06:28 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pw0-f46.google.com (mail-pw0-f46.google.com [209.85.160.46]) by mail.postgresql.org (Postfix) with ESMTP id 775E76324A1 for ; Wed, 30 Jun 2010 14:06:27 -0300 (ADT) Received: by pwj8 with SMTP id 8so360891pwj.19 for ; Wed, 30 Jun 2010 10:06:26 -0700 (PDT) Received: by 10.115.135.32 with SMTP id m32mr10115392wan.47.1277917586579; Wed, 30 Jun 2010 10:06:26 -0700 (PDT) Received: from Craig-Jamess-MacBook-Pro.local ([70.167.124.126]) by mx.google.com with ESMTPS id s5sm75375370wak.12.2010.06.30.10.06.23 (version=SSLv3 cipher=RC4-MD5); Wed, 30 Jun 2010 10:06:24 -0700 (PDT) Message-ID: <4C2B798E.70606@emolecules.com> Date: Wed, 30 Jun 2010 10:06:22 -0700 From: Craig James User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.10) Gecko/20100512 Thunderbird/3.0.5 MIME-Version: 1.0 To: pgsql-performance@postgresql.org Subject: Re: PostgreSQL as a local in-memory cache References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-0.5 tagged_above=-10 required=5 tests=BAYES_05=-0.5, RCVD_IN_DNSWL_NONE=-0.0001 X-Spam-Level: X-Archive-Number: 201006/529 X-Sequence-Number: 39385 On 6/30/10 9:42 AM, Dave Crooke wrote: > I haven't jumped in yet on this thread, but here goes .... > > If you're really looking for query performance, then any database which > is designed with reliability and ACID consistency in mind is going to > inherently have some mis-fit features. > > Some other ideas to consider, depending on your query mix: > > 1. MySQL with the MyISAM database (non-ACID) > > 2. Put an in-application generic query cache in front of the DB, that > runs in the app address space, e.g. Cache' if using Java > > 3. Using a DB is a good way to get generic querying capability, but if > the "where" clause in the querying is over a small set of meta-data, and > SQL syntax is not a big requirement, consider non-RDBMS alternatives, > e.g. use XPath over a W3C DOM object tree to get primary keys to > in-memory hash tables (possibly distributed with something like memcached) These would be good suggestions if the "throwaway" database was the only one. But in real life, these throwaway databases are built from other databases that are NOT throwaway, where the data matters and ACID is critical. In other words, they'll probably need Postgres anyway. Sure, you could use both Postgres and MySQL/ISAM, but that means installing and maintaining both, plus building all of the other application layers to work on both systems. Craig