neighbourhoodie-nnh-logo

Manual Conflict Resolution with CouchDB and Svelte posted Wednesday, December 18, 2024 by Alex

In our previous post, we added automatic conflict resolution to our multi-user, real-time Kanban board. This would silently resolve any conflicts where two users simultaneously modified two different properties of the same Kanban board card, eg. Alice changes the card’s title, and Bob changes the card’s location. While these changes constitute a conflict on a single database record, they don’t actually collide within that record, and thus the conflict can be resolved by a machine.

Regrettably, this doesn’t solve all possible conflicts: two users can still simultaneously modify the same property of the same card, eg. both Alice and Bob edit a card’s title.

Read the article

Automatic Conflict Resolution with CouchDB and Svelte posted Wednesday, December 11, 2024 by Alex

This is the second part of a blog post series on building a real-time, multi-user Kanban board with CouchDB and Svelte. We’ve previously made design decisions that should help reduce the opportunities for conflicts, but since we can’t rule them out completely, we do need to provide ways to resolve them. In this post, we’ll be covering the possibilities of automatic conflict resolution, which means:

  • A machine can resolve the conflict without any user input
  • The resolution happens in the background without anyone even noticing
Read the article

A real-time multi-user Kanban board with CouchDB and Svelte posted Thursday, December 5, 2024 by Alex

A Kanban Board with a number of cards, apparently used to manage various types of rodents. Two users are online, and are working on different cards.

In this first post of a four-part series, we’ll start building a real-time Kanban board, and discuss the challenges and trade-offs.

Read the article

Full-text Search and Faceted Querying with CouchDB posted Wednesday, November 27, 2024 by The Neighbourhoodie CouchDB Team

CouchDB stores your JSON data naturally in documents. It also gives you multiple mechanisms for querying that data:

Read the article

Celebrate 10 Years with Us — Get SQS for Free! posted Thursday, November 21, 2024 by The Neighbourhoodie CouchDB Team

Structured Query Server: Unlock your database for everyone. Access insights in SQL, the language your team already knows

We’re celebrating our 10th birthday by giving away five (5) licenses for Structured Query Server (SQS). SQS is the tool that gives more teammates access to your CouchDB data in SQL. Here’s everything you need to know about grabbing your license.

Read the article

Your Questions About CouchDB 3.4.2, QuickJS, and Nouveau Answered posted Wednesday, November 13, 2024 by The Neighbourhoodie CouchDB Team

Several weeks ago we hosted our CouchDB Meetup and so many great questions about the new CouchDB release were posed that we’ve collected them here. If you are curious about CouchDB 3.4.0 - 3.4.2, QuickJS or Nouveau, these answers should give you some idea of what to look forward to in the update.

Read the article

In Views, Avoid Emitting the Document _id posted Wednesday, November 6, 2024 by The Neighbourhoodie CouchDB Team

During our consulting on many many customer CouchDB installations, we keep finding the same common pattern, view map functions that look similar to this:

Read the article

First Steps with Nouveau, CouchDB’s New Full-Text Search posted Thursday, October 24, 2024 by Alex

With Version 3.4.1, CouchDB added Nouveau, a brand-new implementation of search using Lucene. After announcing the feature in a previous post, we now dive deeper into Nouveau and try out fuzzy search, facets, counts and ranges, while of course also covering the installation and setup, and some performance considerations.

Read the article

PouchDB Tip: Use CouchDB as an API posted Wednesday, October 16, 2024 by The Neighbourhoodie Team

PouchDB and CouchDB used together are a powerful combination and one of the very few technologies that allow you to build truly robust offline web applications.

Read the article

NH:STF S01E03 Yocto posted Wednesday, October 9, 2024 by The Neighbourhoodie Team

This post is part of our series on our work for the Sovereign Tech Fund (STF). Our introduction post explains why and how we are contributing to various Open Source projects.

