Architectures and Design Patterns · Cloud Comptuing · Distributed Computing · NoSQL · Persistence

Pills of Eventual Consistency

A question raises spontaneously: why Eventual Consistency? Isn’t ACID enough? Let’s try to understand the need for Eventual Consistency guarantees when we talk about Distributed Computing on large scale, and of course Data is involved. With the advent of Internet and Cloud services, Databases and more in general Data Storage technologies have undergone a radical change:… Continue reading Pills of Eventual Consistency

Core Development · Distributed Algorithms and Communication Protocols · Distributed Computing · Performance · Persistence

Apache Avro Schema-less Serialization: How To

Apache Avro is a well-know and recognized data serialization framework, already officially in use in toolkits like Apache Hadoop. Avro distinguishes itself from the competitors (like Google’s Protocol Buffers and Facebook’s Thrift) for its intrinsic i. simplicity, ii. speed and iii. serialization rate close to 1:1 (i.e. almost no metadata needed). It has a set… Continue reading Apache Avro Schema-less Serialization: How To

Distributed Computing · NoSQL · Persistence

A Polyglot NoSQL Data Store: OrientDB

It’s vary rare to find a NoSQL Data Store able to provide Polyglot Persistence capabilities (a comprehensive introduction by M. Fowler is here). In the NoSQL products portfolio, OrientDB elevates itself as an integrated storage solution for: Document stores (like the more famous MongoDB and Couchbase), Object DB (it can directly store Java POJO objects), and Graph DB (like the most… Continue reading A Polyglot NoSQL Data Store: OrientDB