迄今為止也已經出現了很多資料庫,常用的有mysql、mongdb、redis、rocksdb等,對大多數開發者來說,掌握一些基本原理,能夠熟練幾種不同型別資料庫已經足夠了。
關於資料庫的大致分類可以分為 rdbms,nosql,newsql 這幾類,具體區別可以參考 5分鐘理解資料庫全景圖(sql,nosql,newsql,olap,oltp) 這篇文章。
我也整理了一些知乎的學習資料:資料庫快取相關
rdbms
我們最早接觸的資料庫基本都是關係型資料庫(rdbms,也叫sql資料庫),像mysql,sql server之類的,關係型資料庫的學習主要分兩塊:
學完了 sql 基本操作和原理之後,我們可以具體深入學習一門資料庫,這裡推薦 mysql,開源、應用廣泛。
下面是一些關於 rdbms 的擴充套件性的文章:
mysql 對於千萬級的大表要怎麼優化? &emsp回答者:zhuqz
計算機系為什麼要學資料庫原理和設計? 回答者:馮若航計算機系為什麼要學資料庫原理和設計? 回答者:南慕倫
大學生如何實現乙個資料庫? 回答者:張原嘉
如何解釋關聯式資料庫的第一第二第三正規化? 回答者:劉慰
nosql
還有一塊就是 nosql,這裡推薦學習 redis,也是非常通用的乙個鍵值對資料庫了,官方文件寫的也很好,閱讀難度也不大:redis官網
面試相關:天下無難試之redis面試題刁難大全
newsql
我暫時也沒用過,就不說了
資料庫技術進化路線
1 mysqldump使用引數加快備份與還原 2 使用percona xtrabackup進行備份與還原,但要注意的是它只能備份innodb和xtradb兩種資料表,對於sphinx引擎的表,可能需要我們手動生成sql語句執行打上。3 xtradb據說效能比innodb牛x很多,需要測試。4 使用p...
資料庫技術進化路線
1 mysqldump使用引數加快備份與還原 2 使用percona xtrabackup進行備份與還原,但要注意的是它只能備份innodb和xtradb兩種資料表,對於sphinx引擎的表,可能需要我們手動生成sql語句執行打上。3 xtradb據說效能比innodb牛x很多,需要測試。4 使用p...
基本資料庫知識與學習路線
1.engine 1 innodb 2 myisam 主要都是效能和安全上的折衷。innodb更安全,支援事務 支援外來鍵完整性約束 myisam效能更好。注意 mysql5.5之前,預設引擎是myisam 5.5及之後,預設引擎是innodb。在mysql5.6之前,innodb不支援fullte...