On.System Architecture

System Architecture (and it’s subfield Software Architecture) is a discipline which is surprisingly poorly covered. In a sense, it is still more an art than a science, and usually requires somebody intimately familiar with practical systems, to tell what’s to do and what’s to avoid when building a system.

IT Hares have lots of experience in both Software Architecture and more general System Architecture, and are trying to share their knowledge (and more importantly, their feelings) about them.

NoSQL vs SQL for MOGs

October 24, 2016 by “No Bugs” Bunny

NoSQL vs SQL for MOGs - Post preview image

Quote:

in real world, after deployment, most of the changes in DB structure are about widening columns and adding the new ones

Another Quote:

For documents and BLOBs, NoSQL is a natural habitat

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.System ArchitectureDesign decisions

Read more

Distributed Databases 101: CAP, BASE, and Replication

October 17, 2016 by “No Bugs” Bunny

Distributed Databases 101: CAP, BASE, and Replication - Post preview image

Quote:

The worst case of inconsistency happens when row X in database A is modified (by a Client connected to datacenter A), and the same row X in database B is independently modified too (by a Client connected to datacenter B).

Another Quote:

One way to avoid reports affecting operational DB, is via creating a read-only replica of our main operational DB – and running our reports off that replica.

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.System ArchitectureDesign decisions

Tagged With: DatabaseServer
Read more

Databases 101: ACID, MVCC vs Locks, Transaction Isolation Levels, and Concurrency

October 11, 2016 by “No Bugs” Bunny

Databases 101: ACID, MVCC vs Locks, Transaction Isolation Levels, and Concurrency - Post preview image

Quote:

for larger-scale MOGs, functionality-wise it is common to have 4 different types of databases: transactional processing (OLTP) DBs, real-time reporting DBs, archive DBs, and analytical DBs (OLAP)

Another Quote:

both MVCC-based and Lock-based DBMS issue locks (and therefore, both can cause all kinds of trouble such as deadlocks etc.); however, the difference lies with the number of locks issued by them.

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.System ArchitectureDesign decisions

Tagged With: DatabaseServer
Read more

Deterministic Components for Distributed Systems

August 22, 2016 by “No Bugs” Bunny

Deterministic Components for Distributed Systems - Post preview image

Quote:

Then you can recover from any single server failure in a perfectly transparent manner

Another Quote:

after the program fails in production, we can get the input log and run it in the comfort of a developer’s machine, under a debugger, as many times as we want, and get exactly the same variables at exactly the same points as happened in production

Filed under: On.System ArchitectureDistributed systems(Re)ActorsOn.ProgrammingDebugging

Read more