Re: GUID in postgres - Mailing list pgsql-sql
From | |
---|---|
Subject | Re: GUID in postgres |
Date | |
Msg-id | 004501c15e50$ffd4df20$0c00a8c0@mouse Whole thread Raw |
In response to | Re: GUID in postgres ("Josh Berkus" <josh@agliodbs.com>) |
Responses |
Re: GUID in postgres
|
List | pgsql-sql |
Hi The overhead in generating GUIDs is minimal. I've never heard of a GUID implementation that uses random numbers. In most cases it is a functions of the date, a sequence, and/or the MAC. Why would you want to use two columns when you use could one? Two columns in each table would clutter your scheme as well as your procedures. It doesn't matter if you change the network card. The GUIDs will still be unique. The MAC does not make the GUID unique on any given server. The rest of the GUID generation function accomplishes this task. All that is accomplished by incorporating the MAC into the GUID is uniqueness between machines. -----Original Message----- From: Josh Berkus [mailto:josh@agliodbs.com] Sent: Friday, October 26, 2001 11:31 AM To: postgresql_sql@kaiserdigital.com; pgsql-sql@postgresql.org Subject: Re: [SQL] GUID in postgres Folks, > I think most of you are missing the point here. > > GUIDs are unique and they are required for Enterprise development. I don't know. I have yet to hear a persuasive argument as to why none of the schemes previously mentioned would not work. While a "GUID" automated by the RDBMS platform is convenient, it is by no means necessary. Any number of approaches can be substituted. For example, I have a system that requires middleware-level interaction between 3 database servers. The main data tables in these databases all have 2-column primary keys; one column for the (locally unique) sequence, one column for the (globally unique) server ID. This scheme fulfills all of the functionality that you describe, without the overhead of complex random seed mechanisms or other proprietary overhead. Also, any requests that are strictly local in nature need only query the local id without worrying about the second column. > Do a search for "multi master replication" and you should pick up some > info on how to properly implement a GUID. The simplest approach is to > use some combination of a sequence and the MAC address. SO what happens if you swap out the network card? -Josh ______AGLIO DATABASE SOLUTIONS___________________________ Josh Berkus Complete informationtechnology josh@agliodbs.com and data management solutions (415) 565-7293 for law firms, small businesses fax 621-2533 and non-profit organizations. San Francisco