Are Global ID preserved by the platform?

1877
3
05-27-2021 06:09 AM
DanielRoth
Esri Contributor

We have a big ArcMap Extension running that assigns GUIDs to new features. That's how we identify features and keep track of them throughout our workflows. Therefor the GUIDs need to be persistent. I read about Global ID. I think of it as an Object ID: maintained by the system but a GUID.


Is it guaranteed that a Global ID is preserved by the platform no matter what out-of-the-box GP tool (Append, Copy, etc.) or workflow (check-out, replication, reconcile, etc.) I use? This environment setting made me suspicious: Preserve Global IDs (Environment setting) .

Thanks.

Tags (4)
0 Kudos
3 Replies
JoeBorgione
MVP Emeritus

Are you talking about a GUID type field or an actual Global ID?  They are similar but very different.  A global id is assigned and maintained internally by the database.  A GUID type field is similar in format but can be calculated by the user.

I've never been a huge fan of Global IDs as a means for relationship classes and/or unique identifiers as they will change if a database object (feature) is moved to a different database.  What I do like though for unique identifiers is a database sequence.  You can deploy them in concert with an attribute rule and if the feature changes databases, the value will persist.

That should just about do it....
DanielRoth
Esri Contributor

We have a field of type GUID in our feature classes and the field is maintained by the extension.

So, the Global ID acts similar to a Object ID: it only stays stable if using copy/paste..

Did I understand you correctly? There would be our own field of type GUID to guarantee value persistence and next to it the Esri Global ID field which only purpose is to make attribute rules working?

Oh man, I want to retire too.. 😉

0 Kudos
JoeBorgione
MVP Emeritus

A Global ID and OBJECTID are similar in that the database assigns the values and if a a record is deleted, the Global ID and/or OBJECTID are 'retired' and not reused.  They are different in that there is no sequence (that I can tell) to a Global ID as there is to an OBJECTID.  I consider the OBJECTID to be a database sequence that is internally controlled.  

The ESRI Global ID does need to be present for Attribute Rules to function (as I mentioned in your other post).  They are also used as the key between parent and child in database replication. However, you mention that you are using an ArcMap Extension and you need to know that once you apply attribute rules to a feature layer, it is no longer available to ArcMap. 

That should just about do it....
0 Kudos