設計性框架:Struts,spring,springmvc
持久層框架:hebernate,mybatis
快取資料庫:減少IO操作
NoSQL(Not only SQL),不僅僅是sql,泛指非關係型的資料庫
noSQL 以Key-value模式儲存
不遵循SQL標準,不支援ACID
ACID:A(Atomicity)原子性、C(Consistency)一致性、I(Isolation)獨立性、D(Durability)永續性
CAP:C(Consistency)強一致性、A(Availability)可用性、P(Partition tolerance)分割區容錯性
對資料高並行的讀寫
海量資料讀寫
對資料高可延伸性的
需要事務支援
基於sql的結構化查詢儲存,處理複雜的關係,需要即席查詢
1、memcached一般不支援資料持久化,redis支援持久化
2、memcached只支援簡單的key-value模式,redis支援五種資料結構儲存(String,set,list,hash,zset)
CAP:C(Consistency)強一致性、A(Availability)可用性、P(Partition tolerance)分割區容錯性
CAP理論的核心是:一個分散式系統不可能同時很好的滿足一致性、可用性、分割區容錯性這個三個需求,最多隻能同時較好的滿足兩個。
因此,根據CAP原理將NoSQL資料庫分成了滿足CA原則,CP原則和滿足AP原則三大類
CAP三進二
P :分割區容忍性是我們必須需要實現的
CA: 傳統Oracle資料庫
AP:大多數網站架構的選擇(比如雙十一瀏覽量巨大,很難精確統計所有資料,強一致性不好實現)弱一致性+AP
CP: Redis
等到雙十一過了之後,還要統計資料的最終一致性
BASE的思想是通過讓系統放鬆對某一時刻資料一致性的要求來換取系統整體伸縮性和效能上的改觀。也就是說,犧牲了C,成就了AP、