5 ms·
Very creative way to combine the pros of recent fault-tolerant, distributed systems. Looks like you are the same jdoliner behind RethinkDB? The link "git-like
by doublerebel 12y ago
Very creative way to combine the pros of recent fault-tolerant, distributed systems. Looks like you are the same jdoliner behind RethinkDB?
The link "git-like semantics" points to an article about ZFS -- not btrfs. I was already thinking of ZFS because Pfs reminds me of Joyent's Manta. Manta also provides virtualized containers for data where compute/MapReduce jobs can be run directly. I love ZFS and have been relying on it for years. Which makes me wonder:
* Why Btrfs and not ZFS? Licensing? Features? Lack of availability of ZFS hosts? [1]
* Joyent just open-sourced Manta, is the timing a coincidence?
* Manta provides "SnapLinks" for version control but otherwise does not really leverage ZFS to provide a history. What other differences and advantages does Pfs aim to provide?
Looking forward to how this project evolves.
[1] I own zfshosting.com since I see a need for affordable, semi-managed, online ZFS storage. If you share my vision please contact me.
- jdoliner 12y ago> Looks like you are the same jdoliner behind RethinkDB There are many great people behind RethinkDB, 2 of them are involved in pfs actually. I am however the only one named jdoliner :) > Why Btrfs and not ZFS? Licensing? Features? Lack of availability of ZFS hosts? [1] This came down to minimizing dependencies, Docker uses btrfs so we know it's going to be installed anywhere we deploy. I actually think that ZFS is better and am interested in using it in the future. > Joyent just open-sourced Manta, is the timing a coincidence? Yeah total coincidence, I haven't gotten a chance to read a ton about it but it seems interesting. One big difference is that we intend to fill out a full set of git-like with things such as branching and merging. Another is that our model of MapReduce is very deeply intertwined with this set of git-like semantics. Thanks for the kind words and zfshosting looks awesome. I'd love to chat about ZFS with you sometime.
- doublerebel 12y agoVery neat. Btrfs is a practical choice. Looks like the Go http server listens for both changes and jobs? Could you tell me about the advantages git semantics add to MapReduce? Last, how does Pfs choose to distribute data across containers? You've inspired me to put up an Unbounce page. Let's talk ZFS soon!
- jdoliner 12y ago> Very neat. Btrfs is a practical choice. Looks like the Go http server listens for both changes and jobs? Right now pfs is just a file system so servers only listen for changes. However longterm this is going to be the case because submitting a job is actually going to be implemented as making a commit in the file system that tells pfs which data to run the job over and the container to use to do so. > Could you tell me about the advantages git semantics add to MapReduce? One is that it gives you an audit log which is very useful for debugging. I often find myself with data in HDFS that doesn't look like what I expect it to and wish that I know what process changed it. Another killer feature is that it removes the distinction between stream processing and static MapReduce. Since our file system is commit based we think of MapReduce as an operation over a stream of commits rather than a static set of files. When more commits come in you can recompute your job for only the changes. > Last, how does Pfs choose to distribute data across containers? Right now pfs uses a simple static hashing algorithm based on filename. This probably isn't going to work for production deployments. We're planning to improve it soon. > You've inspired me to put up an Unbounce page. Let's talk ZFS soon! Yes please.