# 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
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up