Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Read and Write Considered Harmful

ACCU Conference via YouTube

Overview

Explore the differences between reading and writing data across various topics in software development in this ACCU Conference talk. Delve into high-level architecture, low-level concurrency, REST APIs, functional programming, security, performance, and correctness. Discover how separating these concepts can lead to more optimal system designs and broader perspectives. Learn about scaling challenges, data partitioning, avoiding shared mutable data, and handling non-primary key access. Examine read/write ratios, working set sizes, consistency issues, and the distinctions between reader/writer and data flow models. Investigate synchronous vs asynchronous systems, content management examples, and the Command Query Representation Separation (CQRS) pattern. Gain insights into alternative approaches that offer more fruitful design considerations for building robust and efficient software systems.

Syllabus

Intro
Reads
Dependencies
REST APIs and rules
REST APIs and schemas
REST APIs and processes
Typical system scaling path
Scaling problems • Partitioning or sharing works to an extent
Avoid sharing mutable data
questions about data access
Non-primary key access - Finding items by value, not by key
Range scans and sequential access - Requires ordering Leoperators, ordering costs • Requires iberators/cursors/traversal state
Read/write ratio
Working set size and skew • How much of the common data will fit in main
Consistency • Do all copies of the data need to be exactly up- to-date right now
Reader/writer vs data flow
Sync vs async systems
Data flow and sync/async
Content management example
Larger example
Command Query Representation Separation (CORS)
CORS examples

Taught by

ACCU Conference

Reviews

Start your review of Read and Write Considered Harmful

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.