正在加载内容...

963963 Chat Trends Portal Independent coverage of news

Understanding News Fundamentals 2: Costs, Limits and Trade-offs

By Sarah Jenkins · · 1203 words
Understanding News Fundamentals 2: Costs, Limits and Trade-offs

Storage Tiers: The interesting number is not the average, it is the 99th percentile. Storage Tiers: Adding a cache in front of a slow query is a fix; fixing the query is a cure. Storage Tiers: Every abstraction you add is a place where behaviour can differ from intent.

Backup Strategy: If a metric has no owner, it will drift until it causes an incident. Backup Strategy: The cheapest optimisation is usually removing work nobody asked for. Backup Strategy: Aggregating at write time trades flexibility for predictable read cost.

If a metric has no owner, it will drift until it causes an incident. This is most visible in cloud infrastructure. Consider cloud infrastructure specifically. The cheapest optimisation is usually removing work nobody asked for. Cloud Infrastructure: Aggregating at write time trades flexibility for predictable read cost.

Monitoring Alerts: A queue smooths spikes but also hides how far behind you are. Monitoring Alerts: Retries without jitter turn a small outage into a large one. Monitoring Alerts: Separating the reads from the writes buys room to change either side.

Content Delivery: If the rollback plan needs a meeting, it is not a rollback plan. Content Delivery: Small pages that stay small are easier to keep fast than large ones made fast. Content Delivery: Write the invariant down; otherwise it lives only in someone's memory.

A respectful response acknowledges the limit and follows it. A partner may ask a clarifying question, provided the question is not a way to wear someone down. Repeated requests after a clear no, guilt, anger used to secure agreement, or threats to end the relationship can undermine consent. Silence or lack of resistance should not be treated as agreement.

Queue Design: A design that cannot be rolled back is a design that cannot be changed safely. Queue Design: Latency budgets are easier to defend when every hop has a stated ceiling. Queue Design: Caching helps only until the invalidation rules become the bottleneck.

Rate Limiting: The interesting number is not the average, it is the 99th percentile. Rate Limiting: Adding a cache in front of a slow query is a fix; fixing the query is a cure. Rate Limiting: Every abstraction you add is a place where behaviour can differ from intent.

Load Balancing: A queue smooths spikes but also hides how far behind you are. Load Balancing: Retries without jitter turn a small outage into a large one. Load Balancing: Separating the reads from the writes buys room to change either side.

Schema Migration: A queue smooths spikes but also hides how far behind you are. Schema Migration: Retries without jitter turn a small outage into a large one. Schema Migration: Separating the reads from the writes buys room to change either side.

You can often replace a coordination problem with an idempotency key. The same reasoning holds for log analysis. For log analysis, the constraint matters more than the feature list. Anything that grows without a bound will eventually hit one. Teams working on log analysis usually discover this the hard way. Documentation that is not tested tends to describe the previous version.

Teams working on rate limiting usually discover this the hard way. A design that cannot be rolled back is a design that cannot be changed safely. Latency budgets are easier to defend when every hop has a stated ceiling. This is most visible in rate limiting. Consider rate limiting specifically. Caching helps only until the invalidation rules become the bottleneck.

Rate Limiting: If the rollback plan needs a meeting, it is not a rollback plan. Rate Limiting: Small pages that stay small are easier to keep fast than large ones made fast. Rate Limiting: Write the invariant down; otherwise it lives only in someone's memory.

Teams working on search indexing usually discover this the hard way. A design that cannot be rolled back is a design that cannot be changed safely. Latency budgets are easier to defend when every hop has a stated ceiling. This is most visible in search indexing. Consider search indexing specifically. Caching helps only until the invalidation rules become the bottleneck.

In practice, log analysis behaves differently: Periodic jobs should be safe to run twice, because they will be. You rarely need a new component to fix a boundary problem. The same reasoning holds for log analysis. For log analysis, the constraint matters more than the feature list. The signal you want is often already logged, just not aggregated.

Content Delivery: Configurations should be reviewable in a diff, not only in a console. Content Delivery: The best time to add an index is before the table gets large. Content Delivery: Failures are usually correlated, so plan for the shared dependency.

Schema Markup: Configurations should be reviewable in a diff, not only in a console. The best time to add an index is before the table gets large. That applies to schema markup as well. In practice, schema markup behaves differently: Failures are usually correlated, so plan for the shared dependency.

Consider search indexing specifically. If the rollback plan needs a meeting, it is not a rollback plan. Search Indexing: Small pages that stay small are easier to keep fast than large ones made fast. Write the invariant down; otherwise it lives only in someone's memory. That applies to search indexing as well.

Consider content delivery specifically. The interesting number is not the average, it is the 99th percentile. Content Delivery: Adding a cache in front of a slow query is a fix; fixing the query is a cure. Every abstraction you add is a place where behaviour can differ from intent. That applies to content delivery as well.

Before providing samples, ask how results will be delivered, how long they usually take and how the service protects your privacy. Confidentiality rules and access to records vary by country and age; confirm who can see the information, especially if you use shared devices, email or a patient portal. If a result needs follow-up, the service can explain what it means and direct you to appropriate care. This article cannot interpret an individual result or recommend treatment.

Rate Limiting: If a metric has no owner, it will drift until it causes an incident. The cheapest optimisation is usually removing work nobody asked for. That applies to rate limiting as well. In practice, rate limiting behaves differently: Aggregating at write time trades flexibility for predictable read cost.

Consent is ongoing. A person can withdraw it at any point, including after previously agreeing or after an activity has begun. If they say stop, move away, become unresponsive or otherwise indicate discomfort, pause immediately and ask what they want. Do not argue, bargain or demand an explanation.

Consider data pipelines specifically. You can often replace a coordination problem with an idempotency key. Data Pipelines: Anything that grows without a bound will eventually hit one. Documentation that is not tested tends to describe the previous version. That applies to data pipelines as well.

Data Pipelines: If the rollback plan needs a meeting, it is not a rollback plan. Data Pipelines: Small pages that stay small are easier to keep fast than large ones made fast. Data Pipelines: Write the invariant down; otherwise it lives only in someone's memory.

Related reading