|
Comments
|
Today's Top SOA Links
BF on CF Access Denied
Access Denied
By: Ben Forta
May. 25, 2000 12:00 AM
As a rule I try to avoid the Access/CF discussion as it in-evitably provokes strong debate and even stronger emotions. Besides, the truth is - regardless of what I might suggest - Access remains an inexpensive and easily implemented solution. So why am I writing about Access now? Because I have come to realize that many users are considering only cost and performance in their decision-making process and are overlooking the bigger issues. Let me start by making it very clear that I've nothing against Microsoft Access: it's a great desktop database product, perhaps the very best one there is. And despite this column's title (sorry, I couldn't resist that one), the comments that follow apply not only to Access. I'm writing about shared file- based databases in general, all shared file-based databases, of which Access happens to be the most popular.
File-Based Databases
Access, FoxPro, dBase, FileMaker and Paradox are all examples of file-based databases.
Client/Server Databases
As such, the underlying data files used to store client/server data are never opened by client applications. Even if you use your DBMS's bundled management tools (for example, SQL Server Enterprise Manager), all data manipulation is actually performed by the database server. Data access via ODBC (or even native database drivers) works much the same way: ODBC is merely a client of the database server; it can't access the data directly. If multiple client applications access data simultaneously, all requests are sent to the database server and it processes them sequentially or concurrently. SQL Server, Oracle, DB2, Informix and Sybase are all examples of client/server databases.
Data Integrity
Web servers crash; it's unfortunate but it's a fact. File and print servers seem to stay up forever; most Internet servers don't. I have a NetWare 3.12 server in my basement running on a 386/33 with 8 MB of RAM that has been up for over 200 days and hasn't missed a beat. I don't see many Web servers (running on any platform, not just Windows) that can make that claim. Hopefully servers and their uptime will improve, but for now you must assume that your Web server will crash and will need rebooting. And hitting the reset button is anything but graceful. If you have an Access file open (just as if you had a Word file open), you run a very real risk of trashing that file, rendering it utterly useless and requiring that you restore a backup. Of course, backing up open files is highly problematic itself, so you might not even have a good backup of your data. Not a pleasant thought at all. Client/server databases don't run this risk. If your Web server is rebooted, all open connections to the database server will be broken but that's it: the database server itself stays up and so the data remains safe. (We're assuming of course that your database server crashes less frequently than your Web server, which is an argument for never running the Web server and database server on the same machine.)
Security
Good practice dictates that Webmasters be somewhat paranoid, always considering their Web servers to be highly vulnerable. The assumption that anything on the Web server can and will be stolen should be the driving force in determining what actually gets put on that server. (On a side note, this is why you must never hard-code login information or passwords in CFM files. Those files may get stolen and that information could end up in the wrong hands.) So what has all this to do with databases? For ColdFusion to access file-based databases, it needs access to those files. This means the data files must reside on the Web server or on a path that it can access. And if CF can access those files, so can anyone who breaks into the server. If the thought of your code being stolen scares you, then the thought of your data being stolen could keep you awake at night. Client/server databases don't run any such risk. If a hacker were to gain access to the Web server, the most they'd have access to is information about the database server, but not the database server itself. (We're assuming that the database server itself is secure, as it should be.)
Features
And There's Much More Too...
Summary
Reader Feedback: Page 1 of 1
Your Feedback
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
||||||||||||||||||||||||||||||||||||