Step 2 in my quest to run camlistore in AWS Lambda: a key/value store based on DynamoDB:
https://github.com/raff/camlistore/commit/1cc9fd2b4f63b915919643d536c2d54c3e7c37b4 It seems to work (I was just able to re-index my blobs, I'll have to try starting from scratch) but it's a big hack, since DynamoDB doesn't support arbitrary "finds" (to implement the "Find(start, end)" method. So, this implementation "knows" that blobs are named "sha1-{hexadecimal-string} and that some keys are prefixed with "something:" and "something|". I guess I could have made it a little simpler by limiting the number of "partitions keys" to either the camlistore key prefix (something: or something|) or "sha1-", but to get a better spread of keys between the shards I also add the first "digit" in the hex string (that means that the Find method needs to do multiple queries if the starting key is in one shard (i.e. xxx:sha1-axxxxxxx") and the ending key is in a different shard (i.e. xxx:sha1-fxxxxxx). Anyway, at some point I can try the simplified version, but for now this should be good enough to move to "step 3" (actually run camlistored or a simplified version in AWS Lambda) -- Raffaele -- You received this message because you are subscribed to the Google Groups "Camlistore" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
