Here's my configuration, not as well detailed as the original post
Linux workstation - rsynced to external drives, occasionally burned to DVD's for another level of backup. Home computer is also rsynced to my workstation at work (I work in IT so I have this flexibility). I'm cheap and won't pay for enough drives to support a decent raid configuration and it's not worthwhile to me to buy any kind of storage array. I have a home network running numerous servers, but my servers are older machines without enough storage to completely backup everything on my workstation and external drives.
Just a few notes worth mentioning about my setup. I'm an IT professional, familiar with databases, backup solutions, etc. For home use, rsync works incredibly well. I have simple one line "scripts" to do everything I need. With rsync I can decide with a switch whether I want deletes or not on my sync, and configure dozens of other options. It's very fast, and doesn't require having to maintain another application.
All my external drives are custom built (just buying a cheap case and whatever is the best $/GB drive at the time). These are very easy to upgrade whenever significantly larger drives get within my price range.
For managing my albums I use Digikam. Digikam does use sqlite as a database back-end. I could use mysql or some other database, but this works really well for me and is much easier to maintain. Digikam supports basic tagging and the database back-end and search capabilities make folder structure more or less irrelevant. The only reason I continue to use a folder structure that is somewhat logical (similar to original poster), is because it makes it easier if I access the folders via a file manager, or something other than Digikam.