The datastore API is probably the most involved for porting to. You would have to do both indexes and composite indexes for scalable queries, and implement your own transaction system. You can learn about how we do it for AppScale in our publications. Also check out the articles on the App Engine documentation, as well as the Google I/O videos for details on how they do it for Megastore/BigTable.