ATK Solutions Inc.

Our Company Portfolio Products, Software Products Custom Software Design, Software Development, Custom Programming Website Design, Web Design, Graphic Design, Website Development Website Promotion, Website Optimization, Search Engine Optimization, SEO Ecommerce Stores, Shopping Carts, Online Shopping Websites Articles, Programming Articles, Help Articles Fun Flash Games, Online Games, Challenging Puzzle Games Contact us for more information


Deciding what Database to use when designing a Software Application

This article is used for those who have some experience in software development. It is intended to help those making a choice on what database would work best based on the type and size of the application that one is looking to develop. Lets first define what a database is:

A database consists of an organized collection of data for one or more multiple uses. Databases consist of software-based "containers" that are structured to collect and store information so users can retrieve, add, update or remove such information in an automatic fashion. Database programs are designed for users so that they can add or delete any information needed. The structure of a database is tabular, consisting of rows and columns of information.

In today's world of programming, there are a lot of databases out there and a lot of options. The goal of this article is to at least give you a tip or two on what is the best option.

There are many aspects of things to consider when developing a database application.
Here are a few questions that should be answered before choosing a database:

#1: How many people are going to be using it?

#2: Is it for an in-house project or is it going to be on the web?

#3: What kind of growth potential is it going to have?

#4: How many transactions is it going to have regardless of the users?

#5: What are the licensing terms of the database software?

#6: What kind of budget do you have and do you want to start off small and worry about growth down the road?

#7: These are all questions that the developer must evaluate and from their make a decision how to proceed with a specific software project.

Well let's go through several databases and explain the best situation for each one:

Microsoft Access - this is good for a small to medium sized application. Small being maybe 2000 or so customers and maximum 2000 added records per month (roughly). It is good for a standalone application or in a small network 5 workstation or less environment. It does not perform well if you have several offices in different locations and you are trying to load the program over a WAN (wide area network). The reason for this is that when the application opens the Access database, the entire database gets loaded over the WAN so this would dramatically slow down the database. It also opens up potential problem of possibly corrupting it. Keep it in-house over small network with not too many users and it will work great. It is also a very cost effect database to use. Licensing is as simple as purchasing the software.

Microsoft SQL Server - this database is good for medium sized applications. It also works pretty well if an office has a WAN because all the processing is done on the server with the database on it. It doesn't load the whole thing over the network like Access does. The client asks for some information, the server processes it, and sends back the results. It also will handle more than 2000+ transactions per month (maybe about 20000) and has a very solid backend. It does cost a little more money but it is a lot more stable and can handle a heavier load and work well in both the LAN (local area network) and WAN (wide area network). Licensing can be more tricky especially if you want to use this online to all the world or for internal company usage.

Oracle Database - this database is a very high-end intensive database. This type of database is used for something like an ATM transaction system used by banks. Oracle can handle millions of transactions per month provided the correct hardware and computer backbone. It is designed for high impact systems. In fact, I think Google uses this for parts of their software. Of course the price tag on this is very, very expensive but again, if you are designing this type of system, then price tag of the project alone isn't going to be small. Licensing for this can be expensive.

MySQL Database - Don't get this confused with MS SQL Server. These are 2 different databases even though they sound the same. MySQL databases are excellent for online web based applications. Not gigantic applications the size as banking/ATM software, but smaller applications. They are very cost effective, and easy to use. They can handle probably the same as Microsoft Access but work best in the online environment. They integrate seamlessly with a programming language called PHP. Of course, if the database size gets to about a million+ rows, you may eventually consider other options. But for a website that is starting out and needs some backend forms and programming to support the business needs, this is by far the best option with the best budget these days. Again if business grows exponentially, you can always move to a dedicated hosting package and pay to change databases to make things faster. But if you do get to this point, then cost should not be a problem anyway. Most web hosting packages come with this as an option so licensing isn't really a problem at all.

In summing up this article, there is a lot to choose from, a lot of options out there. If you have any further questions, please don't hesitate to contact us or visit our database administration page.

 
Enter Feedback/Comment for this Article


Home / Website Map / Bookmark Page / Privacy Policy

Article Copyright © 2010 ATK Solutions, Inc. All Rights Reserved