Design decisions
When architecting a system, it is inevitable to make certain high-level design decisions.
Some of these decisions, if they’re wrong, can lead to the re-architecturing and re-writing of the whole system some months later, so there is an incentive to keep things rather generic. On the other hand, trying to make system too generic is just another recipe to disaster (usually expressed in terms of missed deadlines and unmanageable code).
IT Hares try to describe certain not-so-obvious architectural decisions, and some considerations which should be kept in mind while making them.
Distributed Databases 101: CAP, BASE, and Replication
October 17, 2016 by • “No Bugs” Bunny
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
Read moreDatabases 101: ACID, MVCC vs Locks, Transaction Isolation Levels, and Concurrency
October 11, 2016 by • “No Bugs” Bunny
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
Read moreMMOG Server-Side. Eternal Linux-vs-Windows Debate
January 4, 2016 by • “No Bugs” Bunny
Quote:
Each server is only as secure as its admin
Another Quote:
For cheaper servers, the difference between Windows and Linux can eat as much as 50% of the server rental price (though for those servers which are more or less optimal price-performance-wise observed difference was closer to 20-30%).
Filed under: Book: D&D of MOGs1st beta of Vol. I-IIIOn.System ArchitectureRequirement analysisDesign decisions
Read moreClient-Side. Client Architecture Diagram, Threads, and Game Loop
December 14, 2015 by • “No Bugs” Bunny
Quote:
To have a good concurrency model, it is not strictly necessary to program in Erlang
Another Quote:
Most of developers agree that FSM-based programming is beneficial in the medium- to long-run.
Filed under: Book: D&D of MOGs1st beta of Vol. I-IIIOn.System ArchitectureDesign decisions(Re)Actors
Read more