Posts

Showing posts from May, 2016

Couchbase Server 4.5's new Sub-Document API

Image
Introduction The Beta version of Couchbase Server 4.5 has just been released, so let's try it out! A complete overview of all the great new features can be found here:  http://developer.couchbase.com/documentation/server/4.5/introduction/intro.html . This article will highlight the new Sub-Document API feature. What's a sub-document? The following document contains a sub-document which is accessible via the field 'tags': So far With earlier Couchbase versions (<4.5) the update of a document had to follow the following pattern: Get the whole document which needs to be updated Update the documents on the client side (e.g. by only updating a few properties) Write the whole document back A simple Java code example would be: Now with 4.5 The new sub-document API is a server side feature which allows you to (surprise, surprise ...) only get or modify a sub-document of an existing document in Couchbase. The advantages are:  Better usabil

Microservices and Polyglot Persistence

TOC Introduction Why Microservices? Polyglot character What's happening with my Database? Summary Introduction The idea behind Microservices is already described by it's name. In summary it means to use multiple smaller self-contained services to build up a system, instead of using one monolithic one. This explanation does sound simple, doesn't it? We will see that it is not because breaking up one single big system in several services has quite a lot implications. Why Microservices? A monolithic system would be a system which has only one main component. One of the disadvantages is usually that you have to deploy changes in a way that they affect the deployment of the whole system. A today's system is actually not completely monolithic at all, because it normally already consists of several sub-components. Often other decomposition mechanisms are already used. One way would be to build your system modular. Such a module might be actually a good candidat