Term comparisons
Terms that get mixed up. Each page sets the two side by side and states the difference.
Applied AI
51 comparisons- A/B testingvsShadow deployment
- Agentic loopvsThe tool loop
- Base modelvsInstruct model / chat model
- Batch APIvsStreaming
- BenchmarkvsEval
- Bi-encodervsCross-encoder
- Bi-encoder vs cross-encodervsReranking
- Canary deploymentvsShadow deployment
- Cascade / fallback chainvsModel routing
- ChunkingvsSemantic chunking
- Circuit breakervsGraceful degradation
- Constrained decodingvsJSON mode
- Context lengthvsMax output
- Cosine similarityvsDot product and Euclidean distance
- Dense modelvsMixture of experts (MoE)
- DirectvsIndirect injection
- DistillationvsQuantisation
- DriftvsRegression testing
- Embedding modelvsLarge language model (LLM)
- Exact match and rule-based scoringvsLLM-as-judge
- Exact-match cachingvsSemantic caching
- Exponential backoffvsRate limits (RPM, TPM)
- Faithfulness / groundednessvsHallucination
- Fine-tuningvsRetrieval-augmented generation (RAG)
- Frameworks: buildvsBuy
- Full fine-tuningvsParameter-efficient fine-tuning (PEFT)
- Function calling / tool callingvsStructured output
- GGUFvsSafetensors
- Greedy decodingvsSampling
- GuardrailsvsOutput validation as a security boundary
- HNSWvsIVFFlat
- Hybrid searchvsLexical search / BM25
- InputvsOutput tokens
- Inter-token latencyvsTime to first token (TTFT)
- JailbreakvsPrompt injection
- KV cachevsPrompt caching
- LatencyvsThroughput
- llama.cppvsOllama
- LoRAvsQLoRA
- Memory: short-termvsMemory: long-term
- Multi-agent systemvsSubagent
- OfflinevsOnline evaluation
- Open weightsvsClosed models
- OrchestrationvsWorkflow vs agent
- Post-trainingvsPretraining
- Preference tuning (RLHF, DPO)vsSupervised fine-tuning (SFT)
- Recall@kvsTop-k retrieval
- TemperaturevsTop_p (nucleus sampling)
- Top_kvsTop_p (nucleus sampling)
- TrainingvsInference
- WorkflowvsAgent
Backend & systems
139 comparisons- ACIDvsIsolation level
- Alert fatiguevsRunbook
- API gatewayvsBackend for frontend
- API gatewayvsService mesh
- API versioningvsBreaking change
- API versioningvsDeprecation window
- Append-only logvsEvent sourcing
- Asynchronous replicationvsSynchronous replication
- At-least-once deliveryvsAt-most-once delivery
- At-least-once deliveryvsExactly-once processing
- Attribute-based access controlvsRole-based access control
- Audit logvsStructured logging
- AuthenticationvsAuthorization
- AuthorizationvsPrinciple of least privilege
- AutoscalingvsCapacity planning
- B-tree indexvsLSM tree
- BackfillvsSchema migration
- BackpressurevsConsumer lag
- BackpressurevsLoad shedding
- Backward compatibilityvsForward compatibility
- Backward compatibilityvsSchema evolution
- Bake timevsDark launch
- Blast radiusvsBulkhead
- Blast radiusvsChaos engineering
- Blue-green deploymentvsRolling update
- BulkheadvsNoisy neighbour
- Cache-asidevsRead-through cache
- Cache invalidationvsTime to live
- Cache stampedevsHot key
- Cache warmingvsNegative caching
- CAP theoremvsEventual consistency
- Capacity planningvsSaturation
- CardinalityvsQuery planner
- Cascading failurevsSingle point of failure
- Change data capturevsTransactional outbox
- Clustered indexvsCovering index
- Compare-and-swapvsOptimistic locking
- Compensating transactionvsSaga
- Competing consumersvsConsumer group
- Competing consumersvsMessage ordering
- ConcurrencyvsParallelism
- Configuration driftvsImmutable infrastructure
- Connection poolvsThread pool
- ConsensusvsQuorum
- Consistent hashingvsShard key
- Contract testvsGolden test
- Contract testvsSchema evolution
- Correlation IDvsDistributed tracing
- CQRSvsEvent sourcing
- CQRSvsMaterialised view
- CRDTvsLast-write-wins
- Cross-site request forgeryvsSession cookie
- Cursor paginationvsOffset pagination
- Dead letter queuevsPoison message
- Deadline propagationvsTimeout
- DeadlockvsLock contention
- DeadlockvsRace condition
- DenormalisationvsNormalisation
- DeploymentvsRelease
- DeterministicvsIdempotent
- Dirty readvsNon-repeatable read
- Distributed cachevsIn-process cache
- Distributed lockvsFencing token
- Distributed lockvsLeader election
- Distributed lockvsMutex
- Distributed tracingvsSpan
- Encryption at restvsEncryption in transit
- Encryption at restvsPassword hashing
- Encryption in transitvsMutual TLS
- Error budgetvsService level objective
- ETagvsStale-while-revalidate
- Event loopvsNon-blocking I/O
- Event sourcingvsReplay
- Event streamvsMessage queue
- Eventual consistencyvsStrong consistency
- Exactly-once processingvsIdempotency key
- Expand and contractvsSchema migration
- Fail fastvsFail open
- FailovervsSplit brain
- FakevsMock
- FakevsSpy
- FakevsStub
- Feature flagvsRelease
- Flaky testvsRace condition
- Golden signalsvsService level indicator
- Graceful shutdownvsReadiness probe
- Graceful shutdownvsSession affinity
- Graceful shutdownvsZero-downtime deployment
- Head-of-line blockingvsStarvation
- Horizontal scalingvsVertical scaling
- Idempotency keyvsIdempotent HTTP method
- Idempotency keyvsReplay attack
- IdempotentvsPartial failure
- Idle in transactionvsMVCC
- In-process cachevsMemoisation
- JittervsRetry storm
- JSON Web TokenvsRefresh token
- JSON Web TokenvsSession cookie
- LatencyvsResponse time
- Leader-follower replicationvsMulti-leader replication
- LinearisabilityvsStrong consistency
- Liveness probevsReadiness probe
- Load balancervsSession affinity
- Long pollingvsWebhook
- Long pollingvsWebSocket
- Message queuevsPublish-subscribe
- Metric cardinality explosionvsTrace sampling
- MetricvsStructured logging
- MetricvsSynthetic monitoring
- MockvsSpy
- MockvsStub
- MockvsTest double
- Monotonic readsvsRead-your-writes consistency
- MutexvsSemaphore
- MVCCvsSnapshot isolation
- Non-repeatable readvsPhantom read
- OAuth 2.0vsOpenID Connect
- OffsetvsVisibility timeout
- OLAPvsOLTP
- Optimistic lockingvsPessimistic locking
- PartitioningvsSharding
- Phantom readvsWrite skew
- Principle of least privilegevsSecret rotation
- Rate limitingvsToken bucket
- Read amplificationvsWrite amplification
- Read committedvsRepeatable read
- Read replicavsReplication lag
- Repeatable readvsSerialisable
- Response timevsTail latency
- Response timevsThroughput
- Retry budgetvsRetry storm
- Roll forwardvsRollback
- SagavsTwo-phase commit
- SerialisablevsSnapshot isolation
- Service level agreementvsService level objective
- Service level indicatorvsService level objective
- Shard keyvsSharding
- SpyvsStub
- Write-behind cachevsWrite-through cache
Frontend & browser
195 comparisons- AbortControllervsfetch
- AbortControllervsOut-of-order response
- Above the foldvsCritical CSS
- Absolute positioningvsContaining block
- Absolute positioningvsSticky positioning
- Accessibility auditvsContrast ratio
- Accessibility auditvsScreen reader
- Accessibility treevsDocument Object Model
- Accessibility treevsScreen reader
- Accessible namevsAlt text
- Accessible namevsaria-label
- aria-hiddenvsdisplay: none
- aria-hiddenvsVisually hidden
- aria-labelvsaria-labelledby
- aria-labelvsLabel association
- ARIA rolevsSemantic HTML
- async scriptvsdefer script
- Auto-waitingvsEnd-to-end test
- Back-forward cachevsPage visibility
- Back-forward cachevsScroll restoration
- Barrel filevsTree shaking
- Block formatting contextvsMargin collapsing
- Block formatting contextvsStacking context
- Box modelvsbox-sizing
- Brittle selectorvsTest id
- Build targetvsClient-side secret
- Build targetvsTranspilation
- Bundle analysisvsBundle budget
- Bundle analysisvsModule graph
- BundlervsHot module replacement
- Cache bustingvsContent hash
- Cache bustingvsImmutable caching
- Cache-ControlvsCache Storage
- Cache-ControlvsConditional request
- Cache StoragevsService worker
- Cascade layersvs!important
- ChunkvsEntry point
- ChunkvsVendor chunk
- Clickjackingvsiframe sandbox
- Clickjackingvsnoopener
- Client-side renderingvsServer-side rendering
- Client-side routingvsHistory API
- Client-side routingvsSPA fallback
- Client statevsServer state
- ClosurevsStale closure
- Closurevsthis binding
- Code splittingvsDynamic import
- Code splittingvsHTTP multiplexing
- CommonJSvsES module
- Component memoisationvsRe-render
- Component memoisationvsReferential equality
- Component testvsIntegration test
- Component testvsUnit test
- Component testvsUser event simulation
- CompositingvsLayer promotion
- CompositingvsRepaint
- CompositingvsView transition
- Conditional requestvsImmutable caching
- Container queryvsMedia query
- Content Security PolicyvsCSP nonce
- Content Security PolicyvsSubresource integrity
- content-visibilityvsList virtualisation
- Context providervsProp drilling
- Controlled inputvsUncontrolled input
- CookievslocalStorage
- CookievssessionStorage
- CookievsThird-party cookie
- Core Web VitalsvsLighthouse score
- Credentialed requestvsSameSite cookie
- Critical CSSvsRender-blocking resource
- CORSvsOpaque response
- CORSvsPreflight request
- CORSvsSame-origin policy
- Cross-site scriptingvsStored XSS
- The cascadevsSpecificity
- Custom propertyvsInheritance
- CSS gridvsFlexbox
- CSS gridvsSubgrid
- CSS-in-JSvsScoped styles
- CSSOMvsDocument Object Model
- Cumulative layout shiftvsSkeleton screen
- Custom elementvsShadow DOM
- Dead code eliminationvsTree shaking
- DebouncevsThrottle
- Deep equalityvsShallow equality
- Deep equalityvsStructured clone
- Deep linkvsOpen redirect
- Deep linkvsSingle-page application
- Dependency arrayvsStale closure
- Derived statevsEffect
- Derived statevsSingle source of truth
- Detached DOM nodevsGarbage collection
- Dirty statevsRevalidation
- display: nonevsvisibility: hidden
- DOM-based XSSvsHTML sanitisation
- DOM-based XSSvsReflected XSS
- DOMContentLoadedvsFirst contentful paint
- Document Object ModelvsRender tree
- Duplicate dependencyvsModule graph
- Dynamic importvsLazy component
- End-to-end testvsIntegration test
- Error boundaryvsSuspense boundary
- Error boundaryvsUnhandled rejection
- ES modulevsImport map
- Event bubblingvsEvent capturing
- Event bubblingvsEvent delegation
- External storevsReducer
- External storevsSelector
- Feature detectionvsPolyfill
- Field datavsLab data
- First contentful paintvsLargest contentful paint
- Flash of unstyled contentvsfont-display
- Focus managementvsFocus trap
- Focus trapvsinert
- :focus-visiblevsTab order
- font-displayvsFont subsetting
- Forced synchronous layoutvsLayout thrashing
- Frame budgetvsJank
- Hard navigationvsSoft navigation
- Headless browservsjsdom
- HoistingvsTemporal dead zone
- HSTSvsMixed content
- HTML sanitisationvsOutput escaping
- HttpOnly cookievslocalStorage
- HttpOnly cookievsSameSite cookie
- HydrationvsHydration mismatch
- HydrationvsIslands architecture
- HydrationvsResumability
- HydrationvsTime to interactive
- Immutable updatevsShallow equality
- Incremental static regenerationvsStatic site generation
- IndexedDBvslocalStorage
- IndexedDBvsStorage quota
- Infinite scrollvsIntersectionObserver
- Infinite scrollvsList virtualisation
- Integration testvsNetwork mocking
- Interaction to next paintvsTotal blocking time
- IntersectionObservervsResizeObserver
- Keyboard operabilityvsTab order
- Landmark regionvsSkip link
- Largest contentful paintvsNative lazy loading
- Lifting state upvsProp drilling
- List keyvsReconciliation
- List keyvsRoute parameter
- localStoragevssessionStorage
- Logical propertiesvsMedia query
- Long taskvsMain thread
- Long taskvsThird-party script
- Long taskvsTotal blocking time
- TaskvsMicrotask
- TaskvsrequestAnimationFrame
- Main threadvsWeb worker
- Media queryvsprefers-reduced-motion
- Micro-frontendvsModule federation
- MicrotaskvsMutationObserver
- MinificationvsResponse compression
- MinificationvsSource map
- Multi-page applicationvsSingle-page application
- Native lazy loadingvsResponsive images
- Nested routevsRoute parameter
- Network waterfallvsRequest waterfall
- Normalised statevsQuery key
- Offline-firstvsService worker
- Optimistic UIvsPerceived performance
- Optimistic UIvsRevalidation
- OriginvsSame-origin policy
- Page visibilityvsBeacon
- Passive event listenervspreventDefault
- PolyfillvsPonyfill
- PolyfillvsTranspilation
- PreconnectvsPreload
- PrefetchvsPreload
- PrefetchvsRoute prefetching
- Preflight requestvsSimple request
- preventDefaultvsstopPropagation
- Priority hintvsResource hint
- Prototype chainvsthis binding
- Query keyvsRevalidation
- RasterisationvsRepaint
- ReconciliationvsVirtual DOM
- Referential equalityvsShallow equality
- Reflected XSSvsStored XSS
- ReflowvsRepaint
- requestAnimationFramevsrequestIdleCallback
- Scoped stylesvsShadow DOM
- Scoped stylesvsUtility-first CSS
- Scroll containervsSticky positioning
- Server-side renderingvsStatic site generation
- Server-side renderingvsStreaming SSR
- Server-side renderingvsTime to first byte
- Side-effect-free modulevsTree shaking
- Skeleton screenvsSuspense boundary
- Snapshot testvsVisual regression test
- Source ordervsSpecificity
- Stacking contextvsz-index
Architecture & practice
139 comparisons- Accidental complexityvsEssential complexity
- Action itemvsIncident review
- AffordancevsPrinciple of least astonishment
- Analysis paralysisvsTwo-way door
- AnchoringvsEstimate
- Architectural significancevsArchitecture decision record
- Architecture decision recordvsRequest for comments
- Attack surfacevsDefence in depth
- Batch sizevsWork-in-progress limit
- Big ball of mudvsGod object
- Big bang migrationvsParallel run
- Big bang migrationvsStrangler fig
- BikesheddingvsHiPPO
- Boiling frogvsNormalisation of deviance
- Bounded contextvsUbiquitous language
- Boy scout rulevsRefactoring
- Branch by abstractionvsLong-lived branch
- Branch by abstractionvsSeam
- Branch by abstractionvsStrangler fig
- Broken window theoryvsNormalisation of deviance
- Brooks's lawvsCognitive load
- BrownfieldvsGreenfield
- Build versus buyvsNot invented here
- Bus factorvsSilo
- Cargo cultvsFirst principles
- Cargo cultvsGolden hammer
- Cargo cultvsSurvivorship bias
- Change failure ratevsDeployment frequency
- Change failure ratevsError budget policy
- Change failure ratevsMean time to restore
- Characterisation testvsLegacy system
- Characterisation testvsSeam
- Chesterton's fencevsHyrum's law
- Code ownershipvsCognitive load
- Code ownershipvsOrphaned service
- Code smellvsCruft
- CohesionvsCoupling
- CohesionvsGod object
- CohesionvsSingle responsibility
- Command-query separationvsPrinciple of least astonishment
- CommitmentvsEstimate
- Complicated-subsystem teamvsEnabling team
- ComposabilityvsComposition over inheritance
- Cone of uncertaintyvsEstimate
- Cone of uncertaintyvsKnown unknowns
- Confirmation biasvsNull hypothesis of an outage
- ContainmentvsMitigation
- Continuous deliveryvsContinuous deployment
- Continuous deliveryvsContinuous integration
- Continuous integrationvsTrunk-based development
- Contributing factorvsRoot cause
- Conway's lawvsInverse Conway manoeuvre
- Conway's lawvsMicroservice
- Correlation is not causationvsNull hypothesis of an outage
- CouplingvsTemporal coupling
- CruftvsTechnical debt
- Cycle timevsLead time
- Debt quadrantvsTechnical debt
- Defence in depthvsFailure domain
- Defence in depthvsSwiss cheese model
- Defensive programmingvsFail-safe
- Defensive programmingvsHappy path thinking
- Definition of donevsGold plating
- Definition of donevsShift left
- Dependency inversionvsLayered architecture
- Deployment frequencyvsDORA metrics
- Design reviewvsPre-mortem
- Design reviewvsRequest for comments
- Design reviewvsShift left
- Disagree and commitvsHiPPO
- Disagree and commitvsStrong opinions, weakly held
- Distributed monolithvsMicroservice
- Distributed monolithvsMonolith
- Don't repeat yourselfvsIncidental duplication
- Don't repeat yourselfvsRule of three
- Dual writevsParallel run
- Enabling teamvsPlatform team
- EncapsulationvsHyrum's law
- EncapsulationvsLaw of Demeter
- Error budget policyvsRisk appetite
- EscalationvsSilo
- Escape hatchvsKill switch
- Feature branchvsLong-lived branch
- Feature branchvsTrunk-based development
- Feature parityvsSunsetting
- Five whysvsRoot cause
- Flow efficiencyvsLead time
- Flow efficiencyvsWork-in-progress limit
- Forcing functionvsYou build it, you run it
- Game dayvsLatent failure
- Gold platingvsOver-engineering
- Golden hammervsNot invented here
- Golden hammervsResume-driven development
- Golden pathvsInternal developer platform
- Golden pathvsTechnology radar
- Goodhart's lawvsVelocity
- Hero culturevsToil
- Hindsight biasvsJust culture
- Hofstadter's lawvsPlanning fallacy
- Incident reviewvsJust culture
- Incident reviewvsPre-mortem
- IncidentvsIncident commander
- IncidentvsOutage
- IncidentvsSeverity level
- IndirectionvsLayered architecture
- Internal developer platformvsPlatform team
- Iron trianglevsScope creep
- Kill switchvsReversibility
- Known unknownsvsSpike
- Last responsible momentvsYAGNI
- Leaky abstractionvsLevel of abstraction
- Lift and shiftvsRewrite
- Mean time to restorevsTime to detect
- MicroservicevsModular monolith
- Minimum viable productvsWalking skeleton
- MitigationvsRemediation
- Modular monolithvsMonolith
- On-call rotationvsToil
- On-call rotationvsYou build it, you run it
- One-way doorvsTwo-way door
- Over-engineeringvsPremature optimisation
- Pareto principlevsPremature optimisation
- Parkinson's lawvsTimebox
- Planning fallacyvsReference-class forecasting
- Platform teamvsStream-aligned team
- Proof of conceptvsSpike
- Proof of conceptvsWalking skeleton
- RefactoringvsRewrite
- ReversibilityvsTwo-way door
- RewritevsSecond-system effect
- RewritevsSunk cost fallacy
- Rubber duck debuggingvsXY problem
- Rule of threevsYAGNI
- Separation of concernsvsSingle responsibility
- Speculative generalityvsYAGNI
- SpikevsTimebox
- Story pointvsT-shirt sizing
- Story pointvsVelocity
- Stream-aligned teamvsX-as-a-service
Data engineering
162 comparisons- Accumulating snapshotvsPeriodic snapshot
- Adaptive query executionvsCardinality estimate
- Allowed latenessvsWatermark
- Allowed latenessvsWindow trigger
- AnonymisationvsData clean room
- AnonymisationvsPseudonymisation
- Audit trailvsData classification
- AvrovsParquet
- AvrovsSchema registry
- Batch processingvsMicro-batch
- Batch processingvsStream processing
- Blocking data testvsData expectation
- Bridge tablevsFan trap
- Broadcast joinvsCardinality estimate
- Broadcast joinvsShuffle
- Broadcast joinvsSort-merge join
- Bulk loadvsUpsert
- Bytes scannedvsQuery cost
- Bytes scannedvsResult cache
- Canonical datasetvsData mart
- Canonical datasetvsSystem of record
- CatchupvsConcurrency limit
- CatchupvsPipeline backfill
- Clustering keyvsPartitioning strategy
- Clustering keyvsSort key
- Column-level lineagevsData lineage
- Column-level lineagevsImpact analysis
- Column-level securityvsData classification
- Column-level securityvsRow-level security
- Columnar formatvsRow-oriented format
- Columnar formatvsVectorised execution
- CompactionvsMerge-on-read table
- CompactionvsSmall files problem
- Compression codecvsDictionary encoding
- Conformed dimensionvsData mart
- Conformed dimensionvsRole-playing dimension
- ConnectorvsEvent-carried state transfer
- ConnectorvsFan-out ingestion
- Copy-on-write tablevsMerge-on-read table
- Cost attributionvsQuery cost
- DAGvsOrchestrator
- Data-aware schedulingvsSchedule interval
- Data-aware schedulingvsSensor
- Data cataloguevsData discovery
- Data cataloguevsData governance
- Data cataloguevsData swamp
- Data classificationvsPersonally identifiable information
- Data contractvsSchema registry
- Data contractvsUpstream drift
- Data diffvsGolden run
- Data downtimevsPipeline run history
- Data downtimevsSilent failure
- Data expectationvsData test
- Data freshnessvsFreshness SLA
- Data freshnessvsIngestion lag
- Data lakevsData swamp
- Data lakevsData warehouse
- Data lakevsLakehouse
- Data lineagevsPipeline dependency inversion
- Data maskingvsPseudonymisation
- Data maskingvsTokenisation
- Data meshvsData ownership
- Data meshvsData product
- Data observabilityvsData quality
- Data observabilityvsDistribution check
- Data ownershipvsTrust threshold
- Data pipelinevsOrchestrator
- Data qualityvsData quality dimensions
- Data residencyvsRetention policy
- Data skewvsSpill to disk
- Data skewvsStraggler task
- Data vaultvsDimensional modelling
- Data vaultvsMedallion architecture
- Data warehousevsLakehouse
- DeduplicationvsDeduplication window
- DeduplicationvsUniqueness test
- Deduplication windowvsEnd-to-end exactly-once
- Degenerate dimensionvsJunk dimension
- Delta LakevsHudi
- Delta LakevsIceberg
- Dimension tablevsFact table
- Distribution checkvsVolume anomaly
- ELTvsETL
- ELTvsReverse ETL
- End-to-end exactly-oncevsPipeline checkpoint
- End-to-end exactly-oncevsTransactional sink
- Event timevsIngestion time
- Event timevsProcessing time
- External tablevsLakehouse
- Factless fact tablevsTransaction fact table
- Fan trapvsGrain
- Full loadvsIncremental load
- Full refreshvsIncremental model
- Hard delete detectionvsHigh-water mark
- Hard delete detectionvsTombstone record
- Hash joinvsSort-merge join
- Hash joinvsSpill to disk
- High-water markvsIncremental load
- Hive-style partitioningvsOpen table format
- Hive-style partitioningvsPartition pruning
- Idempotent pipelinevsPartition overwrite
- Idle computevsWarehouse sizing
- Idle partition stallvsWatermark
- Incremental modelvsPartition overwrite
- Ingestion timevsProcessing time
- Initial snapshotvsLog-based CDC
- Kappa architecturevsLambda architecture
- Keyed statevsState backend
- Keyed statevsStateful stream processing
- LakehousevsStorage-compute separation
- Landing zonevsStaging layer
- Late-arriving datavsLate-arriving dimension
- Late-arriving datavsWatermark
- Late-arriving dimensionvsReferential integrity check
- Log-based CDCvsQuery-based CDC
- Logical datevsSchedule interval
- Manifest filevsOpen table format
- Manual interventionvsZombie task
- Medallion architecturevsStaging layer
- Metric definitionvsMetric drift
- Metric definitionvsSemantic layer
- Micro-batchvsStream processing
- Natural keyvsSurrogate key
- Null-rate checkvsVolume anomaly
- Object storagevsSmall files problem
- One big tablevsStar schema
- One big tablevsWide table
- ORCvsParquet
- Out-of-order eventsvsWatermark
- Partition overwritevsPipeline backfill
- Partition overwritevsUpsert
- Partition pruningvsProjection pushdown
- Partitioning strategyvsSmall files problem
- Periodic snapshotvsSemi-additive measure
- Periodic snapshotvsTransaction fact table
- Pipeline backfillvsRestatement
- Pipeline checkpointvsSavepoint
- Poison recordvsQuarantine table
- Predicate pushdownvsProjection pushdown
- Predicate pushdownvsRow group
- Pull-based ingestionvsPush-based ingestion
- Query costvsWarehouse sizing
- Retention policyvsRight to erasure
- Right to erasurevsSnapshot expiry
- Row-count reconciliationvsSilent failure
- SCD type 1vsSCD type 2
- SCD type 1vsSlowly changing dimension
- SCD type 2vsSCD type 3
- SCD type 2vsSurrogate key
- SCD type 2vsTemporal join
- Schema compatibility modevsSchema registry
- Schema driftvsSchema-on-write
- Schema driftvsUpstream drift
- Schema-on-readvsSchema-on-write
- Session windowvsSliding window
- Session windowvsTumbling window
- Sliding windowvsTumbling window
- Snapshot expiryvsTime travel
- Snowflake schemavsStar schema
- Sort keyvsZ-ordering
- Stream-table dualityvsTombstone record
- Streaming joinvsTemporal join
Platform & DevOps
190 comparisons- Active-activevsActive-passive
- Active-passivevsFailback
- Active-passivevsWarm standby
- Admission controllervsArtefact signing
- Admission controllervsAttestation
- Admission controllervsPolicy as code
- Apply blast radiusvsPlan and apply
- Artefact promotionvsBuild once, deploy many
- Artefact promotionvsEnvironment parity
- Artefact registryvsBuild artefact
- Artefact registryvsContainer registry
- Artefact signingvsBuild provenance
- AttestationvsBuild provenance
- Automated rollbackvsPost-deploy verification
- Automated rollbackvsProgressive delivery
- Availability zonevsCloud region
- Availability zonevsPod anti-affinity
- Base imagevsDistroless image
- Base imagevsGolden image
- Base imagevsMulti-stage build
- Bin packingvsCluster autoscaling
- Bin packingvsResource request
- Bin packingvsRightsizing
- Bin packingvsUnschedulable workload
- Break-glass accessvsControl plane audit log
- Break-glass accessvsJust-in-time access
- Build artefactvsBuild once, deploy many
- Build cachevsImage layer
- Build pipelinevsPipeline as code
- Build pipelinevsPipeline runner
- Build provenancevsReproducible build
- Burst capacityvsHeadroom
- Cattle not petsvsIn-place upgrade
- Cattle not petsvsSnowflake server
- Cell-based architecturevsMulti-tenancy
- Cell-based architecturevsShuffle sharding
- Certificate rotationvsWorkload identity
- cgroupsvsLinux namespaces
- cgroupsvsResource limit
- Change freezevsRelease train
- ChargebackvsFinOps
- ChargebackvsShowback
- Cloud landing zonevsInfrastructure module
- Cloud landing zonevsPaved road
- Cloud regionvsMulti-region
- Cluster autoscalingvsHorizontal autoscaling
- Cluster DNSvsService discovery
- ClustervsNode
- Config repositoryvsGitOps
- Configuration managementvsImage baking
- Configuration managementvsProvisioning
- Container escapevsLinux namespaces
- Container escapevsPrivileged container
- Container escapevsTenant isolation
- Container imagevsImage layer
- Container Network InterfacevsOverlay network
- Container registryvsContainer runtime
- Container runtimevsOpen Container Initiative
- ContainervsContainer image
- Control planevsData plane
- Control planevsStatic stability
- ControllervsOperator
- ControllervsReconciliation loop
- ConvergencevsIdempotent provisioning
- Cost anomaly detectionvsUnit economics
- Cost anomaly detectionvsZombie resource
- CPU throttlingvsOOM kill
- CPU throttlingvsResource limit
- Cross-zone traffic costvsEast-west traffic
- Cross-zone traffic costvsEgress charge
- Custom resourcevsOperator
- DaemonSetvsResource request
- DaemonSetvsStatefulSet
- Declarative configurationvsDesired state
- Declarative configurationvsImperative configuration
- Dependency confusionvsSoftware supply chain
- Deployment gatevsPost-deploy verification
- Deployment ringvsProgressive delivery
- Deployment ringvsRelease train
- Desired statevsObserved state
- Desired statevsReconciliation loop
- Disaster recoveryvsRecovery time objective
- Disaster recoveryvsRestore testing
- Drift detectionvsInfrastructure drift
- Drift detectionvsPlan and apply
- East-west trafficvsNorth-south traffic
- East-west trafficvsZero-trust networking
- Egress chargevsStorage lifecycle policy
- EgressvsEgress gateway
- EgressvsIngress
- EgressvsNAT gateway
- EntrypointvsPID 1 problem
- Envelope encryptionvsKey management service
- Environment parityvsEphemeral environment
- Environment parityvsTwelve-factor app
- Ephemeral container filesystemvsOverlay filesystem
- Ephemeral container filesystemvsPersistent volume
- Ephemeral container filesystemvsTwelve-factor app
- EvictionvsNode drain
- EvictionvsOvercommit
- EvictionvsQuality of service class
- Fault injectionvsStatic stability
- FinOpsvsUnit economics
- GitOps driftvsInfrastructure drift
- GitOps driftvsReconciliation loop
- GitOpsvsPull-based deployment
- Golden imagevsImage baking
- Headless servicevsLayer 4 load balancing
- Headless servicevsVirtual IP
- HeadroomvsOverprovisioning
- HeadroomvsStatic stability
- Hermetic buildvsReproducible build
- Horizontal autoscalingvsScale to zero
- Horizontal autoscalingvsVertical autoscaling
- Identity federationvsRole assumption
- Identity federationvsSelf-hosted runner
- Identity federationvsShort-lived credential
- Image bakingvsPatch cadence
- Image digestvsImage tag
- Image layervsOverlay filesystem
- Image pull policyvsImage tag
- Image scanningvsSoftware bill of materials
- Image scanningvsSoftware supply chain
- In-place upgradevsSnowflake server
- Infrastructure bootstrappingvsState file
- Infrastructure modulevsInfrastructure provider
- Infrastructure modulevsPaved road
- Infrastructure statevsState file
- IngressvsIngress controller
- Init containervsSidecar
- Instance metadata servicevsWorkload identity
- Just-in-time accessvsPrivilege creep
- Layer 4 load balancingvsLayer 7 load balancing
- Layer 7 load balancingvsSidecar proxy
- Maintenance windowvsPatch cadence
- Multi-tenancyvsResource quota
- Multi-tenancyvsTenant isolation
- Network policyvsSecurity group
- Network policyvsZero-trust networking
- Node affinityvsPod anti-affinity
- Node affinityvsTaint
- Node drainvsPod disruption budget
- Node drainvsSpot interruption
- On-demand pricingvsReserved capacity
- On-demand pricingvsScale to zero
- On-demand pricingvsSpot instance
- OOM killvsResource limit
- Operational readiness reviewvsToil automation
- OvercommitvsResource limit
- OverprovisioningvsRightsizing
- Paved roadvsSelf-service platform
- Permission boundaryvsPolicy as code
- Permission boundaryvsPrivilege creep
- Persistent volumevsStatefulSet
- Pipeline runnervsSelf-hosted runner
- Plan and applyvsResource graph
- Plan and applyvsResource replacement
- Platform as a productvsPlatform engineering
- Platform as a productvsSelf-service platform
- Pod anti-affinityvsTopology spread
- Pod disruption budgetvsRolling deployment
- PodvsSidecar
- Privilege creepvsService account
- Privileged containervsRootless container
- Progressive deliveryvsTraffic splitting
- Pull-based deploymentvsPush-based deployment
- Quality of service classvsResource request
- Recovery point objectivevsRecovery time objective
- Recovery point objectivevsRestore testing
- Reserved capacityvsSpot instance
- Resource limitvsResource request
- Resource taggingvsShowback
- Resource taggingvsZombie resource
- RightsizingvsVertical autoscaling
- SchedulervsUnschedulable workload
- Secret managementvsSecret sprawl
- Secret managementvsShort-lived credential
- Security groupvsVPC peering
- Service accountvsWorkload identity
- Service discoveryvsService endpoint
- Service endpointvsVirtual IP
- Short-lived credentialvsWorkload identity
- Shuffle shardingvsTenant isolation
- SidecarvsSidecar proxy
- Software bill of materialsvsSoftware supply chain
- Spot instancevsSpot interruption
- Startup probevsTermination grace period
- State filevsState import
- State filevsState locking
- TaintvsToleration
Design patterns
185 comparisons- Abstract classvsProgramming to an interface
- Abstract factoryvsFactory method
- AbstractionvsDeclarative vs imperative
- AbstractionvsProgramming to an interface
- Active recordvsData mapper
- Active recordvsRow data gateway
- Adapter patternvsBridge pattern
- Adapter patternvsDecorator pattern
- Adapter patternvsFacade pattern
- Adapter patternvsWrapper
- Aggregate rootvsRepository pattern
- AggregatevsAggregate root
- AggregationvsComposition
- Aggregation vs compositionvsComposite pattern
- Aggregation vs compositionvsIs-a vs has-a
- Algebraic data typevsPattern matching
- Algebraic data typevsReplace conditional with polymorphism
- Always-valid domain modelvsClass invariant
- Ambient contextvsHidden dependency
- Ambient contextvsService locator
- Anaemic domain modelvsDomain model
- Anaemic domain modelvsGetters and setters
- Anti-patternvsDesign pattern
- Anti-patternvsSpaghetti code
- Application servicevsDomain service
- Application servicevsService layer
- Arrow anti-patternvsGuard clause
- Arrow anti-patternvsSpaghetti code
- AssemblervsData transfer object
- AutowiringvsConvention over configuration
- AutowiringvsDependency injection container
- Blackboard patternvsMediator pattern
- Blackboard patternvsPipes and filters
- Boat anchorvsDead code
- Boolean trapvsConnascence
- Boolean trapvsLong parameter list
- Bridge patternvsSubclass explosion
- Builder patternvsFluent interface
- Builder patternvsTelescoping constructor
- CallbackvsObserver pattern
- Captive dependencyvsLifetime scope
- Cargo cult programmingvsInner-platform effect
- Chain of responsibilityvsMiddleware
- Circular dependencyvsConnascence
- Class invariantvsDesign by contract
- Clean architecturevsDependency rule
- Clean architecturevsHexagonal architecture
- Clean architecturevsOnion architecture
- Clean architecturevsUse case interactor
- Command patternvsMemento pattern
- Command patternvsStrategy pattern
- Composition rootvsObject graph
- Constructor injectionvsSetter injection
- Copy-on-writevsDeep copy vs shallow copy
- Copy-on-writevsStructural sharing
- Copy-paste programmingvsPremature abstraction
- Covariance and contravariancevsLiskov substitution principle
- CurryingvsPartial application
- Data access objectvsRepository pattern
- Data transfer objectvsValue object
- Dead codevsLava flow
- DeclarativevsImperative
- Decorator patternvsMiddleware
- Decorator patternvsProxy pattern
- Decorator patternvsWrapper
- Deep copyvsShallow copy
- Deep copy vs shallow copyvsDefensive copy
- Deep copy vs shallow copyvsPrototype pattern
- Deep modulevsInterface segregation principle
- Deep modulevsPass-through method
- Defensive copyvsImmutability
- DelegationvsInheritance
- Dependency injection containervsPure dependency injection
- Dependency injectionvsHard-coded dependency
- Dependency injectionvsInversion of control
- Dependency injectionvsService locator
- Design by contractvsLiskov substitution principle
- Design patternvsGang of Four
- Design patternvsPattern language
- Diamond problemvsMixin
- Divergent changevsShotgun surgery
- Domain eventvsObserver pattern
- Domain factoryvsFactory method
- Domain modelvsTransaction script
- Double-checked lockingvsLazy initialisation
- Double dispatchvsVisitor pattern
- Duck typingvsNominal vs structural typing
- Dynamic dispatchvsLate binding
- Dynamic dispatchvsPolymorphism
- Eager loadingvsLazy loading
- Embedded valuevsValue object
- EntityvsValue object
- Exhaustiveness checkingvsPattern matching
- Facade patternvsPass-through method
- Facade patternvsProxy pattern
- Facade patternvsWrapper
- Factory methodvsSimple factory
- Feature envyvsMessage chain
- Feature envyvsTell, don't ask
- First-class functionvsHigher-order function
- Fluent interfacevsMessage chain
- FlyweightvsIntrinsic state
- Fragile base classvsInheritance
- Fragile base classvsTemplate method
- Front controllervsModel-view-controller
- Function compositionvsPipes and filters
- Functional core, imperative shellvsHexagonal architecture
- Functional core, imperative shellvsHumble object
- GeneratorvsIterator pattern
- GeneratorvsLazy evaluation
- Getters and settersvsInformation hiding
- Global mutable statevsHidden dependency
- Global mutable statevsSingleton
- Guard clausevsNull object
- Hexagonal architecturevsOnion architecture
- Hexagonal architecturevsTier vs layer
- Higher-order functionvsMap, filter, reduce
- Higher-order functionvsStrategy pattern
- Hollywood principlevsInversion of control
- Humble objectvsModel-view-presenter
- Identity mapvsUnit of work
- ImmutabilityvsPersistent data structure
- Information hidingvsModule pattern
- InheritancevsIs-a vs has-a
- InheritancevsYo-yo problem
- InterceptorvsMiddleware
- InterceptorvsProxy pattern
- Interface segregation principlevsSOLID
- InternalvsExternal iterator
- Internal vs external iteratorvsIterator pattern
- Interpreter patternvsVisitor pattern
- Is-avsHas-a
- Late bindingvsPlugin architecture
- Lazy initialisationvsVirtual proxy
- Lazy loadingvsVirtual proxy
- Lifetime scopevsSingleton
- Liskov substitution principlevsRefused bequest
- Liskov substitution principlevsSOLID
- Long parameter listvsTelescoping constructor
- Magic numbervsStringly typed
- Mediator patternvsObserver pattern
- Method overloadingvsMethod overriding
- Microkernel architecturevsPlugin architecture
- MiddlewarevsPipes and filters
- Model-view-controllervsModel-view-presenter
- Model-view-controllervsModel-view-viewmodel
- Model-view-presentervsModel-view-viewmodel
- Model-view-viewmodelvsPresentation model
- Model-view-viewmodelvsTwo-way data binding
- MonadvsOption type
- MonadvsRailway-oriented programming
- NominalvsStructural typing
- Null objectvsOption type
- Object adaptervsClass adapter
- Object equalityvsReference vs value semantics
- Object equalityvsValue object
- Object-relational impedance mismatchvsObject-relational mapping
- Object-relational impedance mismatchvsSingle table inheritance
- Open–closed principlevsPlugin architecture
- Open–closed principlevsPremature abstraction
- Open–closed principlevsSOLID
- Option typevsResult type
- Package by featurevsScreaming architecture
- Package by featurevsShotgun surgery
- Pass-through methodvsPoltergeist
- Persistent data structurevsStructural sharing
- PolymorphismvsReplace conditional with polymorphism
- Primitive obsessionvsStringly typed
- Primitive obsessionvsTiny type
- Proxy patternvsWrapper
- Pure functionvsReferential transparency
- Pure functionvsSide effect
- Query objectvsRepository pattern
- Query objectvsSpecification pattern
- Railway-oriented programmingvsResult type
- ReferencevsValue semantics
- Remote proxyvsVirtual proxy
- Row data gatewayvsTable data gateway
- Service layervsTransaction script
- Simple factoryvsStatic factory method
- State machinevsState pattern
- State patternvsStrategy pattern
- Strategy patternvsTemplate method
- TiervsLayer
- Tiny typevsValue object
Across areas
295 comparisons- AbstractionvsLevel of abstraction
- Active-passivevsFailover
- Adapter patternvsAnti-corruption layer
- AggregatevsBounded context
- Alert fatiguevsToil
- Always-valid domain modelvsSchema-on-write
- Anti-corruption layervsConnector
- Anti-corruption layervsStrangler fig
- Anti-patternvsCode smell
- API gatewayvsIngress
- API gatewayvsMiddleware
- API gatewayvsRemote proxy
- Apply blast radiusvsBlast radius
- Artefact promotionvsDeployment
- Artefact promotionvsRelease
- At-least-once deliveryvsEnd-to-end exactly-once
- Attack surfacevsThird-party script
- Audit trailvsControl plane audit log
- Audit trailvsStructured logging
- AuthorizationvsRow-level security
- Automated rollbackvsRoll forward
- Automated rollbackvsRollback
- BackfillvsPipeline backfill
- BackpressurevsStream processing
- BackpressurevsWork-in-progress limit
- Backward compatibilityvsHyrum's law
- Backward compatibilityvsSchema compatibility mode
- Batch sizevsChange freeze
- Batching / continuous batchingvsBulk load
- Batching / continuous batchingvsMicro-batch
- Big ball of mudvsSpaghetti code
- Big bang migrationvsSchema migration
- Blameless postmortemvsJust culture
- Blast radiusvsCell-based architecture
- Blast radiusvsFailure domain
- Blast radiusvsImpact analysis
- Blocking data testvsCircuit breaker
- Blue-green deploymentvsCanary deployment
- Blue-green deploymentvsRolling deployment
- Boat anchorvsChesterton's fence
- Branch by abstractionvsExpand and contract
- Broken windowvsTechnical debt
- Build pipelinevsContinuous delivery
- Build pipelinevsContinuous integration
- Build versus buyvsFrameworks: build vs buy
- BulkheadvsConcurrency limit
- BulkheadvsContainment
- BulkheadvsResource quota
- BulkheadvsShuffle sharding
- Burst capacityvsCapacity planning
- Bus factorvsSingle point of failure
- Cache-asidevsIdentity map
- Cache-asidevsRepository pattern
- Cache invalidationvsResult cache
- Canary deploymentvsDeployment ring
- Canary deploymentvsPost-deploy verification
- Canary deploymentvsProgressive delivery
- Canary deploymentvsTraffic splitting
- Canonical datasetvsSingle source of truth
- Capacity planningvsCone of uncertainty
- Capacity planningvsHeadroom
- Capacity planningvsWarehouse sizing
- Cargo cult programmingvsGolden hammer
- Cascading failurevsFailure domain
- Cattle not petsvsImmutable infrastructure
- Cell-based architecturevsFailure domain
- Certificate rotationvsSecret rotation
- Chain of responsibilityvsEvent bubbling
- Change data capturevsLog-based CDC
- Change data capturevsQuery-based CDC
- Chaos engineeringvsFault injection
- Chaos engineeringvsGame day
- Chaos engineeringvsRestore testing
- Characterisation testvsData diff
- Characterisation testvsGolden test
- ChunkingvsRow group
- Circuit breakervsFail fast
- Circular dependencyvsCoupling
- Clean architecturevsLayered architecture
- Cluster DNSvsTail latency
- Clustered indexvsClustering key
- Code ownershipvsData ownership
- Cognitive loadvsMicro-frontend
- Cognitive loadvsSelf-service platform
- CohesionvsInterface segregation principle
- Cold start / model loadingvsScale to zero
- Column-level securityvsPrinciple of least privilege
- Columnar formatvsOLAP
- Command patternvsEvent sourcing
- Command-query separationvsTell, don't ask
- Component memoisationvsMemoisation
- Composition over inheritancevsDelegation
- Composition over inheritancevsInheritance
- Conditional requestvsETag
- Configuration driftvsNormalisation of deviance
- Confirmation biasvsJudge biases
- ConnascencevsCoupling
- Connection drainingvsConnection pool
- Connection drainingvsGraceful shutdown
- Connection drainingvsSession affinity
- Connection poolvsObject pool
- Consumer lagvsIngestion lag
- Content delivery networkvsImmutable caching
- Continuous deploymentvsRelease
- Continuous integrationvsFlaky test
- Contract testvsData contract
- Contract testvsData test
- Contract testvsShift left
- Control plane audit logvsStructured logging
- Conway's lawvsData mesh
- Copy-on-writevsImmutable infrastructure
- Correlation IDvsInterceptor
- Correlation is not causationvsDistributed tracing
- Cost attributionvsCost per request
- Cost per requestvsUnit economics
- CPU throttlingvsTail latency
- Cross-site request forgeryvsSameSite cookie
- Dark launchvsShadow deployment
- Data downtimevsMean time to restore
- Data freshnessvsEventual consistency
- Data lineagevsDistributed tracing
- Data observabilityvsObservability
- Data pipelinevsPipes and filters
- Data productvsStream-aligned team
- Data skewvsHot key
- Data swampvsTechnical debt
- Data warehousevsOLTP
- Dead letter queuevsQuarantine table
- Declarative configurationvsDeclarative vs imperative
- Declarative configurationvsOrchestration
- DeduplicationvsIdempotency key
- Deep modulevsLeaky abstraction
- Defence in depthvsPrinciple of least privilege
- DenormalisationvsStar schema
- Dependency injectionvsDependency inversion
- Dependency inversionvsHexagonal architecture
- Dependency inversionvsSOLID
- Dependency rulevsLayered architecture
- Deployment gatevsFeature flag
- DeploymentvsDeployment frequency
- Deprecation windowvsSunsetting
- Derived statevsModel-view-viewmodel
- Design reviewvsOperational readiness review
- DeterministicvsLogical date
- DeterministicvsNon-determinism
- DeterministicvsReferential transparency
- DeterministicvsReproducible build
- Distributed cachevsSemantic caching
- Distributed monolithvsPartial failure
- Distributed tracingvsTracing / spans
- Divergent changevsSingle responsibility
- Domain eventvsEvent-carried state transfer
- Domain modelvsUbiquitous language
- DriftvsMetric drift
- Dual writevsEvent-carried state transfer
- Dual writevsTransactional outbox
- East-west trafficvsService mesh
- EncapsulationvsGetters and setters
- EncapsulationvsInformation hiding
- End-to-end exactly-oncevsExactly-once processing
- Ephemeral environmentvsFeature flag
- Error boundaryvsGraceful degradation
- Error budget policyvsService level objective
- Error budgetvsError budget policy
- Escape hatchvsHuman in the loop
- Event-carried state transfervsTransactional outbox
- Event loopvsMicrotask
- Event sourcingvsReducer
- Event sourcingvsStream-table duality
- Event streamvsStream processing
- Eventual consistencyvsReconciliation loop
- EvictionvsLoad shedding
- Exponential backoffvsTimeout
- FailbackvsFailover
- FailovervsMitigation
- Fan-out ingestionvsPublish-subscribe
- Fault injectionvsGame day
- Feature detectionvsFeature flag
- Feature flagvsKill switch
- Feature flagvsLate binding
- Field datavsPercentile latency (p50, p95, p99)
- Flaky testvsVisual regression test
- Freshness SLAvsService level objective
- God objectvsMediator pattern
- God objectvsPoltergeist
- Golden hammervsInner-platform effect
- Golden imagevsImmutable infrastructure
- Golden pathvsInfrastructure as code
- Golden pathvsPaved road
- Golden runvsGolden test
- Golden testvsRegression testing
- Goodhart's lawvsMetric definition
- Graceful degradationvsHappy path thinking
- Graceful degradationvsLoad shedding
- Graceful degradationvsProgressive enhancement
- Graceful degradationvsStatic stability
- Graceful shutdownvsPID 1 problem
- Graceful shutdownvsTermination grace period
- Hard-coded dependencyvsSeam
- Horizontal autoscalingvsHorizontal scaling
- Horizontal scalingvsStorage-compute separation
- HttpOnly cookievsSession cookie
- Hyrum's lawvsUpstream drift
- IdempotentvsIdempotent pipeline
- IdempotentvsIdempotent provisioning
- IdempotentvsSide effects and idempotency in tools
- ImmutabilityvsImmutable update
- Immutable infrastructurevsIn-place upgrade
- Incident reviewvsRestatement
- Incremental modelvsMaterialised view
- Infrastructure as codevsInfrastructure drift
- Infrastructure as codevsPlan and apply
- Ingestion lagvsReplication lag
- IngressvsRate limiting
- Internal developer platformvsPlatform as a product
- Latent failurevsSilent failure
- Lava flowvsStrangler fig
- Law of DemetervsMessage chain
- Layer 4 load balancingvsSession affinity
- Layer 7 load balancingvsLoad balancer
- Layered architecturevsTier vs layer
- Lazy loadingvsN+1 query
- Least privilege for toolsvsPrinciple of least privilege
- Lifting state upvsTwo-way data binding
- Liveness probevsStartup probe
- Load balancervsService discovery
- Manual interventionvsRunbook
- Mean time to restorevsRecovery time objective
- MemoisationvsPure function
- Message queuevsQueueing and async processing
- Metric definitionvsSpecification pattern
- MetricvsObservability
- Microkernel architecturevsModular monolith
- MicroservicevsService layer
- MicroservicevsService mesh
- Modular monolithvsPlugin architecture
- Multi-tenancyvsNoisy neighbour
- Mutual TLSvsWorkload identity
- Mutual TLSvsZero-trust networking
- N+1 queryvsObject-relational mapping
- N+1 queryvsRequest waterfall
- Network mockingvsStub
- Noisy neighbourvsTenant isolation
- NormalisationvsNormalised state
- NormalisationvsSingle table inheritance
- NormalisationvsSnowflake schema
- Null objectvsTest double
- Object poolvsThread pool
- ObservabilityvsObserved state
- Observer patternvsPublish-subscribe
- Open table formatvsSnapshot isolation
- Optimistic lockingvsOptimistic UI
- Optimistic lockingvsUnit of work
- OrchestrationvsOrchestrator
- Out-of-order responsevsRace condition
- OvercommitvsSaturation
- Parallel runvsShadow deployment
- ParallelismvsWeb worker
- Partitioning strategyvsSharding
- PartitioningvsPartitioning strategy
- Percentile latency (p50, p95, p99)vsTail latency
- Permission boundaryvsPrinciple of least privilege
- Personally identifiable informationvsPII handling
- Pipeline backfillvsReplay
- Pipeline dependency inversionvsTemporal coupling
- Platform engineeringvsPlatform team
- Poison messagevsPoison record
- Policy as codevsShift left
- Premature abstractionvsSpeculative generality
- Premature abstractionvsYAGNI
- Principle of least privilegevsPrivilege creep
- Proxy patternvsSidecar proxy
- Rate limitingvsRate limits (RPM, TPM)
- Readiness probevsStartup probe
- Recovery point objectivevsReplication lag
- Retention policyvsTime to live
- RevalidationvsStale-while-revalidate
- ReversibilityvsRollback
- RunbookvsToil
- RunbookvsToil automation
- SagavsState machine
- Schema driftvsSchema evolution
- SeamvsTest double
- Secret rotationvsShort-lived credential
- Semantic layervsUbiquitous language
- Service meshvsSidecar proxy
- Session affinityvsStatelessness
- Single responsibilityvsSOLID
- Skeleton screenvsStreaming UX patterns
- Straggler taskvsTail latency
- StreamingvsStreaming SSR
- Synthetic monitoringvsTime to detect
- ToilvsToil automation
- TokenisationvsTokeniser
- Vertical autoscalingvsVertical scaling