Nick,

You wouldn't employ disk caching if it weren't coming from the DB because the 
files would already be written to disk in their native format, so we must be 
talking about two different things.

And yes, your CMS might store static page elements as binaries in the database, 
and it does make sense.  SharePoint 2007 does, which is precisely why it also 
employs both disk caching and page output caching.  In fact, each image, 
JavaScript file, cascading style sheet, or other page element is stored as a 
binary in the database with SharePoint 2007.  That's what makes solid 
centralized management of complex content possible.

So if I was forced to use replication to transport content changes, I would 
still immediately disk cache (just convert and write out to disk) those images 
and serve directly from IIS, rather than expend all those resources going 
through all those extra layers.  Update timestamps could be employed to track 
only those images and other assets that had changed since the previous update, 
and the system could just write those to disk and ignore the rest.

In fact, we have a commercial product we created over a year ago that hasn't 
been launched yet that can handle this sort of thing transparently in the 
background in realtime as images are added, updated, or deleted.  It's called 
FileRobot, and it can be extended using the .NET Framework to do just about 
anything you want with any kind of file, from running complicated RegEx on text 
contents to performing XSLT transformations, image manipulations, file copies, 
FTP, etc.  Just haven't had the time to put it out there yet.  We've been using 
it in production on very heavy load systems with literally millions of images, 
and it works great.

Respectfully,

Adam Phillip Churvis
Certified Advanced ColdFusion MX 7 Developer
BlueDragon Alliance Founding Committee



Get advanced intensive Master-level training in
C# & ASP.NET 2.0 for ColdFusion Developers at
ProductivityEnhancement.com

  ----- Original Message ----- 
  From: Nick McClure 
  To: CF-Community 
  Sent: Monday, February 19, 2007 2:02 PM
  Subject: RE: Storing images in DB.


  Yes, never with CF, but I've done it before, and I've employed caching
  techniques both on the server and on the load balancer to assist, but I'd do
  that even it they weren't coming from the DB.

  You don't put static page images in the DB, that doesn't make sense, but if
  you are wanting to replicate the data to multiple locations, it seems silly
  to have to replicate file content when SQL Server has this stuff built in.

  How would you replicate data and images across multiple locations?

  > -----Original Message-----
  > From: Adam Churvis [mailto:[EMAIL PROTECTED]
  > Sent: Monday, February 19, 2007 1:30 PM
  > To: CF-Community
  > Subject: Re: Storing images in DB.
  > 
  > Nick,
  > 
  > Have you ever tried this *under load* with either a large number of
  > images on a single web page, a single large image, or a combination of
  > these?  It all seems about the same on the work bench, but it's a whole
  > different story under load, which is all that really matters.  This is
  > why Microsoft itself employs sophisticated caching schemes to eliminate
  > the need to touch the database for binaries any more than it absolutely
  > has to.
  > 
  > Also, look at every single step of what *actually* happens when you
  > retrieve binary data from the database, serve it, and convert it.
  > You're being a bit too simplistic when you mention the pointer stored
  > in the table, as if that somehow makes it like a direct file retrieval
  > from disk.  There's a lot of work that's done to make this happen, and
  > it does make a difference that you'll notice under a realistic load.
  > 
  > Respectfully,
  > 
  > Adam Phillip Churvis
  > Certified Advanced ColdFusion MX 7 Developer
  > BlueDragon Alliance Founding Committee
  > 
  > 
  > 
  > Get advanced intensive Master-level training in
  > C# & ASP.NET 2.0 for ColdFusion Developers at
  > ProductivityEnhancement.com
  > 
  >   ----- Original Message -----
  >   From: Nick McClure
  >   To: CF-Community
  >   Sent: Monday, February 19, 2007 10:44 AM
  >   Subject: RE: Storing images in DB.
  > 
  > 
  >   We aren't talking about static page images, those types of images
  > should be
  >   on the web server. He is looking for a way to ensure that the data
  > and the
  >   images aren't kept separate from each other.
  > 
  >   In an environment such as this, keeping the images in the database is
  > a
  >   great idea. The data is stored in a fairly similar way, binary data
  > such as
  >   this isn't stored in the tables, the table only holds a pointer to
  > the
  >   actual data. The performance change from accessing the images via a
  >   networked file server vs a database isn't going to be major for a
  > small
  >   percentage of images.
  > 
  > 
  > 
  >   > -----Original Message-----
  >   > From: Adam Churvis [mailto:[EMAIL PROTECTED]
  >   > Sent: Monday, February 19, 2007 10:25 AM
  >   > To: CF-Community
  >   > Subject: Re: Storing images in DB.
  >   >
  >   > Listen to Rick.  And picture in your minds the two very different
  > pipes
  >   > needed to retrieve, process (or not) and serve, and the mechanisms
  >   > through which each must pass, and how the system's resources react
  > to
  >   > each.  Think about how database-persisted binary data is physically
  >   > stored, retrieved, delivered, and converted.
  >   >
  >   > Even systems like SharePoint rely on a combination of disk caching
  > and
  >   > page output caching after the first retrieval of a page's
  > constituent
  >   > parts from the database.  Database storage is for management
  >   > convenience only; a sophisticated scheme is employed to get those
  >   > assets out on disk as regular files and then serve them from there.
  >   >
  >   > Respectfully,
  >   >
  >   > Adam Phillip Churvis
  >   > Certified Advanced ColdFusion MX 7 Developer
  >   > BlueDragon Alliance Founding Committee
  >   >
  >   >
  >   >
  >   > Get advanced intensive Master-level training in
  >   > C# & ASP.NET 2.0 for ColdFusion Developers at
  >   > ProductivityEnhancement.com
  >   >
  > 
  > 
  > 
  > 
  > 
  > 

  

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
ColdFusion MX7 by AdobeĀ®
Dyncamically transform webcontent into Adobe PDF with new ColdFusion MX7. 
Free Trial. http://www.adobe.com/products/coldfusion

Archive: 
http://www.houseoffusion.com/groups/CF-Community/message.cfm/messageid:228359
Subscription: http://www.houseoffusion.com/groups/CF-Community/subscribe.cfm
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.5

Reply via email to