Philosopher Ping's Avatar

Philosopher Ping

@philosopherping.com

Explorations of software, philosophy, work, life, the universe and everything else.

11
Followers
1
Following
11
Posts
08.12.2024
Joined
Posts Following

Latest posts by Philosopher Ping @philosopherping.com

Preview
Hybrid Store Design Pattern ๐Ÿ”‚

You can see the full post, along with all diagrams, here: philosopherping.com/hybrid-store...

05.05.2025 16:08 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Hybrid Stores are a way to implement Lambda Architectures, but by merging at write-time, rather than read-time. They can also support Kappa Architectures.

@venicedb.org is an open source database implementing the Hybrid Store design pattern, and other proprietary systems do so as well.

05.05.2025 16:08 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Post image

- After the buffer replay is caught up, switch the current version pointer from N to N+1. Version N can be kept as a backup. There is no future version anymore (until the next batch job).

05.05.2025 16:08 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Post image

- Replay recent data from the real-time buffer onto the future version N+1.

05.05.2025 16:08 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Post image

When the batch data source runs and produces a new version of the dataset, the Hybrid Store design pattern then does the following:

- Create a new version N+1 of the dataset (called a future version) and load the batch data into it.

05.05.2025 16:08 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Post image

The batch data source is a job that produces new versions of the dataset. The real-time data source, on the other hand, appends data to a real-time buffer, and this data eventually gets written to all versions of the dataset.

05.05.2025 16:08 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Post image

Hybrid Store Design Pattern

The Hybrid Store is a design pattern for merging batch and real-time data sources into a single dataset. It is an abstraction composed of several versioned datasets, along with a current version pointer (or symlink) serving one of them.

05.05.2025 16:08 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 3
Preview
The Coupling Cost of Leverage โ›“๏ธ

Read the rest here: philosopherping.com/the-coupling...

31.01.2025 03:55 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
The Coupling Cost of Leverage โ›“๏ธ

This maintenance gain could be especially significant if system B offers a correct solution to a difficult problem. That being said, some nuances are missing.

31.01.2025 03:55 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Preview
The Coupling Cost of Leverage โ›“๏ธ

The case in favor of A leveraging B was that it would decrease the maintenance cost of system A, since more functionality would be โ€œoutsourcedโ€ to system B (owned by another team).

31.01.2025 03:55 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Preview
The Coupling Cost of Leverage โ›“๏ธ

The Coupling Cost of Leverage ๐Ÿงต

This is a summary of a recent discussion about making some system A leverage some other system B. The new system B would replace some functionality which system A already had.

31.01.2025 03:55 ๐Ÿ‘ 1 ๐Ÿ” 1 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0