Still, when we review our experiences in everyday work, the common denominator is often that a database environment was set up or maintained with the best of intentions, but with insufficient expertise. Yes, it has been made very easy these days to source a cloud database or spin up an open source database. But then... Unfortunately, it still happens too often that we get involved relatively late in the process. Fixing things then takes a relatively long time. Of course we like that, because we love complex puzzles, but whether it achieves the desired result?
The Internet in general and cloud providers in particular promise golden mountains. Much is easy and quick to download, spin up or order. Database-as-a-Service models, open source databases and all kinds of tooling. You can tie all sorts of things together to make the wildest combinations. In reality, we encounter a lot of these exotic combinations. Many organizations get caught up in the web of these unprecedented possibilities and can't see the forest for the trees.
I sometimes compare it to a cabinet from Ikea. You buy a small nightstand and you manage to put it together without any problems. Nice! Now you also dare a larger cabinet. Then a large closet with sliding doors and modular layout, and... yes! That too works. Then you decide to tackle the entire kitchen yourself. And suddenly you're standing there struggling to get the doors in line, they don't close properly, the drawers are stiff and with the best will in the world you can't get it right. Despair sets in: perhaps you should have hired a kitchen specialist in the first place?
Similarly, we see how database issues arise within organizations. People start small, with an open source product. This and that, the project gets bigger and bigger, clusters are set up, some tooling is added, and you know what, we throw in a little interface for reporting. And then a cluster falls over, the backup doesn't run and some slow query causes the whole process to crash. You lose the overview and you can't go back to analyze the intermediate steps and find out where it went wrong. After all, the production environment just keeps running and the transactions keep flowing in. Help!
Selecting a database
Thus, in our database practice, we still regularly see that a database is chosen just like that, without very clear benchmarking or thorough consideration of what is now the best solution for the application. Often forced by the preference of a developer or architect. Or because only Windows is running. Or because the application vendor can only work with this specific type of database. Or, or, or, or... Before you know it, you have a database that has to run on Windows, while it actually only performs optimally on Linux. Or you have to work with interface tooling between database and reporting, because one doesn't talk to the other. Or the type of storage is not appropriate for the speed or number of transactions. If the community indicates that a particular database doesn't work fine on VMWare, don't do it! Don't keep trying - as the first person in the world - to get it done.
It is precisely by tying all kinds of loose components together, combined with too little experience, that you cannot oversee the consequences of certain choices. This creates the most complex puzzles that are no longer easy to unravel. And then we get a call. In itself, we love it. Especially if the result is another satisfied and happy customer who can move on. If you are about to approach an expert, don't hesitate. It is never really too late, at most inconvenient. There is certainly no shame in asking for help. But getting expert help early can protect you from big problems. We recommend that you take a few steps back or at least continue to think carefully when making the choices in the path to your ideal platform or database setup.
Back to basics
It seems like an open door. Make an informed choice that assumes the best solution for your application. Do not let yourself be forced by peripheral factors. The simple fact that you now only have servers running on Windows does not mean that everything should always run on Windows. Do not start tinkering with configurations and links yourself if you do not know exactly what the consequences are. Of course, in a test environment you can experiment as much as you want. But beware that the database may react very differently once your demand and your data start to grow.
Of course, we fully understand that decision-making processes can be unruly. Of course, you can't always go with your first choice or your favorite combination. Don't just start twisting all kinds of knobs to achieve performance improvement. Once you get tangled up, it can even lead to serious delays or unrecoverable backups. We've had to reverse engineer quite a few times to figure out exactly where it went wrong. That takes a lot of time and money.
- Look carefully at what the market is doing in terms of type and type of database. For example, check www.db-engines.com. There are good reasons why many companies use platform X,Y or Z. If you choose a less popular database (from the bottom of the database top 100), the chance of finding experts is also immediately a lot smaller.
- Think big, and let your choices be guided by long-term vision. Start a cluster in time, think about the data model, et cetera.
- Choose the operating system that is recommended. Stop yes-marching.
- Do a benchmark in a test environment.
- Make the chain as short and clear as possible.
- Pay attention to supported versions of the database, as well as the operating system and tooling to be linked.
- Start monitoring as soon as possible.
- Arrange and test your backup and recovery plan as soon as possible.
- Log all configuration changes (including infrastructure changes).
- Engage an expert early on to set things up or at least to be advised.
Think you need help?
We like to take an early look in this selection process. Has the choice already been made and do you need help because it doesn't work quite as you expected? We are happy to help you on your way! And don't worry, it's never really too late, we have seen or unraveled almost all (im)possible combinations. Download the leaflet with a short and concise overview of our services. Or feel free to contact us!