The future of CouchDB

Original author: Damien Katz
  • Transfer
Note. This blog post by Damien Katz, creator of CouchDB, caused a wide response. At the end of this topic, the answer of one of Katz’s many opponents is published, whose opinion is radically opposite to the author.

What is the future of CouchDB? This is Couchbase.

Surprised? Ask how Apache CouchDB? Well, this is a great project. I founded it, wrote the first versions almost completely on my own, spent a huge amount of nerves, sweat and blood on it. I am very proud of him and the influence that he had. Now, I and the Couchbase team are ready to move on. Of course, CouchDB is a great system, but we are making it an heir: Couchbase Server. A product and project with similar capabilities and tasks, but faster, more scalable, more suitable for both users and developers. And definitely not part of Apache.

In the case of Apache CouchDB, the focus is primarily on consensus, consensus, on creating a community of developers who manage the project and its development. Apache has done a good job in this regard, and continues to do so. But for us this is not enough. I created CouchDB with the idea that an easy-to-use, peer-to-peer repository of documents with replication would be useful to the world. And CouchDB proved that many ideas are truly possible and useful, and it has become more successful than I could have dreamed. But if I started again, I would have done a lot differently.

It looks as if I consider the Apache activity to be erroneous, it is not. Apache has become an important part of CouchDB’s success, without it CouchDB wouldn’t have become popular that fast. But I believe that the project has reached a point where development by consensus limits its competitiveness. Nothing personal, this is business.

And now, it turns out, I got a chance to do it all again, already without having to start from scratch. Based on the previous Apache CouchDB and Membase project, by throwing inefficient parts and enhancing the effective ones, develop these excellent technologies into something developer-friendly, with high performance, designed for application in critical applications and mobile integration - this project can develop faster and be more responsive to the needs of users and customers than a community project.

Apache CouchDB, both the project and the community, is in good shape. And many of us at Couchbase still make commits there. But the future that I am promoting is beyond Couchbase Server.

What is my role in developing Couchbase? Right now I'm preparing Couchbase 2.0 for serious use in production. I am again an engineer and programmer, back to the trenches, designing and writing code, analyzing sources and design, helping other engineers and solving complex problems. And I'm jokingly going to make the simplest, fastest and most reliable NoSQL database. Easy for developers to use, easy to install, reliable on single machines and large clusters, and fast as fire. We are creating a system that you can put on the most critical tasks, business applications for working with users, and not feel like you are doing a dirty hack.

Soon, to work more closely with the team (and get rid of these terrible trips between work and Auckland), I will move with my family to Mountain View. Shit just got real!

I really look forward to the work that we have outlined. We are gradually translating most of the kernel into C / C ++, while using in design many of the principles of reliability and interoperability tested in Erlang code. And Erlang is still part of the product, especially in cluster management, but most of the performance-critical snippets will be rewritten in C. Erlang is still a great language, but if you need maximum performance and low-level control, then hardly anything compare with C.

In any case, much more needs to be said, too much for one blog post. One of my New Year's decisions was to write to the blog more often, and I have a lot of interesting things to tell about. Challenges in building a startup and programming culture. What are the problems (and benefits) of Erlang. UnQL promotion. TouchDB for mobile. And yes, we are still compatible with Apache CouchDB and Memcached. But the future is Couchbase.

Come with us.

Addition

As Chris Anderson noted in the comments, Couchbase is completely open and the code is published under the Apache license.

All parts of Couchbase are completely open, we have two pages on github where activity is seething:
https://github.com/couchbaselabs
https://github.com/couchbase
Probably the most interesting thing to start with is code analysis: http: // review.couchbase.org/

Let's be clear, if you like Apache CouchDB, stay with it. I think what I’m working on will appeal to you much more. If not, Apache CouchDB still remains.

PS The future of CouchDB is Apache CouchDB . Answer to Damien Katsu from BigCouch developers, translation by Zelgadis .

Cloudant has created and refined BigCouch over the past 3 years. BigCouch is a fail-safe, horizontally scalable cluster framework designed for CouchDB. Today we announce our intention to combine our work with the community. By working with the ASF and CouchDB community, we hope to integrate the core features of BigCouch into Apache CouchDB. We hope this puts an end to the annoying (and false) meme - “CouchDB doesn't scale.” BigCouch forms the foundation for a globally distributed and complex stack of technologies that we have been using in large-scale production for more than two years.

Those of you who have built apps with CouchDB know that its performance is improving by the day and not by the day. We achieved this thanks to the low-level implementation of critical procedures and the refactoring of the Erlang code base, but at the same time we did not damage the reliable and stable REST API that we used to expect from CouchDB. A growing community of active committers includes passionate star developers. Every day, more and more people are using CouchDB for projects, large and small.

We, along with many other companies, strongly support the community for the development of CouchDB, and we are not going to stop. We are very lucky in our ability to attract outstanding engineers, investors and customers. We intend to continue to provide resources on Apache CouchDB and offer our assistance in any form the community wants. The future of CouchDB is CouchDB.

Damien Katz was an excellent founder and managing director of CouchDB. It was an honor to work with him, and we wish him success in his new place and mission.

Also popular now: