X-Original-To: pgsql-performance-postgresql.org@localhost.postgresql.org Received: from localhost (av.hub.org [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id 3677B52A98 for ; Thu, 18 Aug 2005 11:46:56 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 19925-08 for ; Thu, 18 Aug 2005 14:46:53 +0000 (GMT) Received: from sccmmhc91.asp.att.net (sccmmhc91.asp.att.net [204.127.203.211]) by svr1.postgresql.org (Postfix) with ESMTP id 43ABC52A6E for ; Thu, 18 Aug 2005 11:46:50 -0300 (ADT) Received: from juju.arbash-meinel.com ([12.214.18.81]) by sccmmhc91.asp.att.net (sccmmhc91) with ESMTP id <20050818144653m9100g61s9e>; Thu, 18 Aug 2005 14:46:53 +0000 Received: by juju.arbash-meinel.com (Postfix, from userid 505) id C47D655FAD; Thu, 18 Aug 2005 09:46:52 -0500 (CDT) Received: from [192.168.1.12] (Jigglypuff.arbash-meinel.com [192.168.1.12]) by juju.arbash-meinel.com (Postfix) with ESMTP id 3FC5855FAD; Thu, 18 Aug 2005 09:44:39 -0500 (CDT) Message-ID: <43049ED2.1080606@arbash-meinel.com> Date: Thu, 18 Aug 2005 09:44:34 -0500 From: John A Meinel User-Agent: Mozilla Thunderbird 1.0.6 (Macintosh/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Qingqing Zhou Cc: pgsql-performance@postgresql.org Subject: Re: Performance pb vs SQLServer. References: <6BCB9D8A16AC4241919521715F4D8BCE6C789C@algol.sollentuna.se> <20050815161859.GB22386@alvh.no-ip.org> In-Reply-To: X-Enigmail-Version: 0.92.0.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enigC08C6AF0E589E59A3E6ACFBA" X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0.043 required=5 tests=[AWL=-0.007, FORGED_RCVD_HELO=0.05] X-Spam-Level: X-Archive-Number: 200508/228 X-Sequence-Number: 13975 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigC08C6AF0E589E59A3E6ACFBA Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Qingqing Zhou wrote: > "Alvaro Herrera" writes > >>Interesting; do they use an overwriting storage manager like Oracle, or >>a non-overwriting one like Postgres? >> > > > They call this MVCC "RLV(row level versioning)". I think they use rollback > segment like Oracle (a.k.a "version store" or tempdb in SQL Server). Some > details are explained in their white paper:"Database concurrency and row > level versioning in SQL Server 2005". > > Regards, > Qingqing > I found the paper here: http://www.microsoft.com/technet/prodtechnol/sql/2005/cncrrncy.mspx And it does sound like they are doing it the Oracle way: When a record in a table or index is updated, the new record is stamped with the transaction sequence_number of the transaction that is doing the update. The previous version of the record is stored in the version store, and the new record contains a pointer to the old record in the version store. Old records in the version store may contain pointers to even older versions. All the old versions of a particular record are chained in a linked list, and SQL Server may need to follow several pointers in a list to reach the right version. Version records need to be kept in the version store only as long as there are there are operations that might require them. John =:-> --------------enigC08C6AF0E589E59A3E6ACFBA Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (Darwin) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDBJ7WJdeBCYSNAAMRAj+pAJ9sYAV896c6AjMlDUrVyhJldhNaFwCfUnMI UZAct14ESLSKVMjdK9fGTQc= =k73F -----END PGP SIGNATURE----- --------------enigC08C6AF0E589E59A3E6ACFBA--