-
Continue reading →: How to Handle Clients with Offline Operations?Ever wondered how some applications can perform even without an internet connection? This post will detail how some applications handle this challenge. In handling offline operations between devices, the Multi-Leader Replication architecture is suitable to achieve this. For example, consider a calendar application on your laptop, mobile phone and other…
-
Continue reading →: What is Multi-Leader Replication?In replication there are specific scenarios where replication patterns are more suitable than others, depending on an applications use case. Subsequently, multi-leader replication is an alternative from single leader replication, as previously mentioned in my initial post on what replication is. Why Multi-Leader Replication Over Single Leader Replication? Firstly, I…
-
Continue reading →: The Five Design Principles: SOLIDTo start, in object-oriented programming, there is a helpful acronym used within software development named SOLID. Whereby, this was created to define five simple design principles. The goals of the principles, are to achieve more understandable, maintainable and extendable software where designs are understandable. In addition, to give credit the…
-
Continue reading →: What is Replication?Conceptually, replication facilitates a distributed architecture. This is achieved by using two fundamental types of nodes, that handle application(s) reads and writes to the database(s). These are: The leader has the current data and the followers will update accordingly. Asynchronous vs Synchronous Replication Synchronous Replication Asynchronous Replication Setting up Failed…
-
Continue reading →: Sharding: What it is and why many database architectures rely on itIn this post I will breakdown how sharding works with it advantages and trade offs. In addition, I also aim to assist you with why you may what to consider this powerful database partitioning technique. As of this writing, sharding has been notably broadcasted to the mainstream media, that’s if…
-
Continue reading →: Horizontal Scaling vs Vertical Scaling?Vertical or horizontal? That is the question… this post will outline the differences between these two types of scalability strategies, when considering the architecture of your application. These nuggets of information were extracted from Martin Kleppmann book on “Designing Data Intensive Applications”, this is a highly recommend read for those…
-
Continue reading →: Schema (SQL) vs Schema-less (NoSQL) DatabasesThe dilemma of choosing schema or schema-less databases. This post aims to simplify this key design decision. Origins of Schema and Schema-less The schema based databases has stood the test of time, in fact Relational Database Management Systems (RDBMS), have been a pioneer in this area. Since the 1980s, and…
-
Continue reading →: Software Faults and Failures ⚠️🔥As Martin Kleppman outlines in his book of “Designing Data Intensive Applications” he highlights clearly the difference between software faults and failures, and it’s importance of why we need to understand this. Here are my notes from his insights: ⚠️ Software Fault A component of a system deviating from it’s…
-
Continue reading →: 5 Years of Cold Showers! Here’s What Happened.This post will detail my experience of integrating cold showers into my life over 5 years (and counting). To emphasise, this has been one of the best habits I have ever incorporated, now I want to share this with you. ⚠️ Disclaimer, I do not recommend undertaking cold water exposure,…
-
Continue reading →: Drinking Green Smoothies 4 Years LaterWhy I started? My smoothies schedule purpose, is to provide myself with more energy at work, and to aid with my fitness regime. Just like others out there, I also have a desire to perform mentally and physically in an optimal manner; green smoothies are apart of my ritual to…
-
Continue reading →: Part 2: Top 4 Considerations Designing Data-Intensive ApplicationsContinuing on this series from ‘Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems’ by Martin Kleppman, I will be continuing this journey with 4 more considerations, these will be focusing on database technique optimisation with indexes, asynchronous replica applications, horizontal vs vertical scaling and finally batch…
-
Continue reading →: Part 1: Top 5 Considerations Designing Data-Intensive Applications‘Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems’ – Martin Kleppman, details some of the key points initially into what considerations that can be taken when designing data-intensive applications. This post will be in multiple parts on some of the top considerations to make as of…
-
Continue reading →: Extreme Ownership & The Dichotomy of Leadership – reviewA dual book review. Diving deep into the Navy Seals way of leadership, by Jocko Willink and Leif Babin.
-
Continue reading →: The Wim Hof Method – reviewThe ice man who defied science, and who achieved multiple world records, whilst bringing the Wim Hof method to the world.








