ORM
- ORM(Object-Relationl Mapping),它在關系數據庫和對象之間作一個映射,這樣在具體的操作數據庫的時候就不需要再去和復雜的SQL語句打交道,只要像平時操作對象一樣操作即可
- 面向對象編程把所有實體看成對象,關系型數據庫則是采用實體之間的關系連接數據。關系也可以用對象表達,這樣的話,就能使用面向對象編程來操作關系型數據庫
- ORM把數據庫映射成對象。如 數據庫的表==>類 ; 記錄(行數據) ==> 對象 ; 字段 ==> 對象的屬性
- ORM優點:
- 大大降低學習和開發成本
- 程序員不用再寫SQL來進行數據庫操作。
- 減少程序的代碼量
- 降低由于SQL代碼質量差而帶來的影響
- ORM缺點
- 不太容易處理復雜查詢語句
- 性能較直接用SQL差
數據庫分類比較
- 關系型數據庫:是建立在關系模型基礎上的數據庫,借助集合代數等數學概念和方法來處理數據庫中的數據。現實世界中的各種實體以及實體之間的各種聯系均用關系模型來表示。簡單說,關系型數據庫是由多張能互相聯接的二維行列表格組成的數據庫
- NoSQL: 泛指非關系型數據庫,NoSQL數據庫的產生就是為了解決大規模數據集合多重數據種類帶來的挑戰尤其是大數據應用難題,包括超大規模數據的存儲*
- 內存數據庫: 將數據庫整體存儲在內存中,提高性能
緩存技術
- MemCache: 是一個高性能的分布式的內存對象緩存系統,用于動態Web應用以減輕數據庫負載。通過在內存里維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等
- Redis: 開源的使用ANSI C語言編寫、支持網絡、可給予內存亦可持久化的日志型、key-value數據庫,并提供多種語言的API
- Redis與MemCache差異
- 都是將數據存放在內存中,都是內存數據庫。他們都支持key-value數據類型。同時Memcache 還可以用于緩存其他東西,例如圖片、視頻等,Redis還支持list、set、hash等數據結構的存儲
- 在Redis中,并不是所有的數據都一直存儲在內存中的。這是和MemCache相比最大的區別。當物理內存用完時, Redis可以將一些很久沒用到的value交換到磁盤
- ** Redis在很多方面支持數據庫的特性,可以這樣說他就是一個數據庫系統,而Memcache只是簡單的K/V緩存**
關系數據庫和其他數據庫的比較
image.png
image.png
并發控制
image.png
image.png
image.png
image.png
image.png
image.png
案例真題
image.png
image.png
image.png