design patterns

Design Patterns

Good software is always a well-designed software. Software engineering takes good thinking, reviewing past solutions and paying attention to the difficulties that we had to go through when making changes, refactoring, testing our solutions.But as we accumulate experience, we inevitably ask ourselves: do we need to reinvent the design all the time?No, of course – …

Design Patterns Read More »

CAP theorem, Lambda Architecture and how to pick the right database for your application

We are going to review databases, their challenges and architectural approaches. Firstly let’s revisit the CAP theorem. It states that only 2 of the 3 constraints (Consistency, Availability, Partitioning) can be guaranteed in a shared distributed data system at a time. For example, Cassandra prefers Availability and Partitioning tolerance (A-P system with Eventual consistency). You …

CAP theorem, Lambda Architecture and how to pick the right database for your application Read More »