X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.2]) by svr1.postgresql.org (Postfix) with ESMTP id C5321D1B508 for ; Wed, 15 Oct 2003 08:28:39 +0000 (GMT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) with ESMTP id 08273-01 for ; Wed, 15 Oct 2003 05:28:10 -0300 (ADT) Received: from jamesr.best.vwh.net (jamesr.best.vwh.net [192.220.76.165]) by svr1.postgresql.org (Postfix) with SMTP id 9D4A5D1B4F2 for ; Wed, 15 Oct 2003 05:28:07 -0300 (ADT) Received: (qmail 95369 invoked by uid 19621); 15 Oct 2003 08:28:08 -0000 Received: from unknown (HELO ?192.168.123.100?) ([64.171.1.112]) (envelope-sender ) by 192.220.76.165 (qmail-ldap-1.03) with SMTP for ; 15 Oct 2003 08:28:08 -0000 User-Agent: Microsoft-Entourage/10.1.4.030702.0 Date: Wed, 15 Oct 2003 01:26:08 -0700 Subject: Re: Database Kernels and O_DIRECT From: James Rogers To: Message-ID: In-Reply-To: Mime-version: 1.0 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit X-Virus-Scanned: by amavisd-new at postgresql.org X-Archive-Number: 200310/719 X-Sequence-Number: 45401 On 10/14/03 11:31 PM, "James Rogers" wrote: > > There is some abstraction in Postgres and the database is well-written, but > it isn't written in a manner that makes it easy to swap out operating system > or API models. It is written to be portable at all levels. A database > kernel isn't necessarily required to be portable at the very lowest level, > but it is vastly more optimizable because you aren't forced into a narrow > set of choices for interfacing with the operating system. Just to clarify, my post wasn't really to say that we should run out and make Postgres use a database kernel type internal model tomorrow. The point of all that was that Oracle does things that way for a very good reason and that there can be benefits that may not be immediately obvious. It is really one of those emergent "needs" when a database engine gets to a certain level of sophistication. For smaller and simpler databases, you don't really need it and the effort isn't justified. At some point, you cross a threshold where not only does it become justified but it becomes a wise idea or not having it will start to punish you in a number of different ways. I personally think that Postgres is sitting on the cusp of "its a wise idea", and that it is something worth thinking about in the future. Cheers, -James Rogers jamesr@best.com