Welcome to elreno.org
Web Hosting - Databases, What Are They and Do You Need One?
'Database' is one of the most commonly used terms that one encounters in web site design. Yet, what they really are and whether they're essential is often not clear to novices.
A database is a collection of organized data, stored in files that have a specific structure. It's that organization and structure that allows for easy and rapid storage and retrieval.
The need for a database generally only arises when you have a certain amount of information and that information needs to have some structure. If you have a half-dozen names and addresses to store, a database is usually overkill. If you have a blob of data with no relationships between any of the items in that blob, maintaining a database is usually more trouble than it's worth.
Maintain a database? Yes, like other complex systems a database, to be effective, needs to be designed properly at the outset then kept 'tuned' for good performance. The alternative is to gradually allow the database to become more and more disorganized. That leads to difficulty in use, poor speed of retrieval and more frequent failures.
With MySQL, Access or MS SQL Server, the three most common choices of database product for web sites today, setting up a database is relatively simple. Even those with limited technical skill can get one up and running just by following some simple instructions. But some thought should be given to how you want the information organized, and to maintaining the system during its lifetime.
Suppose you have a set of names, addresses, email addresses, products purchased, date purchased and amount. If you have only a few dozen records it matters very little how these pieces are arranged and related. A database usually isn't even warranted in this scenario. Once you have several thousand or more records, it matters a lot. Speed, the ease of expanding the set of attributes (like adding, say, product category), and other issues come into play.
Even those with little technical expertise, but a willingness to exert logical thought and invest some time, can build a very robust database. Think about how you would organize a set of data (called 'tables'). Should Name, Address, and Product be in the same table? Or should the personal information be stored in one table and any product information (product, price, ...) in another?
Some experimentation may be needed to get it right, but the choices have an impact on how easy the tables are to maintain. It also affects the speed with which programs can fetch old data and store the new.
Having a database also introduces new maintenance issues for the server administrator, since backups usually need to be done differently. Recovering a failed database is usually more complicated than simply re-copying files from yesterday. Ask your hosting company what tools and skills they have for dealing with any database system you consider.
It's true that introducing a database creates more complexity and the need for additional thought and administrative effort. At a certain level, professional expertise will be needed. But clearly the advantages outweigh the costs in many cases. Companies large and small eventually use databases to store and organize data. At some point, you may be fortunate enough to be one of them.
Why Time Management Makes for a Better Employee Time management is a major issue in the workplace. When time is not utilized efficiently, it leads to sloppy work, missed deadlines, and way too much stress. Employers are constantly seeking ways to teach their employees to manage their time better for a simple reason – a team that manages its time well is a team that is productive and successful. Everyone has done it. You’ve know that there is a big deadline approaching for weeks on end, and you kept telling yourself that have plenty of time. Then, suddenly, it is the day before the project is due, and you haven’t even begun it. You know you will have to pull an all-nighter, and even then you will be lucky to get everything done in time. Your heart is racing, your head is pounding, and you’re cursing your procrastination yet again, thinking about how much time you wasted surfing the next when you could have been doing a little work on the project every day, so it wouldn’t be so overwhelming. The end result of a project like this is predictable. You may get it in on time, or at least close to the deadline, but your work is likely to be sloppy. The rush job you did will be evident to everyone, and if your project involved making a pitch to a potential customer, your time management failure may end up costing your company big money (and costing you a job). As if you were not stressed enough already! If you contrast that performance with one in which you had effectively managed your time, the difference is clear. If you have worked on the project over the entire time span you had to finish it, a little bit at a time, then you would have had time to make sure your work was up to par. You wouldn’t have been scrambling for last minute information to include, and you could have made sure your work was free from little errors like typos or pages that printed incorrectly. Most importantly, you wouldn’t feel like you needed a week long vacation when the project was over, because your stress level never would have hit the roof. So, how do you become a happier and more effective employee by managing your time better? The first thing you can do to become an effective time manage is simple – write yourself a to-do list everyday. Not only does a to-do list help you think through exactly what you need to accomplish so you don’t forget anything in the rush, but it also helps you feel accountable for everything that needs to get done. If you write “spend 30 minutes on the big project” on your to-do list, it is a lot harder to come up with excuses why you can put it off for another day. Your conscience will make you want to get through everything on that list. If it seems like you never have enough time in the day, keep a journal of all of your activities. If you spend 20 minutes chatting by the coffee pot, write it down. After a week, look back over your activities. You may be surprised how much time you actually spend doing nothing. Now that you know, you can reinvest that time more wisely. The last thing is the hardest thing – getting over procrastination. This one is sheer willpower. When those voices in your head start arguing over whether to work on something now or put it off until later, listen to the work now voice. Give yourself manageable goals, like working on something for 15 minutes or 30 minutes, to get started. Once you experience the freedom from stress that time management brings, that procrastination voice will be a thing of the past. Web Hosting - Redundancy and Failover Among the more useful innovations in computing, actually invented decades ago, are the twin ideas of redundancy and failover. These fancy words name very common sense concepts. When one computer (or part) fails, switch to another. Doing that seamlessly and quickly versus slowly with disruption defines one difference between good hosting and bad. Network redundancy is the most widely used example. The Internet is just that, an inter-connected set of networks. Between and within networks are paths that make possible page requests, file transfers and data movement from one spot (called a 'node') to the next. If you have two or more paths between a user's computer and the server, one becoming unavailable is not much of a problem. Closing one street is not so bad, if you can drive down another just as easily. Of course, there's the catch: 'just as easily'. When one path fails, the total load (the amount of data requested and by how many within what time frame) doesn't change. Now the same number of 'cars' are using fewer 'roads'. That can lead to traffic jams. A very different, but related, phenomenon occurs when there suddenly become more 'cars', as happens in a massively widespread virus attack, for example. Then, a large number of useless and destructive programs are running around flooding the network. Making the situation worse, at a certain point, parts of the networks may shut down to prevent further spread, producing more 'cars' on now-fewer 'roads'. A related form of redundancy and failover can be carried out with servers, which are in essence the 'end-nodes' of a network path. Servers can fail because of a hard drive failure, motherboard overheating, memory malfunction, operating system bug, web server software overload or any of a hundred other causes. Whatever the cause, when two or more servers are configured so that another can take up the slack from one that's failed, that is redundancy. That is more difficult to achieve than network redundancy, but it is still very common. Not as common as it should be, since many times a failed server is just re-booted or replaced or repaired with another piece of hardware. But, more sophisticated web hosting companies will have such redundancy in place. And that's one lesson for anyone considering which web hosting company may offer superior service over another (similarly priced) company. Look at which company can offer competent assistance when things fail, as they always do sooner or later. One company may have a habit of simply re-booting. Others may have redundant disk arrays. Hardware containing multiple disk drives to which the server has access allows for one or more drives to fail without bringing the system down. The failed drive is replaced and no one but the administrator is even aware there was a problem. Still other companies may have still more sophisticated systems in place. Failover servers that take up the load of a crashed computer, without the end-user seeing anything are possible. In fact, in better installations, they're the norm. When they're in place, the user has at most only to refresh his or her browser and, bingo, everything is fine. The more a web site owner knows about redundancy and failover, the better he or she can understand why things go wrong, and what options are available when they do. That knowledge can lead to better choices for a better web site experience. |