On Thu, Aug 19, 2010 at 10:56:58PM +0100, Simon Slavin scratched on the wall:

> It might be worth noting that fragmentation is normally seen as an issue
> only under Windows which is very sensitive to it however.

  Most systems are sensitive to fragmentation.  It just happens that
  many other system address the problem with more advanced filesystems
  and/or filesystem drivers.  HFS+, for example (the primary filesystem
  of Darwin and Mac OS X) will automatically defrag smaller files
  (< 20MB).  I'm told HFS+ will also tend to migrate frequently used
  files to the middle of the disk platters (smaller average seek time),
  but I haven't found definitive documentation on this. 
  
  A number of the more advanced filesystems commonly found in the UNIX
  world have similar features.

  I know Vista and Win7 introduced some auto-defrag features, but I
  don't have any significant personal experience with those systems.

> Also, many installations of SQLite are on solid state devices where,
> of course, fragmentation has no effect at all.

  Umm... no.  SSDs have very different access characteristics compared to
  spinning platters, but they most definitely do not allow uniform access
  times to the whole address space.  "Seek time" isn't exactly the right
  word, but they have read delays based off the last block accessed,
  and a whole slew of other factors, including how the individual
  storage chips are "stacked", how the chips are cut up into banks, how
  the controller is designed, and on and on.  Also, because of the way
  the SSD devices work at the chip level, they tend to "stream" data,
  rather than just access it, so there are some designs that are even
  more sensitive to fragmentation.

  In many ways they're much more challenging to write drivers for, as
  each device has different characteristics that cannot be accounted
  for by just looking at the device geometry.

  This is all made even more interesting by the fact that many SSDs
  utilize file systems that intentionally fragment and move blocks
  around with every write (including writes to existing space in
  existing files) to spread out the write cycles.

   -j

-- 
Jay A. Kreibich < J A Y  @  K R E I B I.C H >

"Intelligence is like underwear: it is important that you have it,
 but showing it to the wrong people has the tendency to make them
 feel uncomfortable." -- Angela Johnson
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to