Posts

Event Sourcing in a Highly Distributed Environment

Image
Event sourcing is a data management strategy that stores changes to a data model rather than just the model's current state. It uses an append-only event log to ensure zero data loss. By replaying events from the log, you can establish the current state of the model.
These data integrity and replay benefits make event sourcing a useful technique for dealing with intermittently connected mobile devices. It also enables client applications to access and update data in a distributed environment without losing any updates. In this presentation I share my experience with event sourcing in a globally distributed web application. We use the technique to share data models between mobile and web-based clients of an online clinical decision support system. The application runs on multiple data centers around the world. A distributed event store, using the NoSQL database Couchbase, tracks article views and bookmark related events. Once in the database, the events can be queried to derive…

Run Couchbase Server on Linode: Part 3

Image
In the final post of this series I run Couchbase Server through a simple test, a pillow fight.  This will be short, only showing you how to setup a test bucket, create a test user and then run cbc-pillowfight. Since it's a single node cluster and that node only has two CPUs, the test isn't evaluating performance. It will simply verify the installation.

So we finish with step 6 of these steps
Create a LinodeDeploy an ImageBoot and Connect to the LinodeConfigure the Operating SystemInstall Couchbase ServerVerify the InstallationPart 1 covered how to prepare your Linode for Couchbase, steps 1-4. Part 2 described the installation process, step 5.  On to the verification. Verify the Installation Here are a few ways to test your cluster: Pillow fightWorkload generatorCustom test application The first two options are command line utilities from Couchbase. The third, a custom application, is needed if the testing must closely reflect your business requirements. 
We'll use the pillo…

Run Couchbase Server on Linode: Part 2

Image
Now we install Couchbase Server 5.0 on the Linode created in Part 1 of this series. The server software is installed using a Debian release package. After that a Couchbase cluster is initialized using the Admin Console.

We're on step 5 of these steps
Create a LinodeDeploy an ImageBoot and Connect to the LinodeConfigure the Operating SystemInstall Couchbase ServerVerify the InstallationPart 1 covered steps 1 through 4, how to prepare your Linode for Couchbase. Part 3 will show how to verify the installation. Install Couchbase Server With Ubuntu we can use a Debian package to install Couchbase Server.  See this article for apt and yum-based installations. Download Release Package From the remote Linode, download the Debian release package for Couchbase.

> curl -O http://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-4-amd64.deb





Install the Package> sudo dpkg -i couchbase-release-1.0-4-amd64.deb


Confirm that the package is installed.

> sudo apt-cache sea…

Run Couchbase Server on Linode: Part 1

Image
Linode offers cloud hosting for virtual Linux servers in more than a few spots around the world.  I installed the latest Couchbase Server on a single VM, affectionately called a Linode, to get a feel for the install process and try out the new Couchbase Server 5.0 that introduces role-based access control.

This article, in three parts, walks through the steps to install Couchbase Server 5.0 Enterprise Edition on a Linux VM or Linode running Ubuntu 16.04 LTS. Here are the steps:
Create a LinodeDeploy an ImageBoot and Connect to the LinodeConfigure the Operating SystemInstall Couchbase ServerVerify the Installation This post describes steps 1 through 4, how to prepare a Linode for Couchbase. Part 2 will cover installing the Couchbase Server. Part 3 will show how to verify the installation. Create a Linode Linodes come in many sizes.  I picked the smallest multi-CPU option, a two CPU instance with 4 GB of RAM. 
From the Linode Manager, press the Add a Linode link. Locate the instance type…