Searching Literature for Technical Key Texts

A literature review is a key part of postgraduate research. To start with I’m attempting a broad literature search to try and find anything I can which sheds light on my topic area. In particular I’m trying to locate some “key texts” which align fairly closely with my planned research area, and could help inform …

Continue reading ‘Searching Literature for Technical Key Texts’ »

Zero-downtime deployments

It’s a common pattern, an enterprise software solution has a body of code, managed by version control, verified by continuous integration and eventually delivered to some deployment system. If that were the whole picture things would be relatively straightforward. Tests pass? deploy it! Unfortunately there is often also a database in the mix. This complicates …

Continue reading ‘Zero-downtime deployments’ »

How FriendFeed uses MySQL to store schema-less data – Bret Taylor’s blog

Several projects I have been woreking on have moved away from standard relational models to a more fluid, attribute-based, approach. One of my biggest worries in all thee cases is scalability and efficiency. It would be tough to find out that a working installation becomes unusable as data sizes and/or loads grow. Bret Taylor has …

Continue reading ‘How FriendFeed uses MySQL to store schema-less data – Bret Taylor’s blog’ »

LiquiBase – a tool for managing database changes

No database schema or default dataset is ever perfect, things always change as software evolves. It can become tricky to ensure that each deployed version of a system gets the right database configuration. At present in our project we attach a growing list of “roll forward” and “roll backward” scripts to each project, and rely …

Continue reading ‘LiquiBase – a tool for managing database changes’ »

Never forget there’s a database

My personal preference is almost always to deal with a database at a fairly direct level. I have built up a bunch of Java code which largely removes the pain of database access, but it is certainly not any kind of ORM (Object-Relational Mapping) tool. I rely on understanding both the structure and efficiency of …

Continue reading ‘Never forget there’s a database’ »

REST is not CRUD, and here’s why.

I have encountered several web articles recently which attempt to describe REST verbs (“get”, “put”, “post”, “delete”) in terms of traditional database CRUD (“create”, “read”, “update”, “delete”) operations, and then get stuck trying to map one set to the other. On the one hand, it’s easy to see why the confusion happens. Both sets have …

Continue reading ‘REST is not CRUD, and here’s why.’ »