Hi Google, Nick Johnson and others
Does Google recommend using UUID (UUID4 to be specific) as key names
for entities in GAE instead of auto generated numeric ids?
Does this hold good in all use cases in the universe?
And is this the reason why import export of auto generates IDs are not
yet supported in BulkUpload? Should I wait till this is supported or
should I refactor my code to use UUID key names?
Is there a demo page that compares between the bulk read/write
performance between entities that have 32-bit numeric ids versus xxx-
bit UUID key names?
Some home work that I did:
http://groups.google.com/group/google-appengine/browse_thread/thread/bc868376ffa37619/db9bda21c95ea806?lnk=gst&q=uuid#db9bda21c95ea806
http://groups.google.com/group/google-appengine/browse_thread/thread/a6fcce84837c34b/d4c9d5b3c7869222?lnk=gst&q=uuid#d4c9d5b3c7869222
http://groups.google.com/group/google-appengine/browse_thread/thread/7dedb7d65bdf4f/37f2733fd9f572b9?lnk=gst&q=uuid#37f2733fd9f572b9
Thanks
Jagan
--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Hi Jagan,On Tue, Aug 31, 2010 at 9:46 AM, Jagan <ksj...@gmail.com> wrote:
Hi Google, Nick Johnson and others
Does Google recommend using UUID (UUID4 to be specific) as key names
for entities in GAE instead of auto generated numeric ids?
Does this hold good in all use cases in the universe?This depends entirely on your use-case. Unless you expect an extremely high insertion rate of new entities (eg, >=100QPS) with no natural key name, it's not necessary to use a UUID. UUIDs take more space than regular integer IDs.
And is this the reason why import export of auto generates IDs are not
yet supported in BulkUpload? Should I wait till this is supported or
should I refactor my code to use UUID key names?It's possible to do this using the bulkloader, but requires you to override a method to generate key names.
Is there a demo page that compares between the bulk read/write
performance between entities that have 32-bit numeric ids versus xxx-
bit UUID key names?The performance should be roughly the same - but the space used will be significantly larger in the case of UUIDs.-Nick Johnson
Some home work that I did:
http://groups.google.com/group/google-appengine/browse_thread/thread/bc868376ffa37619/db9bda21c95ea806?lnk=gst&q=uuid#db9bda21c95ea806
http://groups.google.com/group/google-appengine/browse_thread/thread/a6fcce84837c34b/d4c9d5b3c7869222?lnk=gst&q=uuid#d4c9d5b3c7869222
http://groups.google.com/group/google-appengine/browse_thread/thread/7dedb7d65bdf4f/37f2733fd9f572b9?lnk=gst&q=uuid#37f2733fd9f572b9
Thanks
Jagan
--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
--
Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047
Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047
the id allocated for a new entity was already in use, please try again Traceback (most recent call last):
[some trace truncated]
File "/base/data/home/apps/notesonatree/1-5.344881683710780408/notesonatree/core/models.py", line 111, in create_note
new_note.put()
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 893, in put
return datastore.Put(self._entity, rpc=rpc)
File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 293, in Put
raise _ToDatastoreError(err)
InternalError: the id allocated for a new entity was already in use, please try again