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.

MECHLOVE Blueprint - 2/7. Storage (ZFS-style) and WAL (template-based logical with physical hints)

October 7, 2026 by “No Bugs” Bunny

Quote

One important feature of our WAL is that (because our Data Storage is CoW, and our checkpoint pages are perfectly consistent) it seems that we do NOT need to undo during recovery

Filed under: On.System ArchitectureDesign decisions

Tagged With: DatabaseOLTP
Read more

Radical MVCC and Replay-Based Rebasing OCC (Re2OCC)

October 5, 2026 by “No Bugs” Bunny

Radical MVCC and Replay-Based Rebasing OCC (Re2OCC) - Post preview image

Quote

Write-sets published at the point of obtaining CSNs are immutable and represent THE db history. Everything else is just views over this history.

Filed under: On.System ArchitectureDesign decisions

Tagged With: OLTPDatabase
Read more

Bringing Architecture of Operating Systems to XXI Century – Part IV. First Draft

November 8, 2019 by “No Bugs” Bunny

Quote:

While L3 kernel can STILL run on MMU-less RAM-constrained MCUs, it provides responsiveness which is comparable to that of multi-stack kernels.

Another Quote:

multi-coring is essentially a special case of balancing shared-nothing nodes

Filed under: On.System ArchitectureDesign decisions(Re)ActorsOn.ProgrammingEmbedded

Read more

Bringing Architecture of Operating Systems to XXI Century – Part III. Basic Ideas

May 9, 2019 by “No Bugs” Bunny

Bringing Architecture of Operating Systems to XXI Century – Part III. Basic Ideas - Post preview image

Quote:

everything in the system should be a Finite State Machine (FSM)

Another Quote:

‘OS’ is not understood as ‘OS kernel’, but rather is defined by the apps which can run on it

Filed under: On.System ArchitectureDesign decisions(Re)ActorsOn.ProgrammingEmbedded

Read more