You may not have heard of Yocto, but you have most certainly used Yocto, at least indirectly. Yocto lets you build a bespoke Linux distribution for your embedded devices. Many “smart home” or otherwise smart appliances likely run a variant of Linux under the hood (that you never see or interact with) and chances are good that the manufacturer used Yocto to create and maintain that bespoke Linux distribution. Their users and supporters are a veritable who is who of the technology industry: Intel, AMD, ARM, Cisco, Microsoft, Siemens, Texas Instruments, Dell, LG, Qualcomm, you name them.

Read the article

Apache CouchDB 3.4.1 has been released, here is what this means for Neighbourhoodie Customers posted Monday, September 23, 2024 by The Neighbourhoodie CouchDB Team

The Apache CouchDB team has released CouchDB 3.4.1 a combined feature and bugfix release that includes, among a number of high-profile features, a slew of performance enhancements and bugfixes. This blog post goes into detail about what this means for Neighbourhoodie’s customers with concrete recommendations and tips for upgrades.

Read the article

CouchDB 3.4.1 New Feature QuickJS posted Monday, September 23, 2024 by The Neighbourhoodie CouchDB Team

QuickJS is a JavaScript engine that can do the same work as CouchDB’s existing JavaScript engine SpiderMonkey, but with different tradeoffs that have advantages for CouchDB users.

Read the article

CouchDB 3.4.1 New Feature Nouveau posted Monday, September 23, 2024 by The Neighbourhoodie CouchDB Team

Nouveau is a from-scratch reimplementation of Lucene fulltext search for CouchDB. While in beta, this aims to replace CouchDB’s existing fulltext search option Clouseau / CouchDB Search in the near future.

Read the article

How CouchDB Prevents Data Corruption: Append-Only Database Files posted Wednesday, September 18, 2024 by The Neighbourhoodie Team

CouchDB takes keeping your safe very seriously. It does everything in its power not to accidentally lose any of your data. Let’s look at one of the things that keep your data safe: append-only database files.

Read the article

NH:STF S01E02 OpenPGP.js posted Wednesday, September 11, 2024 by The Neighbourhoodie Team

This post is part of our series on our work for the Sovereign Tech Fund (STF). Our introduction post explains why and how we are contributing to various Open Source projects.

OpenPGP.js is a pure, Open Source OpenPGP implementation written in JavaScript. Its main use-case is enabling PGP workflows in web-based email systems, but as JavaScript is available on almost all devices these days, its utility is universal.

Read the article

Avoid Concurrent Writes to Document Properties posted Friday, September 6, 2024 by The Neighbourhoodie Team

Designing your data for use with CouchDB is usually pretty straightforward. Your application will make use of certain objects or data records like persons, events, tasks, etc. When thinking about storing these in CouchDB, you usually store an individual instance of each of those objects or data records in an individual CouchDB document:

Read the article

All Views in One Design Doc posted Wednesday, August 28, 2024 by The Neighbourhoodie Team

CouchDB organises the definitions for all secondary indexes in a database in design documents. This is true for JavaScript Views, Erlang Views, Lucene text indexes, and Mango Queries.

Read the article

How to Store Dates in CouchDB posted Wednesday, August 14, 2024 by The Neighbourhoodie Team

CouchDB uses JSON as a data format, and JSON does not have a built-in way to represent dates. But dates are commonly used when building applications for all sorts of things, and there are ways to store them in CouchDB, so how is that done?

Read the article

NH:STF S01E01 Sequoia-PGP posted Wednesday, August 7, 2024 by The Neighbourhoodie Team

This post is part of our series on our work for the Sovereign Tech Fund (STF). Our introduction post explains why and how we are contributing to various Open Source projects.

Read the article

Data Format Compatibility posted Friday, August 2, 2024 by The Neighbourhoodie Team

When storing data in CouchDB, you send JSON in one form or another. When you retrieve data from CouchDB it is also in the JSON format.

Read the article

Why Does CouchDB Require an Admin Account to Start? posted Wednesday, July 24, 2024 by The Neighbourhoodie Team

In CouchDB 1.x, one of our [the CouchDB developers’] overarching goals was to create a database that is easy to use. We spent many years refining the CouchDB REST API to make it as easy and as convenient as possible, so people don’t get turned away from using CouchDB by how hard it is to use.

Read the article

