The Open Group Architecture Framework is a tool to make your enterprise architecture developed and managed in a sustainable way. It contains general framework and ...
Why can’t you trust your application time?
In a distributed system, time is a tricky business, because communication is not instantaneous: it takes time for a message to travel across the network from one machine to another. The time when a message is received is always later than the time when it is sent, but due to variable delays in the network,… Continue reading Why can’t you trust your application time?
ACID is not a guarantee
The safety guarantees provided by transactions are often described by ACID — for Atomicity, Consistency, Isolation, and Durability. It was proposed in 1983 by Theo Härder and Andreas Reuter to establish precise terminology for fault-tolerance mechanisms in databases. However, in practice, databases have different implementations and when a system claims to be “ACID compliant,” it’s… Continue reading ACID is not a guarantee
Transaction Isoaltion Levels
READ COMMITED The most basic level of transaction isolation is read committed.v It makes two guarantees: When reading from the database, you will only see data that has been committed (no dirty reads).When writing to the database, you will only overwrite data that has been committed (no dirty writes). Read committed is a very popular… Continue reading Transaction Isoaltion Levels
Scale your data
When you need to add some power to your services first you think of buying more machines, but this will not always solve the case. The problem is that the cost grows faster than linearly: a machine with twice as many CPUs, twice as much RAM, and twice as much disk capacity typically costs significantly… Continue reading Scale your data
Dynamo-style DB
Some of the earliest systems were leaderless, but the idea was mostly forgotten during the era of dominance of relational databases. It once again became a popular architecture for DB after Amazon used it for its in-house Dynamo system. Riak, Cassandra, and Voldemort use leaderless replication models inspired by Dynamo.
DB conflicts resolution
When writes occur in async way, conflicts may appear for data that is written concurrently, but had a lag due to location or network. Here is what you can do if you can't avoid them.
DB structures under the hood
Why should you care how the database handles storage and retrieval internally? You’re probably not going to implement your own engine from scratch, but you do need to select one that is appropriate for your application. In order to tune a storage engine to perform well on your kind of workload, you need to have a rough idea of what the storage engine is doing under the hood.
Spring Beans configuration
Quick review of available technics to configure and init beans in Spring framework with order and qualifiers.
Neo4j with Spring Data
This article is a practical example of how to use Neo4j database with Spring framework.