Posts

Eventual Consistency and Conflict Resolution - Part 2

Image
This is the second part of a two-part post on eventual consistency and the problem of conflict resolution. In the  first part , we focused on the definition of the eventual consistency, its sufficient conditions, and conflict resolution using physical and logical clocks. We saw each method has its problems. In this part, we will see how we can solve these issues and provide eventual consistency with better conflict resolution. Listen to the Audio Blog Conflict Resolution using Vector Clocks The good thing about physical clock timestamps is that they carry information related to the real-time order of events, e.g., if we write v2, one minute after writing v1, the physical timestamp of v2 will be most likely larger than that of v1, assuming we have reasonable clock synchronization in place. However, physical clocks are not 100% accurate. Thus, due to clock synchronization errors, the timestamps may not reflect ...

Eventual Consistency and Conflict Resolution - Part 1

Image
Eventual consistency is one of the defining characteristics of many modern data stores. By getting rid of strong consistency and embracing eventual consistency, service providers can keep their services available even when replicas cannot talk to each other. Eventual consistency also removes the performance bottlenecks of strong consistency and lets us scale the system much more easily. Due to its significant benefits, eventual consistency has been widely adopted in the industry. Every day, when you are using social networks, shopping online, or even when you are doing online banking, most likely you are using services that rely on eventual consistency.

Seven Reading Suggestions for the Holidays

Image
One time I asked a very experienced engineer about his favorite technical books. He told me: "I barely read technical books. I have learned what I know mostly through experience while building useful things". I totally agree; experience is very important. Nothing can replace experience; no university degree, certificate, or amount of knowledge can compensate for the lack of experience. So next time you see a job posting with 10+ years of experience requirement, don't get upset if you don’t have it, because certain things just take time.  Having said that, I think it is still a good idea to constantly read technical books/papers for several reasons. Firstly, it is fun. Personally, nothing gives me more pleasure than being exposed to new ideas and organizing my knowledge around a subject. Also, we don't want to reinvent the wheel. Every year, some of very smart people publish the results of their hard work through conferences and journals. Why ignoring them and trying t...