Neighbourhoodie and the Sovereign Tech Fund posted Thursday, June 6, 2024 by The Neighbourhoodie Team

We have exciting news to share: Neighbourhoodie is an official Implementation Partner of the Sovereign Tech Fund’s Bug Resilience Programme.

Read the article

Introducing Structured Query Server posted Tuesday, March 5, 2024 by The Neighbourhoodie Team

In the vast realm of databases, two types have consistently marked their presence – the traditional SQL databases and the more flexible NoSQL counterparts. SQL databases, with their structured nature, have been serving businesses for decades. On the other hand, NoSQL databases, notably Apache CouchDB, have catered to the needs of modern web applications and their semi-structured data requirements.

While both have their distinct strengths, there's often been a wish amongst users and developers for something that combines the two — a tool that brings together the scalability of NoSQL with the precise querying of SQL. In response to this need, Neighbourhoodie presents the Structured Query Server. Designed with feedback from the developer community, this addition aims to address common challenges faced by CouchDB users and offer enhanced capabilities for data analysts.

This blog is going show the features of our Structured Query Server for Apache CouchDB, its application, and how it harmonise the two different approaches.

Read the article

CouchDB and Docker posted Tuesday, November 3, 2020 by The Neighbourhoodie CouchDB Team

Docker is an extremely popular way of deploying any kind of application in many different environments. Deploying CouchDB is no exception, the CouchDB project even maintains its own set of Dockerfiles, as well as a helm chart to help orchestrate multiple containers as a cluster on Kubernetes.

Read the article

default.d and local.d posted Tuesday, October 27, 2020 by The Neighbourhoodie CouchDB Team

When we explored how default.ini and local.ini work in unison to provide a coherent configuration and upgrade behaviour, we skipped over one more part of the configuration puzzle.

Read the article

Local.ini is Never Overwritten on CouchDB Updates posted Tuesday, October 20, 2020 by The Neighbourhoodie CouchDB Team

CouchDB is configured through configuration files on disk. The format of the files is INI.

When it starts, CouchDB reads a series of .ini files to make up the final configuration it is going to start with. This series of .ini files is called the config file chain.

Read the article

Everything You Need to Know About CouchDB Database Names posted Tuesday, October 13, 2020 by The Neighbourhoodie CouchDB Team

Naming a database does not sound like an exciting activity. But it can be, if you know all the considerations that go into naming a database in CouchDB. Let’s start with the restrictions.

Read the article

Sharding — Reducing the Number of Shards posted Tuesday, October 6, 2020 by The Neighbourhoodie CouchDB Team

In contrast to increasing the number of shards for a database, reducing the number of shards is not a built-in operation. In addition, as shard splitting is only available in CouchDB 3.x and later, this advice is good for version 2.x as well.

Read the article

Sharding — Increasing the Number of Shards posted Tuesday, September 29, 2020 by The Neighbourhoodie CouchDB Team

This advice is only true for CouchDB 3.0.0 or later. Next week, we’ll cover increasing the number of shards in CouchDB 2.x.

Read the article

Sharding — Choosing the Right q Value posted Tuesday, September 22, 2020 by The Neighbourhoodie CouchDB Team

One of CouchDB’s core features is scalability. There are two axis of scalability in CouchDB:

  1. Scaling the amount of data stored
  2. Scaling the number of requests handled
Read the article

Use JSON Patch to Resolve Conflicts posted Tuesday, September 15, 2020 by The Neighbourhoodie CouchDB Team

CouchDB is unique in the database world because it makes data conflicts first-class citizens of its data model. Normally, databases and applications built on them do a large amount of work to avoid doing this. In many scenarios, this leads to subtle errors and occasional data loss.

Read the article

Copy Design Docs to Avoid Waiting For Indexes to be Built posted Tuesday, September 8, 2020 by The Neighbourhoodie CouchDB Team

This advice is relevant for all query mechanisms in CouchDB: Views, Mango Queries, and even Search.

Read the article

Use Type in Doc _id posted Tuesday, September 1, 2020 by The Neighbourhoodie CouchDB Team

