There are a number of posts where Googlers have mentioned how deletes
are performed.  Here is a recent one,
  http://groups.google.com/group/google-appengine-python/msg/598a671cfef98fb4

So they already use some type of soft-delete + later batch cleanup approach.



Robert







On Sun, Nov 21, 2010 at 13:50, Stephen Johnson <onepagewo...@gmail.com> wrote:
> I think the biggest thing for everyone to remember is that each delete of an
> entity also requires updating all indexes for that entity. So for 1 to 2
> million entities that's a lot of work especially with transactions,
> concurrency, etc. I'm not sure that marking the entity for deletion and then
> having some background task later come through actually saves anything
> because all that work still needs to be done. Also, would those entities
> still show up in queries. If they shouldn't show up then you'd have to go
> and mark all index entries as deleted which is just as much work as deleting
> them in the first place. I would say however that perhaps there should be
> the equivalent of a DROP TABLE so that you can get rid of an entire entity
> kind. That could definitely be done in the background using bulk delete
> methods and would immediately remove that entity kind from being visible and
> used and as such there wouldn't be the need to worry about concurrency and
> transaction isolation etc.
>
> On Sun, Nov 21, 2010 at 12:10 AM, Derrick Schneider
> <derrick.schnei...@gmail.com> wrote:
>>
>> Thanks for the reminder about the thread. I had read the initial couple of
>> posts but hadn't noticed the follow-ups.
>> My procedure is pretty straightforward, and is similar to the "fast" one
>> described: Kick off a task that does a keys-only query for n items and then
>> deletes them (using the form where you just pass a list of keys), grabs the
>> cursor, and kicks off another task that pulls in the cursor and gets n more,
>> and so on. (I forget the value of n.)
>>
>> I don't know exactly how many items were being deleted, but I've got ~7.5
>> million entries in total, spread from July to today. Probably our largest
>> number of entries actually comes from August, but I was just deleting July.
>> So I guess "few hundred thousand" isn't accurate, and it was probably closer
>> to 1-2 million. Hm.
>> But reading that Bulk Delete thread, I agree it would be nice to mark an
>> item as deletable and have some cheaper, belly-of-Google task sweep through
>> them.
>> Derrick
>> On Sat, Nov 20, 2010 at 8:55 PM, Stephen Johnson <onepagewo...@gmail.com>
>> wrote:
>>>
>>> Read post Bulk Deletion Woe that was posted this past week. It discusses
>>> this. You should add what procedure you did to delete your entities, how
>>> many etc.
>>>
>>> On Sat, Nov 20, 2010 at 9:21 PM, Derrick Schneider
>>> <derrick.schnei...@gmail.com> wrote:
>>>>
>>>> One thing I've noticed as I'm purging older items in the datastore is
>>>> that deletes are really CPU intensive. Granted, I was probably deleting a
>>>> few hundred thousand entries, but I went from well under my free CPU
>>>> threshold for the day to burning out the rest of our budgeted 14.5 hours
>>>> over the course of about 40 minutes.
>>>> Has anyone else noticed this?
>>>> Derrick
>>>> --
>>>> Writer. Programmer. Puzzle Designer.
>>>> http://www.obsessionwithfood.com
>>>>
>>>> --
>>>> 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-appeng...@googlegroups.com.
>>>> To unsubscribe from this group, send email to
>>>> google-appengine+unsubscr...@googlegroups.com.
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/google-appengine?hl=en.
>>>
>>> --
>>> 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-appeng...@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> google-appengine+unsubscr...@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/google-appengine?hl=en.
>>
>>
>>
>> --
>> Writer. Programmer. Puzzle Designer.
>> http://www.obsessionwithfood.com
>>
>> --
>> 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-appeng...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> google-appengine+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/google-appengine?hl=en.
>
> --
> 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-appeng...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

-- 
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-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to