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

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 Linode Deploy an Image Boot and Connect to the Linode Configure the Operating System Install Couchbase Server Verify the Installation Part 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 fight Workload generator Custom 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 bus

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 Linode Deploy an Image Boot and Connect to the Linode Configure the Operating System Install Couchbase Server Verify the Installation Part 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

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 Linode Deploy an Image Boot and Connect to the Linode Configure the Operating System Install Couchbase Server Verify 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 l