Introducing Bolt, Neo4j's Upcoming Binary Protocol – Part 2
I recently had the opportunity to talk with Nigel Small about the development of the upcoming Bolt protocol and how it fits in with Neo Technology’s overall strategy for the also-upcoming Neo4j 3.0. Here's Part 2 of that interview.
Join the DZone community and get the full member experience.Join For Free
I recently had the opportunity to talk with the "Bolt" project’s co-founder, Nigel Small, about the development of the upcoming Bolt protocol and how it fits in with Neo Technology’s overall strategy for the also-upcoming Neo4j 3.0. Here's Part 2 of that interview.
(This article contains the conclusion to the interview with Neo Technology's Nigel Small about Neo4j's upcoming "Bolt" binary protocol.)
Duncan Brown: Switching gears a little, from an overall-project perspective, what is the approximate development/release schedule for Bolt? Is it to be released with the Neo4j 3.0 rollout?
Nigel Small: Bolt will be the defining feature of Neo4j 3.0. We're a long way into the project now and everything is working well—the protocol is well defined, the drivers are pretty solid and so we're now focusing on testing and optimization as well as the functionality around stored procedures that will form a key part of the deliverable.
We're looking at the first half of next year for a 3.0 release. It'll be awesome!!
DB: I don’t doubt that one bit! So how long has Bolt been in development for? Has it been smooth? What challenges have you faced?
NS: One of the biggest challenges is geography. The four of us that make up the core team all live and work in different countries: Britain, America, Sweden and Germany. Trying to work around time zones is never easy so we've jumped on the opportunity to co-locate whenever we can. But even with that difficulty, it's a great team and a great job. I can't think of anything else I'd rather be doing right now!
The project itself has gone really smoothly. I think it helped that Jake and I both had a good idea what we wanted to achieve before we'd even started. We're now a good way into realizing that and I think we're on course for a fantastic 3.0 release.
DB: How big of a team/effort has this been?
NS: Since January, the team has doubled in size so four of us are now working on uniform language drivers full time. We're also regularly partnering with domain experts from within Neo Technology and the wider community to tackle specific problems, so overall output is high.
DB: Sounds like the project is humming along nicely!
With Neo4j 3.0 coming in the not-too-distant future, what do you and the folks at Neo want the public to know about Bolt? Are there any particulars you would like people to focus on or get excited about?
NS: I think the key message here is that from 3.0 onwards, it's not going to matter what language or platform you use, you're going to have the same awesome experience. I've been involved with the Neo community for nearly five years now and this is the first time we're truly extending our reach beyond Java and taking Neo4j to the masses. Exciting times are ahead!
DB: You certainly don’t have to tell me twice! I think a lot of us have been waiting with bated breath to see what Neo is going to do with Neo4j 3.0!
Now, since we are talking about Neo4j and it is an open source project (woo!), I will of course be linking to your Bolt Driver GitHub project (which contains instructions on how to implement a language driver using Bolt!), but, is there any other information or any links you’d like to get out to our awesome readers?
NS: On top of those GitHub projects, we have the mailing list and a Slack channel. We have regular meetups in the London office and at other locations around the world and I'll also be at GraphConnect Europe in April so if you want to know more, come along to the event and throw questions at me!
So there you have it, fellow graph-fiends! Excellent times lay ahead for users of Neo4j. And if you’re even a fraction as excited about these developments as I am, definitely check out the following links:
- Bolt “How-To” GitHub Page: https://github.com/nigelsmall/bolt-howto
- Neo4j 3.0 Alpha Release Channel: http://alpha.neohq.net/ (this also contains links to other implemented drivers)
- Neo4j GitHub Page (including Bolt source): https://github.com/neo4j/neo4j
- Neo4j on Slack: https://neo4j-users.slack.com
- Neo4j Google Group: https://groups.google.com/forum/#!forum/neo4j
A big thank you goes out to Nigel Small of Neo Technology for taking the time to answer my questions when he could have instead been doing far cooler things, like working with Bolt!
Opinions expressed by DZone contributors are their own.