database

25
Jun
淺談各種資料庫cache策略: cache aside、read through、write through、write back

淺談各種資料庫cache策略: cache aside、read through、write through、write back

資料庫的快取策略那麼多種: cache aside、read through、write through、write back, 常常哪個是哪個也分不清楚、記不起來,今天將分享這些策略背後的內功心法, 讓大家不用在為了記不起這些招式的名稱而傷腦筋。 什麼是資料庫快取(database cache)? 快取是一種策略,用來增進你的應用程式及資料庫的效能, 作法是將常使用的資料放在具有更快存取速度的的記憶體中(in
6 min read
28
Nov
[System Design] 淺談Database Replication,有何優缺點、做法及何處可見?

[System Design] 淺談Database Replication,有何優缺點、做法及何處可見?

database replication是什麼?有什麼好處及缺點,方法又有哪些呢? 可以在許多系統中看到replication的應用, 像是各種NoSQL、自己系統的(讀寫分離、cache、search engine)、CDN、DNS等等...
8 min read
21
Nov

[System Design] 淺談Database Partition. Centralized and Distributed.

什麼是partition,vertical跟horizontal partition有何不同? 阿sharding又是什麼? 這些跟NoSQL有關嗎? 在傳統的RDBMS,像是MySQL或PostgreSQL中,這些概念也有用嗎? 這篇文章將討論上述的問題,看看partition在RDBMS及NoSQL中的實踐應用,以及各種優缺點。 什麼是Partition Partition原意就是分拆的意思,在資料的世界裡,就是把一份資料,分成許多小份, 比如說log file的rotation也是,把今年的日記寫在同一本,去年的日記是另一本也是partition。
10 min read
28
Dec
[System Design] Data model: Relational V.S. Document

[System Design] Data model: Relational V.S. Document

開發應用程式時,時常使用到資料庫,儲存資料並在之後需要時將其取出,如今有許多的資料庫產品可供選擇,提供各種不同的data model及function,在各種使用情境下有不同的表現,開發者根據你的應用程式的需求、資料之間的關係、access pattern、scalability、ACID transaction、fault-tolerance、會有各種不同的適合的選擇. 接下來只單純討論資料庫提供給我們application programmer們的data model,看看是否在哪些情況比較適合用哪一種,
6 min read