[GSOC] Barrel-db: Implementing a RabbitMQ plugin

50 views
Skip to first unread message

Sohaib Iftikhar

unread,
Feb 21, 2018, 7:34:57 AM2/21/18
to BEAM Community
Hi,

I am interested in working on barrel-db this summer as a GSOC project. I am currently pursuing a masters in Computer Science at the Technische Universität München. My liking for this project stems up from my previous interest in distributed storage systems. Further, I already have experience with RabbitMQ and other pub-sub/queuing systems such as Kafka, SQS etc. which may help in better design. I have a few questions/ideas about this project that I would like to state.

1. The plugin would not change any requirements for barrel-db itself (as in RabbitMQ does not become a dependency). There should be some external configuration that states the RabbitMQ server (and maybe another config that switches this service and off). When this is provided, all updates (commit logs?) are pushed into this server. The availability and response times of RabbitMQ are entirely the user's responsibility. We could add tests and performance results around this to figure out what the extra call costs. Please correct me if this understanding is incorrect.
2. My current understanding of Erlang is rather elementary. But I do have significant experience with functional languages like Scala and to a lesser extent with Haskell. From what I have been reading in the past few days Erlang's execution model shouldn't be a hard thing to catch up to (probably a couple of weekends). I would like to know if this estimate is too ambitious and if the language is too big of a hindrance for me to participate in this.
3. To get familiar with the codebase and to get up and running with the build-environment I would appreciate it if I could be pointed to some easy (read low-effort) issues that I could help out with. Apart from familiarisation with the code-base, this would also help me write a better design document for the project.
4. Any other pointers/documentation that you would like me to go through is most welcome.

Thank you for your time and looking forward to your replies.

Thanks,
Sohaib

Sohaib Iftikhar

unread,
Feb 28, 2018, 2:59:38 PM2/28/18
to BEAM Community
Hi guys,

Would be nice to have some feedback on this. So we can think this through together.

Thanks,
Sohaib

Benoit Chesneau

unread,
Mar 6, 2018, 4:20:27 PM3/6/18
to BEAM Community
Hi,

Somehow I didn't get the notifications, sorry. 

I updated the pages for the plugin that describe what is expected: 

All the replication is already pluggable, so  it rather a matter of designing a protocol and then create a prototype. You don't need to be a pro in Erlang and I will guide you over the developments. At the beginning I will share with you a document that describe how the replication work and how it is hooked with the current transport. We can discuss about that at the end of the week on Gitter if you want :)- benoit

Sohaib Iftikhar

unread,
Mar 7, 2018, 9:55:58 AM3/7/18
to beam-co...@googlegroups.com
Hi Benoit,

Thank you for your reply. I would be happy to read this document on replication and then propose a design. It's a bit late but if this works out well we can think if this can end up in a proposal or not.

Thanks,
Sohaib


--
You received this message because you are subscribed to a topic in the Google Groups "BEAM Community" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/beam-community/c0394f54-c072-4c80-a1ba-1be897df0e70%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages