« BackCouchDB 3.4.1 Releasedblog.couchdb.orgSubmitted by katsura 4 hours ago
  • fs111 3 hours ago

    Curious to hear who is using it still. I experimented with it 2010/2011 IIRC but never build a real project with it.

    • salviati 2 hours ago

      We tried to use it alongside pouchdb to provide offline first experience. We ran into a lot of issues, mainly with pouchdb bugs. Then after reading this list [1] of issues in the couchdb architecture we decided to ditch it and stop trying to make pouchdb work.

      [1] https://news.ycombinator.com/item?id=17115649

      • ZuLuuuuuu an hour ago

        Out of curiosity, if you would like to start a new, offline-first project that needs syncing, which database would be the best candidate today?

        • mananaysiempre an hour ago

          One interesting idea I’ve seen is none[1]. That’s definitely more on the exploration side than the shipping one, though.

          [1] https://tonsky.me/blog/crdt-filesync/

          • janl an hour ago

            I would still recommend you give CouchDB and PouchDB a fair shot. They are used successfully by many folks.

        • naranha 2 hours ago

          I build an internal project using CouchDB2 as a backend in 2017 and it's still used today. CouchDB definitely surpassed my expectations in what has been possible to do with it. Its biggest advantages are that data sync is effortless and that it uses HTTP as a protocol, so you can communicate directly with it from a web application.

          • ies7 an hour ago

            We still use couchdb & pouchdb only for syncing data for our salesmen app.

            It's an offline first PWA (Salesman need to make an order even if offline).

            And pouchdb make it easier because we don't have to care about indexeddb, leveldb or whatever of users browser's db.

            So its a single codebase for serving web, ios and android.

            Its great for sync but less then good for other uses

            • EraYaN 2 hours ago

              We are using it internally as just a document store (with some erlang views but that is it). It scales very nicely, but for smaller documents postgres does the job for us so we are (slowly) moving away to simplify the tech stack.

              • diggan 3 hours ago

                Was some time ago (2016), but we built and released Typeform LITE (form creator via text-entry-like interface for smartphones) with CouchDB + PouchDB which was a pleasure as far as I can remember. Was really neat to get local-first functionality almost out of the box with web tech on smartphones.

                • rakoo 2 hours ago

                  Used it this school year for a research project that needs solid replication of content and a firehose of updates. There are dozens of such projects but nothing beats the simplicity and versatility of basic HTTP calls with JSON documents and the robustness of a 15-years old project that Just Works.

                  • olakease 2 hours ago

                    I have built advertisement bidders and ad servers. I avoid querying the database on every request (and caches) by creating app in-memory materialized views of the database. See https://www.confluent.io/blog/leveraging-power-database-unbu... for more about this. Another cool feature of the replication protocol is that I can tell if all app servers are on the same version of the data.

                    • gneray 18 minutes ago

                      I was wondering the same thing

                      • PlayingPossum 42 minutes ago

                        It is still being used by a cool open-source project, Kazoo, which is essentially a multi-tenant PBX.

                        • vincnetas 2 hours ago

                          We are still using couchdb for user profile synchronisations. Basically user details and data from mobile synched to the cloud. In our application users do not interact between one another. So basically we use db per user model. This gives us synchronisation between mobile/web clients. Pity that there is no up to date mobile library for couchDB and we depend on an old one.

                          • lemme_tell_ya 3 hours ago

                            We used 1.6 for a large project in 2014 or so, the 2.x release removed key features for us and we were never able to upgrade. The direction they went after that just never really worked for us so we only have that legacy project still running.

                            • janl 2 hours ago

                              CouchDB dev here. 2.x only added new features, not sure what you’re referring to that was removed. The only on incompatibility was the changes feed ids moving from numbers to strings, which is hardly a huge migration :)

                          • ryandvm 3 hours ago

                            CouchDB was always a curious product that asked the question, "what would happen if your database and your application server were the same product?"

                            Unfortunately I think the answer was nobody would use it.

                            • janl 2 hours ago

                              CouchDB dev here. While that was our idea early on for a while, we have loooong (10+ years) moved away from this narrative.

                              CouchDB is a document database that can be essentially indefinitely clustered to grow and shrink with your application / traffic demands.

                              It also comes with a unique replication protocol that allows you to synchronise casually connected instances (say offices around the world, or mobile devices and a cloud) much more like git uses push & pull. No other database really puts that into an open source / open government project.

                              There’s tons more cool stuff that CouchDB does and its being used in mission critical infrastructure that you’re relying on every day :)

                              • mxuribe an hour ago

                                > ...replication protocol that allows you to synchronise casually connected instances...

                                That single featurte right there was why i first had started playing with couchDB several years ago. It really had been quite awesome! I think other features that help it really help with offline-first approaches also are really cool! But, ultimately, after playing with it (and really liking it), i just didn't have a need for too many personal use-cases....since sqlite was "good enough". I thought - and still believe - that for wider (maybe corporate/enterprise?) uses, it can still fit the need....but i don;t hear much buzzz about it in general...so in my case, i stopped using it, and forgot about it. Apologies to any devs behind it, no offnese meant...i just got my personal use-cases covered by sqlite...and on enterprise side, too many internal politics to convince stakeholders that couchdb would be better than other solutions in some use cases.

                                Also, the documentation back in the day to get started was ok-ish, but there didn't seem to be much around....i guess it could be one of those things where it is/was a great thing...but if not enough attention and use exists, then it won;t trigger a wider audience of devs who will also document more stuff and further triugger a virtuous cycle?

                                Anyway, good to see the devs are still at it! :-)

                              • rakoo 2 hours ago

                                > There’s tons more cool stuff that CouchDB does and its being used in mission critical infrastructure that you’re relying on every day :)

                                If you could share a bit on those I think the community would be extremely interested. There was that CERN thing a decade ago, if it's still true or there are other actors with similar amounts of data, there would be fewer comments about not finding CouchDB useful

                                • janl 2 hours ago

                                  Yeah we are working on that. Sometimes it is hard to get public info out of private projects, but there’s going to be a bit more on that in the not so distant future :)

                              • rakoo 2 hours ago

                                Map/Reduce was a hype of the days it was created, but you're perfectly fine not using it. CouchDB has been integrating MongoDB-style queries for a few releases now, and this very release introduces a full-text search engine. Map/Reduce is still there because it just works.

                                The real shame is that Map/Reduce is simply a toy, easy-to-add bonus when looking at the data structure, but that's not what CouchDB is or ever was about. The one reason it was created is replication and simplistic conflict handling, and it does it perfectly.

                                The reason CouchDB never took off is that it targets offline-first, something you'll see associated with peer-to-peer systems, but does that only for servers: you're supposed to install that thing through packages, configure a text file, run it with your preferred daemon manager, ... If CouchDB had a simple desktop version you could start in one click and forget about, it would have been way more interesting. Alas.

                                • steve_taylor 2 hours ago

                                  There are client implementations, such as PouchDB for the browser and Couchbase Lite (community edition) for mobile platforms.

                                  • janl 2 hours ago

                                    The Mac version is probably closest to what you mean, but yeah, an “Access/FileMaker“ type of app, most easily realised by bundling CouchDB and Electron probably, would go a long way. If anyone needs a project ;)

                                  • e12e 2 hours ago

                                    I think that better describes zodb/hope. Or gemstone glass.

                                    https://zodb.org/en/latest/tutorial.html

                                    • akx 2 hours ago
                                      • janl 2 hours ago

                                        still does (in a limited capacity :)

                                      • teddyh 3 hours ago

                                        Unless you are IBM.

                                      • codetrotter 2 hours ago

                                        I think there’s a small oversight in the release notes:

                                        > In that case, upgrade to 3.4.0 without changing the default and enable xxHash in 3.5.0 or later so you can roll back to 3.4.0 then.

                                        This should probably say 3.4.1, not 3.4.0, in the two places in that sentence where it says 3.4.0. Right?

                                        • janl an hour ago

                                          fixed, thanks

                                        • cyberpunk 2 hours ago

                                          Does it still use a version of spidermonkey from the early 2010's?

                                          • katsura 2 hours ago

                                            They also have QuickJS as an option in this release.

                                            • janl 2 hours ago

                                              it _supports_ one for a specific legacy users, the default is more modern.

                                            • Zababa 2 hours ago

                                              In the release notes highlights:

                                              > Optionally replace md5 with xxHash for data integrity checksums. 30% speed up on larger (128k) docs, no difference for smaller docs.

                                              Happy to see xxHash getting more and more popular!