Hi, Mr Walker,
I'm Peidong Xie
, a third year master student from Institute of Software, Chinese Academy of Sciences.
Sorry to communicate with you so late, I want to express my interest in the idea "Implement a Cassandra/NoSQL Connector or Translator for GlusterFS
I have read the documents in the GlusterFS
website, from where I got the knowledge of GlusterFS
architecture and the way of writing translators.
Also, I roughly read the code of posix translator and bdb translator, and figured out the skeleton of a storage translator.
I noticed that GlusterFS had bdb as one of its storage
backends, but it's obsoleted. To implement a Cassandra translator for Glusterfs, I think the bdb translator is a good reference.
Cassandra doesn't provide native interface for C, there is a C++ client (libQtCassandra) which involves 3rd party libraries, so I think it's better to use raw Thrift API in Glusterfs.
I have participated in some projects, most of my work is related with file system:
(1) In 2011, I together with another student, developed a shared fs
based on FUSE, it's used to store
checkpoint file and image file, then multiple VMs
read/write a checkpoint or image simultaneously. The key idea is
parting the whole file into small blocks and cache them in memory, so that VMs
could share the file blocks. COW is used to make sure a VM's
won't influence others.
(2) During last year's GSoC
, I made the smbfs
client) in illumos
. Firstly, I implemented mmap
with block i/o, the main work it to implement the VFS
interfaces, such as smbfs
. Secondly, I add page cache support to file i/o, mainly modified smbfs
_write. With mmap
could cache file in memory and reduce the i/o request over the wire, so the efficiency of i/o increases.
(3) In last year, I spent some time porting ecryptfs
Linux, making it work with ecryptfs
, to support encrypted home directory.
Currently, I concentrate on the storage issues in big data. I have done study on some distributed systems such as hdfs
, and storage engines such as bdb
I hope my project experience and background knowledge could help in "Implement a Cassandra/NoSQL
Connector or Translator for GlusterFS
I haven't finished my proposal yet, I will finish it in one or two days.