# Kinesis :::info 日期 : 2025/04/08 ::: Kinesis 是個 real time data 處理站 ------- #### 和 SQS 差別 SQS : 處理一筆一筆任務,可延遲 / 重試,消費者 poll 訊息才處理一次(定時) Kinesis : 處理大量即時資料流,消費者可同時讀取資料(real time) --- #### 特點 * 收集、處理、分析大量串流資料 * 有順序、資料保存有期限(預設 24 小時) * 通過 Shards 來控制 Kinesis 量能 * 用途 : 即時 log 分析、即時推薦系統、即時警報、資料管線串接 --- #### 子服務 * Kinesis Data Streams:接收、儲存、串流資料 * Kinesis Data Firehose : 自動把資料串流傳送到其他服務(Serverless, 僅支援S3、Redshift、OpenSearch、Splunk 這幾個目的地) * Kinesis Data Analytics : 寫 SQL 查即時資料流 * Kinesis Video Streams : 專門處理影像串流 --- #### 常見整合 * Kinesis Data Firehose * S3 冷儲存 * Redshift 轉成結構化資料做分析 * OpenSearch 即時搜尋與可視化 * Splunk 企業日誌 * Lambda 即時處理資料 * Glue / EMR / Spark 做進階的 ETL 或批次處理 * CloudWatch Logs 即時監控資料 AWS 服務介紹 *Redshift : 可用 SQL 查的大型 Data Warehouse *Spark : 大數據處理引擎,支援分散式運算,用來做 ETL、SQL 查詢、機器學習。Glue 和 EMR 都是跑 Spark 的平台 *Glue : Serverless 的 Spark ETL 工具 *EMR : 自己架的 Spark/Hadoop 分散式平台 --- #### 架構 Firehose  CDC pipeline (change data capture)  1. EventBridge 每 1 分鐘 triggers 一次 Lambda 2. Lambda 製造模擬資料並送進 Kinesis Data Stream 3. Firehose 讀取資料 4. Kinesis Data Firehose * Dynamic Partitioning configuration : Firehose 根據你設定的欄位自動將資料分類進 S3 不同路徑 * Custom Dynamic Partitioning : 呼叫另一個 Lambda 來處理資料(改欄位名稱、算新欄位、格式轉換) 5. 儲存結果到 Amazon S3 6. 用 Athena queries 在 S3 中的資料,Athena 會使用 Glue Data Catalog 提供的 schema 來讀懂欄位 *EventBridge : 某事件觸發後,根據規則分發給目標 *Glue Data Catalog : 資料庫 + 資料表的欄位說明書 --- https://believe67.medium.com/aws-saa%E7%B3%BB%E5%88%97-%E8%A8%8A%E6%81%AF-sns-sqs-kinesis-360c0d6b8759 https://aws.amazon.com/tw/blogs/big-data/load-cdc-data-by-table-and-shape-using-amazon-kinesis-data-firehose-dynamic-partitioning/
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.