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.

Ultimate DB Heresy: Single Modifying DB Connection. Part I. Performance (Part II. Scalability to follow)

October 31, 2016 by “No Bugs” Bunny

Multiple Connections vs Single Connection

Quote:

Dealing with transaction isolation is very far from being a picnic

Another Quote:

One of such real-world systems was consistently processing over 30M real-world write transactions/day over one single DB connection, supporting ~100K simultaneous players.

Filed under: On.System ArchitectureDesign decisionsBook: D&D of MOGs1st beta of Vol. IV-VI(Re)Actors

Read more

NoSQL vs SQL for MOGs

October 24, 2016 by “No Bugs” Bunny

SQL vs NoSQL. Box!

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: On.System ArchitectureDesign decisionsBook: D&D of MOGs1st beta of Vol. IV-VI

Read more

Distributed Databases 101: CAP, BASE, and Replication

October 17, 2016 by “No Bugs” Bunny

From Duchess DB. An invitation from Queen DB

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: On.System ArchitectureDesign decisionsBook: D&D of MOGs1st beta of Vol. IV-VI

Tagged With: DatabaseServer
Read more

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

October 11, 2016 by “No Bugs” Bunny

Database alphabet soup: ACID, BASE, CAP, etc.

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: On.System ArchitectureDesign decisionsBook: D&D of MOGs1st beta of Vol. IV-VI

Tagged With: DatabaseServer
Read more