Over the past few months we have been looking under the hood to give you a better understanding of what a database is and how you can use one to benefit your business. For the third article in the database series, I discuss commonly available databases and how to choose between them. I will also discuss the differences between "build your own" and COTS (commercial off the shelf) database applications.
Choosing a Database Platform
In order to choose the right database or any application for your business, you need to follow a two-step process. First, establish your general criteria or needs. You must understand what you want the database to do before you review the available options. If you follow the process in this order, you'll be happier with your ultimate choice, because you based the decision on your real needs not the perceived features of a particular product offering.
Too many companies choose their database platform based on the current expertise and familiarity of the staff, instead of carefully considering the company's actual business needs. How many times have you heard, "Well we chose Access or SQL Server because we're a Microsoft shop. Why would we look at anything else?" Then they have trouble when they try to shoehorn the application requirements to fit the system's limitations. If the company had taken the time to review and understand the application requirements first and then chosen the system, they would have avoided major problems.
Single Versus Multi-User
All but the smallest database application needs to be able to support multiple simultaneous users. Unless you are planning on remaining a solo proprietorship, I would use a database that has multi-user capabilities. Remember, often what started as something that you threw together one lunch break to help your cousin in the shipping department get a particularly large order out the door, will still be a critical business application two years later. For 10 years a former employer of mine used a homegrown hacked-together database to track his multi-million dollar business. Someone had written the entire application in six weeks. Ouch.
Common Database Packages
You've heard of Microsoft Access. Access is relatively inexpensive and has a rich feature set (probably too rich for many simple projects). It's well integrated into the other Microsoft Office suite of applications, reasonably well documented and easy to use if you know something about databases. For larger applications, you can move up to MS SQL Server. It's expensive, but it comes with a sophisticated development toolkit and a Web-based user interface.
|Microsoft's Access 2003 is one of the most common off-the-shelf databases.|
For more adventurous (and frugal) folks, you'll find a number of good Linux based databases including MySQL, mSQL and Postgres SQL. While Postgres SQL is a full relational database management system, MySQL and mSQL are flat file systems. MySQL has been called "just a fast storage tool," and serious developers have referred to mSQL as a toy not very flattering descriptions. If you look only at raw performance, MySQL or mSQL may well be a better option, especially if you have an uncomplicated database application that can be automated for the most part.
Advertised as Web database systems, MySQL and mSQL can be robust and simple to use once they have been developed. However, as with any Linux open source application, unless you're comfortable with raw computer implementations, you should steer clear.
Build Versus Buy
OK, you've decided that you need a customer ticketing system to track your service calls. By creating a record of each call, you will be able to identify common problems and quantify metrics about your average number of calls by customer type. It will help you build knowledge about your customer base and your products.
The next big question becomes, do I build a highly customized database that will help me capture exactly the information that I need, or do I purchase a product that will give me 80 percent of the features that I am looking for?
The answer for the majority of small businesses is, unless you're in a highly specialized business, buy your database application. As tempting as it is to think that building a system will get you exactly what you are looking for, generally just the opposite is true. A few years ago I worked with a client who had built a highly customized database for his video store business. It was efficient and exactly what he needed but since he built it, he had to support it and train all of his ever-churning staff of store clerks on the system's peculiarities. The owner hired me to clean up the mess when he realized that he couldn't take a vacation because he had to be around to support the application monster he had created.
Think very hard before investing in custom database software unless you are in a highly specialist niche market. Few small businesses can support the maintenance costs and headaches. With so many commercial applications available, you're sure to find a standard application that covers 90 percent of the functionality you need at a fraction of the cost.
Next month we will discuss some practical applications to put your new understanding of databases to work building your successful business.
- Linux Database Comparison Chart
- mySQL Source
- mSQL Source
- POSTgres SQL Source
- Feature Article: Comparing Linux Databases
Beth Cohen is president of Luth Computer Specialists, a consulting practice specializing in IT infrastructure for smaller companies. She has been in the trenches supporting company IT infrastructure for over 20 years in a number of different fields including architecture, construction, engineering, software, telecommunications, and research. She is currently consulting, teaching college IT courses, and writing a book about IT for the small enterprise.
|Do you have a comment or question about this article or other small business topics in general? Speak out in the SmallBusinessComputing.com Forums. Join the discussion today!|
Your White Papers Search Results
Ensuring Business Success by Selecting the Right High-Productivity PaaS
A Platform-as-a-Service (PaaS) environment brings new application development flexibility to lines of business, IT, and development groups. This...
Enabling a More Natural Future for Your Application User Interfaces
Live Event Date: August 20, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT When you look at natural user interfaces as a developer, it isn't just fun and...