搜尋文章分類:資料庫

網格符號

從頭了解 Redis 快取種類與常見災難

Redis 是十分常見的 In-Memory 資料庫,工作上時不時會碰到它但很少仔細從頭了解它,所以透過撰寫重現一些案例達成更深刻的理解。快取就是把常存取的資料放在能夠快速獲取的地方,缺點是記憶體不像硬碟適合長久保存資料,但不管是提高速度、降低延遲、降低負擔或減輕成本⋯⋯快取都是很棒的選擇。

資料庫符號

資料庫查詢效能問題:N+1 問題

很早以前接觸資料庫就有聽說過「N+1 問題」,不過一直沒有寫下筆記認真思考過一次,這次撰寫問題成因與詳細解方與圖表。透過:資料結構設計(去正規化)、在 DB 層完成關聯資料查詢、批次查詢並在應用層組裝、ORM ODM Eager Loading 來解決。

資料庫符號

設置 Drizzle ORM 連接 Postgres 為範例

單純透過 SQL 與關聯式資料庫直接溝通,可能會帶來開發效率與安全性的問題,因此挑選一款合適的 ORM 多一層抽象是常見的選擇,而 Drizzle ORM 是我最常使用也是接觸 ORM 的起點。它在 TypeScript 生態中有出色支援,雖然相對新穎,但社群活躍,值得一試。

檔案夾符號

與關聯式資料庫對話:SQL vs SQL Builder vs ORM

開發網站無可避免的會和關聯式資料庫打交道,而互動的方式有三種:SQL、SQL Builder、ORM。這三者有著不同的使用方式、優缺點與適用場景,了解它們的差異能幫助我們做出更適合專案需求的技術選擇。分享我在 Node.js 的學習經歷。

資料庫符號

後端入門可以了解的資料庫概念

資料庫就是一個儲存資料的軟體,根據儲存資料性質不同,合適的資料庫種類也會不同。了解 Transaction、ACID、Normalization……等核心概念非常重要。還有更多可以深掘的細節,先單純把學到的知識紀錄一下,未來個別用更多文章詳細描述 :)