BLOBs and Performance Issues
From: Joseph Geretz (jgeretz_at_nospam.com)
Date: 03/23/05
- Next message: Mr Not So Know It All: "How to Update an Oracle Stored Procedure with ADO and ASP"
- Previous message: Joseph Geretz: "BLOB Column in a Disconnected Recordset"
- Messages sorted by: [ date ] [ thread ]
Date: Tue, 22 Mar 2005 23:50:36 -0500
Here's what Microsoft has to say:
---------------------
It is more efficient in terms of retrieval of BLOB data to simply store the
data in files on the server with a pointer in the main record (or you can
use some sort of structured directory / file naming system based on the
primary key value).
http://support.microsoft.com/kb/194975/EN-US/
---------------------
OK, that's not surprising. The article goes on to list several advantages to
file system, as opposed to database storage. I'm familiar with these
advantages since we currently store our document in native file system
folders. However, the one drawback is in the area of security. With a client
/ server architecture if the software needs write access to these files it
means that the logged in user has fundamental read / write access rights,
which means that a smart (or malicious) user can get direct read / write
file system access to these files. Not good.
We are contemplating two approaches.
1. Store files in the database, as opposed to native file system storage.
Since the database is fundamentally a secured environment, this would keep
the BLOBs secured. Naturally, users of our software would continue to have
have read / write access to these BLOB images but only via the software
which is a fully controlled, audited environment.
2. Leave documents in their native file system storage, but impose a Web
Service gateway between the client and the file repository. (i.e. evolve to
an n-tier architecture.) Again, this has the advantage of isolating the
document repository into a secure environment, behind the Web Server
'firewall'. System users continue to have read / write access but all
accesses must pass through the Web Service layer, giving us full control
over who accesses what and providing full auditability.
Has anyone ever compared these two approaches in terms of performance? And
does anyone have any idea how either of these approaches compare with native
file system access?
Thanks very much for your help!
- Joe Geretz -
- Next message: Mr Not So Know It All: "How to Update an Oracle Stored Procedure with ADO and ASP"
- Previous message: Joseph Geretz: "BLOB Column in a Disconnected Recordset"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|
|