Been having trouble posting. I posted this but it appears it was deleted - I might have inadvertently deleted it.
I created an application two years ago and didn't know too much of what I was doing with indexes and such when I created it. For example, I indexed a string property that turned out in practice to be large, and while I thought it would be useful to have it indexed, it turned out it never really was. Fast forward 2 years and 18 million entities later, I've started experimenting with cleaning up some of this data, and cost feel high.
For example, I deleted about 1/2 million entities and it cost me over $100. It was also extremely slow. I'd imagine this probably cost Google on the order of a few cents in actuality.
The mismatch, mentally is that these entities, all 18M, take up near a 1/2 terabyte of storage, which itself costs less than $100 nowadays. It's hard for me to understand paying $3600 to delete them all, and even though its an expensive lesson I'll not repeat in the future (letting entities accumulate), I don't think it should be this expensive in general to delete data.
I'm hoping one of the app engine product managers reads this and takes it into account that deleting unused big data is just too expensive on app engine. Instead, what you're forced to do, is migrate bits of your data you want to keep and shutdown the old app, which seems like a lot of overhead to impose on developers when deletes, and datastore writes in general, could probably be much cheaper.