"Dynamodb"
- NoSQL Vendor Selection:document / KV / multi-model 三方選型 + workload shape 前置判讀
MongoDB / DynamoDB / Cosmos DB 三家 NoSQL 選型 entry point:資料形狀、access pattern 穩定度、consistency 三個前置判讀,保留原 DB、同 DB 換託管、換 vendor 保留 model 三種 migration path,federated DB 視角,以及三家在資料模型、部署 topology、capacity 抽象、partition key 可逆性、consistency 等面向的對比
- DynamoDB Strongly Consistent → Eventually Consistent:same protocol, different contract
DynamoDB consistency model 從 strongly consistent read 改 eventually consistent read 是 50% cost 優化但風險集中在 application contract — 同 vendor / 同 protocol / 同 table / 不同 read consistency;驗證 [#128](/report/data-topology-as-audit-dimension/) self-aware limitation 提出的 consistency axis 候選;涵蓋 read site audit、分階段切換,以及 read-your-write 失效、跨 record 寫入未綁交易、background job 重複處理、成本反升與 strong read 單獨失效這幾種 production 踩雷
- DynamoDB Single-Table Design:從適用度前置判讀到 access pattern 反推 PK/SK
DynamoDB single-table 設計不是「資料表越少越好」,而是 access pattern 反推 PK/SK 跟 GSI;本文先做 DynamoDB 適用度 4 軸前置判讀(PK 天然均勻 / control plane vs data plane / consistency / access pattern 穩定),再展開設計流程、failure modes 與 durable queue 正向用例
- DynamoDB Partition Key 反模式與 Write Sharding:composite key 修復跟 mode × partition 交叉判讀
DynamoDB partition 上限 1000 WCU 是 hot partition 的根因;composite key(event_id + shard suffix)跟 calculated shard(hash % N)兩種修法、mode × partition 在 provisioned / on-demand 不同表現,以及 Tixcraft 6750x 擴展的工程細節
- DynamoDB GSI 與 LSI 設計:access pattern 補位、projection、consistency 跟 DAX 補位
GSI / LSI 是 single-table 沒覆蓋的 access pattern 補位、不是萬靈丹;本文涵蓋 projection 在 KEYS_ONLY、INCLUDE 與 ALL 之間的選擇、sparse index、GSI 自己會 hot partition、DAX 讀峰值補位的觸發條件
- DynamoDB On-Demand vs Provisioned:6 軸決策、auto-scaling 邊界與 cost crossover
capacity mode 選擇不是單軸 peak/avg ratio;本文展開 6 軸決策(peak/avg / 讀寫比 trend / surge 暫時 vs 永久 baseline / predictable-peak vs flash-sale / DBA 工時釋放 / vendor vs 自管 cost crossover),含 Zomato 50% 成本下降、Zoom 30x permanent surge、Amazon Ads sustained workload 等案例對照
- DynamoDB Global Tables:multi-region active-active、LWW conflict 與 cross-device sync 正向用例
Global Tables 不只是 conflict 痛點、也是 cross-device sync / global read / DR failover 的正向工程方案;本文展開 B2B SaaS vs B2C 業務 driver、LWW conflict resolution、reconciliation pipeline,含 Genesys 99.999% 跨 15 region 跟 Disney+ 跨裝置同步的對照
- DynamoDB Transaction 與 Conditional Write:跨 item 原子性、optimistic locking 與 idempotency
DynamoDB 的寫原子性不是免費 ACID;本文展開 TransactWriteItems 跨 item 原子性、ConditionExpression 條件寫、version-based optimistic locking、ClientRequestToken idempotency,以及 transaction 2x 成本邊界與何時用單 item conditional write 取代 transaction
- DynamoDB DAX 快取策略:cluster 架構、item/query cache、write-through 與 invalidation 邊界
DAX 不是「加上去就變快」的開關;本文展開 DAX cluster 架構、item cache vs query cache 兩種快取、write-through 一致性語意、query cache 只靠 TTL 失效的陷阱,以及 strongly consistent read 繞過 cache 的邊界
- DynamoDB Streams 與 Lambda 事件驅動:CDC、shard 順序保證、消費模式與失敗處理
DynamoDB Streams 不是免費的可靠事件流;本文展開 stream record 的 view type(KEYS_ONLY / NEW_IMAGE / OLD_IMAGE / NEW_AND_OLD_IMAGES)、shard 對應 partition 的順序保證邊界、Lambda event source mapping vs Kinesis 消費模式、at-least-once 下游冪等需求,以及 batch 失敗時的 bisect / DLQ 處理
- DynamoDB TTL 資料生命週期:自動過期、數天內的刪除延遲、過期仍可讀與 storage 成本
DynamoDB TTL 不是即時刪除也不是查詢過濾器;本文展開 TTL attribute 的 epoch 語意、AWS 背景刪除的延遲特性、過期但未刪 item 仍會被讀到且仍計費的陷阱、TTL 刪除免 WCU 與觸發 stream 的整合,含 PayPay 訊息過期清理的案例
- 從 RDS / MongoDB 遷移到 DynamoDB:access-pattern-first 重建模、混合架構與 cost crossover
RDS / MongoDB → DynamoDB 要換的是資料模型的 paradigm,schema 無法照原樣搬過去;本文展開為何字面遷移不成立、access pattern 重建模、哪些 workload 該遷哪些該留的混合架構、dual-write + shadow read 階段化,以及 Zomato cost crossover 的長期成本判讀