Do not assume will have same db for whole life of application.
socorro mozilla project.
separate data use from data retrieval
build middle ware to map.
Domain Modeling rather than Insert update, delete
Want, need, data represent.
Modeling the future is hard but you should at least try, planning ahead key.
Data stores will be decentralized and they will take care of the storage but you still need the model abstraction metaphor hand remote storage e.g. games on facebook.com