Posts for: #資料工程

SQL 解題框架

🚀 SQL 解題完整步驟(包含思路 + 查詢步驟)

在 SQL 面試或真實數據分析時,除了知道 SQL 查詢的執行順序,還需要明確的解題思路,以便快速拆解問題,並選擇最適合的 SQL 技巧。

🎯 通用 SQL 解題框架

Step 1 - 理解問題
Step 2 - 拆解數據需求(定義輸入 & 輸出)
Step 3 - 設計 SQL 查詢步驟(WHERE → JOIN → GROUP BY → Window Function → 排序)
Step 4 - 考慮 SQL 效能優化(索引、避免數據膨脹、最佳化 JOIN
Step 5 - 驗證結果 & 提供洞察


✅ 1️⃣ SQL 解題完整步驟

📌 Step 1:理解問題

當你看到一個 SQL 問題時,請先問自己:

  • 「這個問題希望查什麼數據?」(查詢條件)
  • 「需要計算哪些指標?」(COUNT、SUM、AVG、排名?)
  • 「輸入數據有哪些欄位?」
  • 「輸出結果應該有哪些欄位?」
  • 「有沒有時間範圍、排名、篩選條件?」

舉例:找出 2023 年每個月銷售前三名的產品

Read more

How to transfer data between servers?(SFTP, SCP, etc.)

以下是常見的資料傳輸方式:

傳輸方式 協議/技術 特點 優缺點 適用場景
SFTP SSH File Transfer Protocol - 基於 SSH 加密傳輸 - 支援檔案管理功能 優點:安全性高 缺點:速度相對較慢 安全性要求高的文件傳輸
FTP File Transfer Protocol - 無加密傳輸 - 傳輸效率高 優點:傳輸快 缺點:不安全,容易被攔截 公開文件或低敏感性資料的傳輸
FTPS FTP Secure - 基於 FTP,透過 SSL/TLS 加密 優點:較安全 缺點:需要證書,設置複雜 敏感文件傳輸,需要兼容 FTP 的情況
HTTP/HTTPS HyperText Transfer Protocol - 基於 HTTP/HTTPS - 通常用於網頁或 API 資料傳輸 優點:易用且廣泛支持 缺點:不適合大文件傳輸 API 資料交互、小文件下載
SCP Secure Copy Protocol - 基於 SSH 的簡單檔案拷貝協議 優點:快速簡單 缺點:不支援檔案管理功能 快速複製單一或少量文件
Rsync Remote Sync - 支援增量傳輸 - 基於 SSH 安全傳輸 優點:增量同步,高效 缺點:需要額外學習與配置 檔案同步或備份
TFTP Trivial File Transfer Protocol - 簡單的無連接傳輸協議 - 通常用於小型文件傳輸 優點:輕量簡單 缺點:不安全,不支持大文件 固件傳輸或網路設備配置
SMB Server Message Block - 適用於 Windows 文件共享 - 支援局域網內文件操作 優點:易用 缺點:跨平台支持有限 局域網文件共享
NFS Network File System - 適用於 Linux/UNIX 文件共享 優點:高效 缺點:需要配置伺服器 局域網文件共享,跨伺服器存取
HTTP/2 文件推送 HTTP/2 - 基於 HTTP/2 的多路復用和文件推送 優點:快速 缺點:需要伺服器支持 HTTP/2 Web 資源或多文件傳輸
Peer-to-Peer BitTorrent, IPFS 等 - 分布式傳輸 - 支援多點傳輸,提高效率 優點:高效且分散 缺點:可能有版權或安全問題 大文件傳輸或分散式內容分發
API 傳輸 REST, GraphQL, gRPC - 基於 HTTP/HTTPS 的資料交互 - 支援結構化數據傳輸 優點:結構化傳輸,易於整合 缺點:不適合大量二進制文件 資料交換與系統整合
WebDAV Web Distributed Authoring and Versioning - 基於 HTTP/HTTPS 的文件存取協議 - 支援版本控制與文件夾操作 優點:基於 Web 的文件操作 缺點:需要伺服器支持 雲端文件管理
MQTT Message Queue Telemetry Transport - 輕量級通訊協議 - 用於設備之間的數據傳輸 優點:低延遲,適合 IoT 缺點:不適合大文件 IoT 資料傳輸
AS2 Applicability Statement 2 - 用於商業交易的安全文件傳輸 - 支援加密和簽名 優點:安全合規 缺點:部署較複雜 B2B 資料交換與交易
Zmodem 文件傳輸協議 - 支援錯誤檢測與續傳 - 適用於終端上的文件傳輸 優點:可靠 缺點:舊式協議,使用範圍有限 終端到終端的文件傳輸
Read more