Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is the same story as service dependencies, as well. If you've doubled up on this, then you can actually hide your database dependency behind a service contract. If done perfectly (high bar), then you take full ownership of the migration and nobody external to your services should have any knowledge/care of your database schema. Or your service implementation.

Nor is this where this trick ends. It is almost literally how Intel survived the supposed superior instructionsets of RISK back in the CISC days. They turned their implementation contract of CISC into essentially a service ocntract of "the computer will execute this for you." Then, took advantage of the misdirection and were able to get many of the RISK benefits in their computers.

Obviously, this can burn you at an extreme. That fun quote of another layer of abstraction, and all of that. I would be surprised if there is a prescriptive "this is how you do it" that is applicable to everyone. To note, if you only have your company as a client of either service or schema, it might be faster to just make the change in one shot.

Let that sink in. The 5 step process outlined above requires manpower to execute. Don't ignore that.



> That fun quote of another layer of abstraction...

Haven't heard, please elaborate.


Apologies, I used the wrong word. I should have said indirection. The David Wheeler quote on this page: https://en.wikipedia.org/wiki/Indirection "All problems in computer science can be solved by another level of indirection"




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: