Choosing the Best Database for Your Business
Businesses today run on data. Whether it’s information about your customers, transactions, or employees, you need to make sure that you safely and effectively store data in 2020.
Business Data Problems
It’s astounding how many companies still do not use some kind of database solution. Here are some of the approaches that we’ve seen businesses take that can cause problems:
- Paper files – Paper files are difficult to organize, take up a lot of space, and get lost and damaged easily. You also have to make sure access to paper files is secured if they have sensitive information on them, which can be difficult. It’s also basically impossible to “back up” paper files effectively.
- Excel spreadsheets – Excel is still the king of business data. However, many companies are overly reliant on Excel spreadsheets for storing critical business data. Sometimes these Excel sheets get shared around, modified, and out of sync. Additionally, you might store your Excel sheets on one central server or in the cloud, but you still have to worry about security and backups. Excel also doesn’t scale very well for large amounts of data and can rapidly become a pain to manage. Inconsistent formatting of critical datasheets can become a pain point as well.
- Digital files – Digitizing your paper documents is good. However, if your strategy is simply to put all of your digitized files/PDFs on a network drive or someone’s computer, you can rapidly develop the same problems that you have with paper files.
More often than not, we see a mix of paper files, Excel spreadsheets, and digital files. Some businesses have a framework around it that is somewhat organized, but often things are just on the verge of getting out of hand. Things can rapidly get more complex when dealing with a mix of data types like this, and when you’re trying to scale your business quickly, things can get unsustainable fast!
Three Database Alternatives
So what database solutions are available for businesses in this kind of situation? Let’s break down a few of the most common options and address some things you may or may not have heard about them.
FileMaker Pro / Microsoft Access
FileMaker and Access are database solutions from Apple and Microsoft, respectively, that are meant for small companies with relatively simple data needs. The big sell with FileMaker and Access is their ease of use – anyone is supposed to be able to learn these database products, and you can easily organize your business data in one place with them. They also offer a suite of integrations with other products and services, which can be very useful.
While the products have similar feature sets, FileMaker typically has a more pleasant experience to use, and it has the advantage of working on both Mac and Windows. Access has a little rougher experience, and only works on Windows, but there are a lot more Access pros out there.
If you’re a business just getting started in the database realm, FileMaker or Access are good places to start. You want to make sure you have someone who understands the business and is data savvy to be the gatekeeper of the database, and keep just one copy of the database on a computer or server at the office (and make backups of that). With these basic controls in place, FileMaker or Access can store hundreds of thousands of records and can take you a long way.
Relational SQL Database
Once your business gets to the point that you’re storing hundreds of thousands to millions of data points, you may want to consider using a traditional relational SQL database for your business needs. Particularly, if you want to start creating custom integrations with other systems that leverage your data, the possibilities are endless with a SQL database.
SQL stands for “Structured Query Language,” and that’s the programming language used to write queries that retrieve data from a SQL database. While it’s not difficult to learn the basics of SQL, it’s important if you are going to deploy a SQL database to have an employee or consultant who is fluent in SQL and can help you to set up and maintain your data within the SQL database.
Overall, the process of using a relational SQL database is much more complex than a product like Access or FileMaker and requires not only specialized knowledge to maintain and integrate, but also a more robust server to host the data. There are far fewer options for direct “user access” within most relational SQL databases as well, due to the complexity of the database environment. This means that the average office user can’t just get in there and create ad-hoc reports. Instead, you must rely on additional reporting software for this, such as Power BI or Tableau. This isn’t necessarily a bad thing though, as it can provide you with an element of control that isn’t present with some other database solutions.
Despite the complexities, a relational SQL database offers a high level of scalability and nearly infinite integration options. If your business is growing rapidly and is heavily data dependent, a relational SQL database may be the best option for you. There are many options available for relational SQL databases as well – from the free MySQL platform to the enterprise grade Microsoft SQL Server. One of the nice things about these database platforms is that there are many people out there who know how to work with and maintain them, so getting either an employee or a consultant to help you isn’t too difficult (although it can be expensive).
You might have heard someone telling you that a NoSQL database is the fastest type of database you can get right now, which is an intriguing statement. While the idea of a NoSQL database used to just be a buzzword, it has matured in the past decade into a legitimate contender for business data use in some cases.
NoSQL databases rely on storing files in very fast memory with complete records of information. The great thing about this is that when you query the database to retrieve data, you get a complete record set, and you don’t have to join in additional data pieces like with a relational database. This does indeed make them very fast, but you must be careful about how you store data in this format to make sure you don’t store too much unrelated data in a single record.
Most businesses will do just fine with a traditional relational SQL database. In fact, most enterprises still use them. However, if your business stores particularly complex “point-in-time snapshots” of customer data that need to be rapidly retrieved and modified at scale, you might be a good candidate for a NoSQL database. This is something you should discuss with a database expert before making a commitment. Don’t be lured in by the promise of lightning fast data access. Your business needs to have a very good reason to choose this kind of database!
There are several different NoSQL databases available, but the most popular currently is MongoDB. It’s relatively easy to get started with MongoDB if you have the right use, and there are MongoDB professionals out there who can help you get started if it’s right for your business.
Cloud vs. On Premise
A decision that goes hand-in-hand with what database to use is where to host the database. You can either choose to host your database in a machine/server on premise or use one of the many available cloud providers to host your database.
All three of the above solutions can be hosted both on premise and in the cloud. Here are our suggestions for each:
Access / FileMaker
Access and FileMaker databases both live in a single file or small set of files. Because of this, it’s easy to move around an Access or FileMaker database. With this portability in mind, and especially if you’re using Access or FileMaker as your first database, we suggest storing the database files on premise. If you already have a simple network share set up, you’re good to go. Just make sure that you restrict permissions to the spot where the database is stored to just the people who need to get to it.
If you don’t have any kind of network share, the database can live on the computer of the person who’s primarily responsible for updating it. While this can make shared access more difficult, this situation often allows one person to be a gatekeeper of the data, which can be very beneficial.
There are options for hosting FileMaker and Access databases in the cloud as well. If you have a larger organization and need to streamline shared access or need to facilitate shared access but don’t have any kind of network share set up, this may be the way to go.
One last consideration for this type of database is backups. You’ll want to ensure that you make regular backups, whether you are hosting it on premise or in the cloud. If you’re on premise, this can be as simple as copying your database file to another drive on a regular basis. If you’re in the cloud, oftentimes the cloud provider has options to handle this for you.
- Overall recommendation: On premise
In order to host a relational database on premise, you have to set up a dedicated database server. Depending on which variety of relational database you want to use, this can range from fairly simple to very complex. It’s important when using a relational database to think about redundancy and backups as well, as there will most likely be a lot of business critical data on this server. This can be particularly complicated to set up if you don’t have a database administrator (DBA) with the expertise to do so.
There are many options for hosting relational databases in the cloud that can make the process significantly easier, making it our typical recommendation. Platforms like Microsoft Azure and Amazon Web Services allow you to use their Platform-as-a-Service (PaaS) offerings to spin up relational databases with the click of a button. The other great thing about hosting in the cloud is that short-term backups are handled for you, and it’s usually much easier to create a secondary database in a geographically diverse location, ensuring you’ll always have access to the data.
While cloud databases can start out very inexpensive (~$5/month), a more robust/performant cloud database can get expensive. If your business is dealing with millions of records, you may need to pay several hundred dollars per month for your cloud database. If you happen to have on-premise servers that are up to the task, that cost difference may be a consideration.
- Overall recommendation: Cloud
Hosting a NoSQL database on premise has many of the same complexities as hosting a relational database on premise, so we won’t rehash that here. Just like with a relational database, there are many cloud offerings for NoSQL databases. Since high transactional volume and large amounts of data are expected if you’re using a NoSQL database, cloud NoSQL database offerings are particularly good about helping you to set up your database in a geographically redundant manner. That’s what we typically recommend.
The decision where to host your NoSQL database may also come down to what personnel you have available, just like with a relational database. If you’ve committed to going the NoSQL route and end up with a NoSQL database administrator in house, the DBA may recommend on premise if you already have the server infrastructure available.
- Overall recommendation: Cloud
Modern businesses run on data, so it’s important to take some time to think about where and how it should be housed. Whether you’re starting a new business and have the luxury of choosing a new database platform without any baggage to consider, or you’re attempting to refresh your company’s database setup, it’s critical to consider what database platform is the best fit for you and where it should live.
John Kuefler started in technology at a young age, making simple websites at the age of 7. His passion grew from there, and John moved on to attend Pittsburg State University, earning a bachelor’s degree in computer information systems, and then also completed an MBA. During this time, John started working in the public sector as a programmer, and eventually software architect, starting down the path of managing teams of developers. Not satisfied, John started providing freelance software development services, which soon grew so much that John co-founded DevSquared, a software development company that was later acquired by LimeLight Marketing after three highly successful years in business. John now leads as director of technology and is a partner at LimeLight Marketing.