Thought i'de give the Drupal BitCache module a spin for a new project as it offers all the promises of Content Addressable Storage (CAS).
Yes, OK, so you can use the FileFramework that uses the BitCache module to present CCk fields, but there is still nothing distributed about the BitCache project.
There is no support for memcached for Drupal BitCache (And, more so, why would you want to store blobs in memcached? it does not handle object persistance so well)
OK, Whoopee, BitCache manages to save file's to disk using a SHA-1 256 algorithm for the filename, but there's still nothing Distributed about it!! There is no bitcache server that handles the 'distributed' files.
maybe i need to mount an array of servers as my CAS filepath.
or better yet, wait until amazon S3 support is working..
Oh and while i'm at it, why do i *need* RDF for BitCache??
Why not just add SHA-1 or MD5 checksum to FileField Path Token's then you have just about everything this module offers.
mysql> select * from file_nodes;
+-----+-----+-----------------------------------------------------+-------+-----------+-------+-----------+
| nid | vid | uri | size | type | views | downloads |
+-----+-----+-----------------------------------------------------+-------+-----------+-------+-----------+
| 4 | 4 | bitcache://f5c85822fe63236f537bb5b47126c6fc32c1255e | 40076 | text/html | 0 | 0 |
| 5 | 5 | bitcache://8d66ee16af43eec7ade41e84e2e5296607915d0e | 21035 | image/png | 0 | 0 |
| 6 | 6 | bitcache://f5c85822fe63236f537bb5b47126c6fc32c1255e | 40076 | text/html | 0 | 0 |
+-----+-----+-----------------------------------------------------+-------+-----------+-------+-----------+
3 rows in set (0.00 sec)
From the BitCache project page.
Bitcache is a distributed content-addressable storage (CAS) system. It provides repository storage for bitstreams (colloquially known as blobs) of any length, each uniquely identified and addressed by a digital fingerprint derived through a secure cryptographic hash algorithm.
Repository backends currently range from local in-memory and file system (plain file & GDBM) adapters to remote network connectors for Memcached, HTTP, SFTP, and Amazon S3. Additional adapters are in the works for FTP, TFTP, SQLite, MySQL and PostgreSQL.
Bitcache provides a command-line client (called bit) for managing and querying repositories, a standalone HTTP server (bitcached) for serving or proxying repositories using a simple web-native REST API, and a synchronization utility (bitsync) for replicating bitstreams between repositories.
Bitcache is written in Ruby and released under the open-source MIT License. Development, including the SVN repository, is hosted at RubyForge. Another Bitcache server implementation also exists for the popular PHP-based Drupal content management system.