Disclosure: On this site you won’t find specific advice on “how to call function xyz()”. Interpreting C++ ARM and #pragma dwim is also out of scope.

We’re treating our readers as intelligent beings who can use Google and/or StackOverflow, where all such specific questions were answered more than once.

What you will find is opinions, more opinions, and even more opinions on all the aspects of software development - and with a large chunk of them based on real-world experience too.

Your mileage may vary. Batteries not included.

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

October 31, 2016 by “No Bugs” Bunny

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

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: Book: D&D of MOGs1st beta of Vol. IV-VIOn.System ArchitectureDesign decisions(Re)Actors

Read more

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