Friday, April 21, 2006
How much database do you need?
By Deb Shinder, TechRepublic
13 Apr 2006
Companies of all sizes depend on databases--organized collections of electronic information stored on one or more computers in a systematic way--to function and do business.
Almost every business function relies on databases. The personnel department needs a database of employee information. The sales department needs a database of the company's products. Even the IT department itself relies on databases such as Active Directory to store information about the users, computers and resources on the network.
A database can consist of a single table (collection of information) or multiple tables of related information that can be linked to each other (called relational databases). The tables are linked via a field that they both have in common. Database software can range from the simple Microsoft Cardfile.exe program that was built into the Windows 3.x operating systems to more sophisticated but relatively inexpensive relational database programs such as FileMaker Pro or Microsoft Access all the way up to enterprise-level server-based programs such as Microsoft SQL Server or Oracle.
Making the decision to commit to a particular database program, whether you're implementing a database for the first time or considering a switch, can be a difficult one. There is no "one size fits all" solution, but there are ways you can ensure that you don't outgrow your software too quickly as the size of your business increases.
How much database do you need?
Small businesses may not need or be able to afford the "big guys"--if you can even figure out what they cost. Licensing/pricing structures can be confusing. For example, Microsoft's SQL Server 2005 can be licensed under several different models. With processor licensing, you pay a hefty fee (from US$3,899 for Workgroup Edition to US$24,999 for Enterprise Edition) per physical or virtual processor on which the software runs. The up side is that you don't have to buy Client Access Licenses (CALs) under this model. Alternatively, you can use the Server Plus Device CAL or Server plus User CAL model that costs only US$739 to US$13,969 for a set number of CALs (5 for Workgroup and Standard Editions, 25 for Enterprise) plus US$146 to US$162 per additional device or user. In fact, it's so confusing that Microsoft has even put out a whitepaper on Understanding Database Pricing.
Oracle's pricing structure is similarly complex. There are three main editions: Enterprise, Standard and Standard One (for single CPU servers). Each has different features and prices. Per-processor licenses range from US$4,995 to US$40,000. Named user licenses range from US$149 to US$800.
If you're a small company, then, what are your options? How can you set up a database that serves your needs now, without spending a significant (albeit lesser) amount of money on something that you'll have to trash in the future as your needs grow? There are actually several ways you can go:
* If your database needs are small and confined mostly to individual users, you can use Microsoft Access, which comes with Microsoft Office Professional an Small Business Management editions or can be purchased as a standalone product for under US$200. An advantage of this approach is that if you later implement a Microsoft SQL Server database, Access can be used as the "front end" (the interface with which users access the data on the "back end" SQL server).
* Use an open source database program such as MySQL, PostgreSQL or Borland Interbase 6.0. Some of these run on Linux/UNIX and some run on Windows.
* Use a less expensive server-based product such as FileMaker.
Commercial, custom or "roll your own"?
A generic database program such as the ones we've been discussing allow you to design the structure of your database and create the data entry forms that will be used to enter the information into it, as well as including tools to sort and manipulate the data and ask questions about the data (query the database). Many include programming or macro languages that make it easy for you to automate the functions, as well as templates, sample databases and wizards that can walk you through the process of creating your databases and forms.
You can buy commercial applications built on databases that are already created for you, for specific functions or industries. For example, you can buy accounting or finance management software instead of using database software to create a program for managing your money. If your manufacturing company needs a parts inventory program or your city government needs a program for managing police or municipal court records, many companies have already created such programs that they market commercially.
If the commercial programs aren't an exact match for your needs, there are also many companies that will create custom database packages for you after analyzing your organization's data and how you want to be able to manipulate and access it.
It can be far easier, especially if you're a small to medium-sized organization without in-house programmers, to buy one of these ready-made database programs or hire a database programmer to create one for you. However, if you choose that route, it's especially important to keep scalability in mind. If you buy a proprietary program, you may be forced to go back to the vendor--at high cost--if you need changes or upgrades made as your organization grows. And what happens if the database company goes out of business? You could be left with software that can't be upgraded at all. On the other hand, if the commercial or custom program is based on a standard database program such as Access or SQL Server, anyone who's familiar with that program will be able to make changes for you in the future.
Planning ahead for scalability
Planning ahead applies not only to deciding which database software you'll use, but also to how you structure your database. In designing a database, you should consider not just what information you want to enter into it now, but also additional information that you might need to include in the future.
Database architecture is a specialty area that requires a broad knowledge and training in analyzing organizational needs, because the structure of the database will influence how easy or difficult it will be for users to enter information and get the information that they need out of the database.
This is one area where careful planning can save you big bucks and major headaches on down the road.
13 Apr 2006
Companies of all sizes depend on databases--organized collections of electronic information stored on one or more computers in a systematic way--to function and do business.
Almost every business function relies on databases. The personnel department needs a database of employee information. The sales department needs a database of the company's products. Even the IT department itself relies on databases such as Active Directory to store information about the users, computers and resources on the network.
A database can consist of a single table (collection of information) or multiple tables of related information that can be linked to each other (called relational databases). The tables are linked via a field that they both have in common. Database software can range from the simple Microsoft Cardfile.exe program that was built into the Windows 3.x operating systems to more sophisticated but relatively inexpensive relational database programs such as FileMaker Pro or Microsoft Access all the way up to enterprise-level server-based programs such as Microsoft SQL Server or Oracle.
Making the decision to commit to a particular database program, whether you're implementing a database for the first time or considering a switch, can be a difficult one. There is no "one size fits all" solution, but there are ways you can ensure that you don't outgrow your software too quickly as the size of your business increases.
How much database do you need?
Small businesses may not need or be able to afford the "big guys"--if you can even figure out what they cost. Licensing/pricing structures can be confusing. For example, Microsoft's SQL Server 2005 can be licensed under several different models. With processor licensing, you pay a hefty fee (from US$3,899 for Workgroup Edition to US$24,999 for Enterprise Edition) per physical or virtual processor on which the software runs. The up side is that you don't have to buy Client Access Licenses (CALs) under this model. Alternatively, you can use the Server Plus Device CAL or Server plus User CAL model that costs only US$739 to US$13,969 for a set number of CALs (5 for Workgroup and Standard Editions, 25 for Enterprise) plus US$146 to US$162 per additional device or user. In fact, it's so confusing that Microsoft has even put out a whitepaper on Understanding Database Pricing.
Oracle's pricing structure is similarly complex. There are three main editions: Enterprise, Standard and Standard One (for single CPU servers). Each has different features and prices. Per-processor licenses range from US$4,995 to US$40,000. Named user licenses range from US$149 to US$800.
If you're a small company, then, what are your options? How can you set up a database that serves your needs now, without spending a significant (albeit lesser) amount of money on something that you'll have to trash in the future as your needs grow? There are actually several ways you can go:
* If your database needs are small and confined mostly to individual users, you can use Microsoft Access, which comes with Microsoft Office Professional an Small Business Management editions or can be purchased as a standalone product for under US$200. An advantage of this approach is that if you later implement a Microsoft SQL Server database, Access can be used as the "front end" (the interface with which users access the data on the "back end" SQL server).
* Use an open source database program such as MySQL, PostgreSQL or Borland Interbase 6.0. Some of these run on Linux/UNIX and some run on Windows.
* Use a less expensive server-based product such as FileMaker.
Commercial, custom or "roll your own"?
A generic database program such as the ones we've been discussing allow you to design the structure of your database and create the data entry forms that will be used to enter the information into it, as well as including tools to sort and manipulate the data and ask questions about the data (query the database). Many include programming or macro languages that make it easy for you to automate the functions, as well as templates, sample databases and wizards that can walk you through the process of creating your databases and forms.
You can buy commercial applications built on databases that are already created for you, for specific functions or industries. For example, you can buy accounting or finance management software instead of using database software to create a program for managing your money. If your manufacturing company needs a parts inventory program or your city government needs a program for managing police or municipal court records, many companies have already created such programs that they market commercially.
If the commercial programs aren't an exact match for your needs, there are also many companies that will create custom database packages for you after analyzing your organization's data and how you want to be able to manipulate and access it.
It can be far easier, especially if you're a small to medium-sized organization without in-house programmers, to buy one of these ready-made database programs or hire a database programmer to create one for you. However, if you choose that route, it's especially important to keep scalability in mind. If you buy a proprietary program, you may be forced to go back to the vendor--at high cost--if you need changes or upgrades made as your organization grows. And what happens if the database company goes out of business? You could be left with software that can't be upgraded at all. On the other hand, if the commercial or custom program is based on a standard database program such as Access or SQL Server, anyone who's familiar with that program will be able to make changes for you in the future.
Planning ahead for scalability
Planning ahead applies not only to deciding which database software you'll use, but also to how you structure your database. In designing a database, you should consider not just what information you want to enter into it now, but also additional information that you might need to include in the future.
Database architecture is a specialty area that requires a broad knowledge and training in analyzing organizational needs, because the structure of the database will influence how easy or difficult it will be for users to enter information and get the information that they need out of the database.
This is one area where careful planning can save you big bucks and major headaches on down the road.