(Re)Actors

TBH, I am a big fan of actor- and reactor-like programming patterns (also known as Finite State Machines. While you’re not strictly required to use reactors and might be able to get away without them – they DO provide several very substantial benefits.

Historical Data in Databases. Audit Tables. Event Sourcing

November 21, 2016 by “No Bugs” Bunny

Herodotus writes history... in binary and to Database

Quote:

99% of reporting requests and 99.9% of analytics is purely historical

Another Quote:

Information within the audit table should be sufficient to validate/justify current state

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

Read more

Ultimate DB Heresy: Single Writing DB Connection. Part II. Gradual Scalability. All the way from no-scale to perfect-scale.

November 7, 2016 by “No Bugs” Bunny

Multiple Connections vs Single Connection

Quote:

And after this split of USERS table, the system has achieved perfectly linear scalability.

Another Quote:

Start with a simple single-write-connection DB, with reporting running off the same DB

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

Read more

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

Read more

Deterministic Components for Distributed Systems

August 22, 2016 by “No Bugs” Bunny

Schrödinger's Cat

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