Newsletters




Five Things to Consider When Selecting a New Database

<< back Page 2 of 2

We are almost done with flexibility, but there is one more thing to consider. We all fear it, yet we have all fallen for it: the infamous vendor lock-in. When choosing your next database solution, you need to be aware of the types of interfaces that are available. Are there proprietary or special languages used for it? Will you need to change everything around the database if you switch the database? Will you be able to get all your tools using it today and tomorrow, or might this be a challenge due to a nonstandard query language? SQL is your best choice, in this case, as it is a widely known standard that is supported everywhere, and no, “NoSQL” does not necessarily mean “no SQL.”

Functionality

The kind of functionality the data­base system offers is another question to consider. While most databases provide a similar set of functionalities, specific areas might require close attention.

You must consider what built-in func­tions the database offers in terms of aggre­gation and scalar functions depending on your use case. Using built-in database func­tions can significantly increase the perfor­mance of external systems and help opti­mize your data storage requirements.

When it comes to the functionality of a database, access to data must be consid­ered, or, more precisely, how you can access the data. Is there a specific query language that is being used, a nonstandard API? It is important to consider what query inter­face you have available, what it offers, and whether it fits your needs.

Finally, there is functionality in terms of availability across a wide spectrum. When you are looking at a cloud offer­ing, you need to consider SLAs as well as whether there is a single point of failure in the architecture, which also applies for other deployment methods. What high-availability options are available, how is the database handling failure on one node? Will it automatically re-balance, and is data lost in case of a node failure? Will high availability only be achieved with a copy, or will additional nodes add further performance? Backups and how to recover from an error are the last things in availability that need to be evaluated if everything fits your needs.

Usability and Performance

Usability and performance are addi­tional areas that are linked together and have some considerations. Usability must be evaluated in terms of the method or query language that we also already cov­ered. Is the API or query language that the database system offers appropriate for your desired use case? Are the tools and applications you plan to use appro­priate with the chosen database system? Will you need to develop a custom solu­tion, or is everything integrated in an effective way?

Of course, you also need to take opera­tional usability into account and ask: Is the logging and auditing functionality offered sufficient for your use case? Can the data­base system be integrated into your current monitoring and operations tools?

Performance also plays a role in usabil­ity. If you do not get the right performance out of your new database system, it will not be usable. However, performance cannot be addressed simply; there are multiple angles to consider and that might have an impact on your choice of database. You must con­sider where you will need the best perfor­mance and what the database system offers in this area. For some uses, ingesting data must be the highest performing area, or it may be data retrieval that is most critical. Of course, if both are important, you must pay attention to both sides. So, consider whether you have large or very frequent queries, many records that need to be stored, or a combination of concerns. There can be sig­nificant differences in both cases between different database systems.

The other performance question is around the time frame between ingesting data and querying this data. Does your new database system deliver what you need in this case? Is it “real time” enough for you?

Finally, when it comes to performance, also consider your future requirements in these areas and what your new database sys­tem can offer you in terms of scalability in the future. How easily can new nodes be added, will additional nodes impact other nodes, and how will performance increase?

Security

Security must be a major consider­ation when choosing any new IT system, and a database system is no exception. Data breaches are very costly. Assessing the impact as well as what has been breached is a key consideration for any mitiga­tions. The most important consideration is access control. What access control mea­sures are available, how can you make sure you can restrict access to data to only what is needed, and how can you audit who accessed what data when? The same level of control should also be possible in terms of identifying where data is coming from, as false data can also cause a problem, and you need to be able to locate the source.

Besides these specific considerations, there are, of course, further considerations around security that need to be explored. How are connections to the database secured, and is data encryption possible? How can the database system be integrated into the overall IT security infrastructure?

Cost

Cost is always a huge factor and some­thing to evaluate for your database system, but the cost goes beyond the obvious license costs, which need to be considered based on the value that is added.

Beyond license costs, other cost factors must be weighed. For instance, you need to evaluate how much infrastructure you need to buy to run the database system, or, if it is a cloud service, whether it adds enough value compared to an on-premise installation.

These fixed infrastructure costs, however, are not all. You also must consider staffing. Questions to answer include: How much operational overhead is added with the new database system? Do you have the skilled staff to handle these systems? Do you need to add additional staff or invest in further train­ing? Cloud services can help with mitigating this but still need to be evaluated closely for all points.

Choosing the Right Database

Choosing a new database system is not an easy task, and there are many issues to consider. Flexibility for current and future uses, scalability, performance, security, and costs are the key areas to scrutinize. There are many options available for data­base systems, and it might be challenging to find the right solution for your current needs, but it is important to pick the best option available and not settle for the next-best thing. Cloud services offer flex­ibility and reduce operations and staffing but may not be suitable in all cases. Pre­dicting the future is always tough and so making the right choice for future require­ments will be difficult. Therefore, you should always opt for the most flexible and scalable option.

<< back Page 2 of 2

Sponsors