Just don't.
This is not good advise unless for a toy app. The only time I've seen a direct DB access API useful and even remotely a good idea is to give another internal application or service access - for reporting or metrics data. Definately not for your public facing client apps.
- The database may contain a lot more info than the client apps need, you are sending back more data than is needed, which costs money.
- Apparently you have no business logic to transform that raw database data?
- If you have more than one client, you are likely to end up duplicating some kind of business logic in each client (say a native iOS app, native Android app, web).
- Security? I'm not even gonna start...
This whole article smells of someone who has not had a lot of real-world experience. Large application database a full of data that have no place being handed over to a app developer without any context or documentation of the database. It is much better to give back exactly what is needed for a particular view and no more.
If you neeed more or differnt data later, you version the API and do a rolling deploy after your clients have been updated.