Choosing a database is a long term
decision and altering that decision later can be a difficult and expensive
proposition. So, IT managers need to get it right the first time around.
Choosing the right database is becoming
increasingly crucial for any business that involves large volumes of data. Of
course, with a number of options, both in the proprietary and open source
space, IT managers are spoilt for choice. One of the biggest challenges they
face is choosing a database to suit their requirements at the most affordable
price. Obviously, open source databases emerge as clear winners when it comes
to weighing the burden on a company's budget.
Here's
How You Can Choose The Right Database For Your Business!
Choosing a database is a long term decision
and changing that decision later can be a difficult and expensive proposition.
So, IT managers cannot afford to go wrong in the first instance. MySQL and
PostgreSQL are the two popular alternatives in the world of open source
databases, and are the most popular amongst admins preparing a new rollout.
According to Rohit Rai, sales director,
India, South East Asia and Australia at EnterpriseDB, “The database market
today is very mature and it is a mature technology too. We are talking about a
25 year-old database market. There are many databases that have come and gone,
and now there are a few commercial choices that are left in the world. If you
look at the database as a technology, apart from being pretty mature, it is
standards compliant and well-documented. Open source databases also started out
a long time back. If you look at the history of PostgreSQL, it's over 15 years
old and has a healthy community around it”.
MySQL
is one of the two popular alternatives in the world of open source databases,
and are the most popular amongst admins preparing a new rollout
Things to consider while selecting an
open source database
With a number of database options available
in the market, the job of IT managers actually becomes difficult while trying
to choose one of them. So, how should admins go about it? The best point to
start from is evaluating your requirements. A database needs to be selected
based on the underlying data and the usage of that data. Some of the pointers
are given below:
§
What type of data is it? (Words
(English/multilingual), numbers, books, images, movies, maps, etc.)
§
What is the volume of data that the database
needs to contain? (Megabytes, terabytes or petabytes)
§
How fast is the data generated? (Bytes/sec, MBps
or GBps)
§
How many people access it concurrently? (In the
10s, 100s, 1000s or millions)
§
What is the read vs. write volume? (Will only
the same person who is writing read it, will one person write and millions read
it, or will there be millions of writes but very few reads, i.e., log records?)
§
Does the data need to be distributed? (Single
computer or across countries)
§
How much computation is involved in extracting
information from the data? (Nothing - data is extracted as-is; some simple
computation; complex joins of data or huge analytics computations)
§
What expertise level do you expect your
engineers to have? (Will they be able to manipulate data themselves or will you
need expert database admins?)
§
In what language does the data need to be
accessed? (C, C++ to Ruby, Python or Golang)
§
How valuable is the data? (Useless once the
connection is lost, i.e., mobile phone locations or Web transactions; extremely
important like bank accounts’; or critical, wherein lives may be lost if the
data is lost, such as while monitoring rocket stability, satellite orbits, ICU
device data, etc.)
§
What kind of data safety measures do you
require? (Ranging from taking back-up once in a while to complex multi-country
and fire safe disaster recovery mechanisms)
§
What level of security do you need for the data?
(Is it common knowledge or top secret data?)
§
What kind of integration/ecosystem support does
your product need? (A product uses a lot of technologies besides the database.
The database you use needs to integrate and work well with these other
technologies. An ecosystem ensures that these integrations work as new versions
of the products continue to roll out).
What
kind of data safety measures do you require?
An IT manager needs to look at some or more
such questions to find the right database to use. For a database that needs to
be used on the Web – usability, scalability, security and read distribution
matters greatly.
Apart from these, one should have a futuristic
approach while choosing a database. It is one of the most important criteria
that an IT manager should keep in mind. Typically, IT managers should factor in
the current requirements including scalability, security, robustness and ease
of use, and should also consider what may emerge in the future as the
organization grows, and look for a database that is flexible enough to meet the
upcoming challenges.