When deciding on which data goes into which CouchDB documents, it is commonly helpful to keep track of the type of document. For example, you could have documents for users and documents for articles.

Read the article

Neighbourhoodie says Goodbye to Greenkeeper: We’re partnering with Snyk to deliver Next Generation Dev Tool Automation posted Thursday, March 5, 2020 by The Neighbourhoodie Team

Berlin, March 5, 2020. Greenkeeper, the pioneering automated dependency update service, is closing doors on June 3rd, 2020. Neighbourhoodie Software, the makers of Greenkeeper, have partnered with developer security company Snyk.io to build the next generation automated dependency update service. All customers and open source users are provided a one-click migration to the new service under Snyk’s stewardship. Neighbourhoodie’s Greenkeeper developers have spent the past six months building out Snyk’s feature set with regards to automated dependency updates, implementing many of the top feature requests of existing Greenkeeper users.

Read the article

CouchDB Interviews: Joan Touzet posted Wednesday, August 28, 2019 by liv

This is an interview with Joan Touzet. Joan is Head of CouchDB Support at Neighbourhoodie, is a CouchDB committer, and also sits on the Apache Software Foundation Board of Directors.

Read the article

CouchDB Interviews: Jan Lehnardt posted Wednesday, August 28, 2019 by liv

This is an interview with Jan Lehnardt. Jan is part of the CouchDB Support team at Neighbourhoodie, as well as VP of Apache CouchDB at the Apache Software Foundation.

Read the article

Join us at the CouchDB Meetup in Berlin! posted Tuesday, August 13, 2019 by liv

Right before ApacheCon Europe in Berlin, we're excited to announce that we're hosting a special CouchDB meetup!

Read the article

News for Greenkeeper: pnpm, Yarn Workspaces, License Change Alerts and more posted Tuesday, June 25, 2019 by liv

In the months since we've last published new features for [Greenkeeper][1], we have been working on making our service more robust and secure, as well as adding some functionality that you might be interested in. Read on for the changelog!

Read the article

An Interview about CouchDB with Jan Lehnardt posted Sunday, June 23, 2019 by liv

In case you missed it, our CEO Jan Lehnardt got interviewed in IBM's Database Deep Dives series. In their post, he shares his insight as one of the leaders for the Apache CouchDB project, as well as database design in general. Check it out here!

Read the article

A Different Approach to Conference Goodies posted Tuesday, June 18, 2019 by team

It was the height of the conference season in Berlin a few weeks ago, with CSSconf EU and JSConf EU happening back to back. At Neighbourhoodie we’re not only participating with our own booth, but our CEOs Simone & Jan are also part of the organising team of JSConf EU and worked tirelessly for the last nine months to help make the weekend a phenomenal success for all attendees, speakers and sponsors.

Read the article

Congratulations posted Thursday, May 23, 2019 by jan

The entire Greenkeeper team congratulates the folks at Dependabot for their acquisition by GitHub and their integration into the GitHub Platform.

Today, we are excited to learn that more GitHub users are going to benefit from many of the best practices we helped pioneer for developing software with automated support tools.

Read the article

An Offline-First Todo List with Svelte, PouchDB and CouchDB posted Friday, May 10, 2019 by alex

Today, we’re combining Svelte, the lean and fast frontend compiler, with PouchDB and CouchDB, and building a lightweight, Offline-First todo list app. It’ll sync your todos between multiple devices for offline use and also keep your data in a central backup database.

Read the article

Introduction to Semantic Release posted Tuesday, April 30, 2019 by liv

(this post was originally released on the Greenkeeper Blog)

In our last blog post, we talked about SemVer and how it helps communicate changes in your software. Now we’ll have a look at taking it a step further and completely automating our software releases. We do this by using a tool called Semantic Release.

Read the article

Introduction to SemVer posted Tuesday, April 30, 2019 by irina

(this post was originally released on the Greenkeeper Blog)

Why does software have version numbers? Version numbers come in many shapes and forms, but they all have one thing in common: they signify that one release of a piece of software is different from another release of the same software. So one of the reasons software has version numbers is to show progress, e.g version 2.0.0 comes after version 1.0.0.

Read the article