SQLServerCentral Editorial

SQL Tamagotchi! Mini-Servers as Database Pets


I love small SQL Server installations as much as the big beasts. There is much pleasure to be had from buying second-hand, 19-inch racks and installing SQL Server instances on them, getting strange little black boxes intended for routers and turning them into network SQL Server instances, or even spinning up Ubuntu virtual machines in Azure as unlikely hosts for database instances.

There was a time that I used to wonder why I did it. I supposed that it is the same pleasure that one gets from keeping goldfish or a pet rat. It's difficult to justify in economic rather than emotional terms. I won't pretend I do it out of dedication to work. It's fun, though not without frustrations.

It is useful, though, to have them when I'm trying out different technologies, different database systems and generally keeping up to date. It is good to keep all this play separate from the day-to-day work, and it allows me to try things out well away from any corporate systems. It also helps with some SQL Server Development work.

As well as providing a great skunkworks, I believe that it is useful to have a pet SQL Servers for work. Even if most of your work is on shared servers, a lot of testing, especially when you test out resilience and scalability, is better done when you are a god in an empty universe that you can destroy. Even development work is usually helped by doing it on a slow server because it is completely obvious when you get it wrong. There was a happy time, long ago, when I used to be able to see the arm of the hard drive flicking backwards and forwards frantically whenever I got an index wrong. Ah, nostalgia.

Perhaps it is slightly strange that I like to create a local network of data stores and databases just when everyone who knows stuff is increasingly using the cloud and hosted services. However, I think there is room for both technologies, when you're doing development work. After all, all you need is an Ubuntu 16.04 machine with at least 2 GB, preferably lot more, and a good SD card, hang it on a decent local network, and you have a very responsive system. Linux SQL Server has the ultimate virtue of working just like Windows SQL Server, and it just takes a few minutes to install. You can soon simulate some quite complicated setups.

The lazy way, I reckon, is to host instances in docker containers on a Linux server. Once you have a good docker image, it is quick work to set things up. A Windows host seems to work just as well, though the hard work is done in a VM. This gives you a very flexible server that can be doing SQL Server work one week and then MongoDB, PostgreSQL or Apache CouchDB the next.

However, personally, I'm even more fascinated by the idea of using a Raspberry Pi 4 with SQL Server or stuffing SQL Server onto an Intel 'Coffee Lake' mini-ITX rack.

Phil Factor