SQL是什么?、NoSQL又是什么?業務系統如何數據庫技術選型呢?
隨著云計算時代的出現,大數據和物聯網,越來越多的網友正在涌入互聯網,越來越多的應用系統需要支持大規模的數據存儲。它還需要滿足業務需求,以滿足高并發性,高可靠性,具有高可擴展性和其他要求,傳統的關系數據庫不能再滿足需求,所以NoSQL陷入了。那是什么SQL?什么是nosql?如何選擇業務系統的數據庫技術?
NoSQL!= NO SQL,但NOTONLYSQL出現為關系數據庫的補充。關系數據庫是由關系模型組織的數據庫。簡單來說,它是一個二維表模型,包括關系(表名),元組(二維表中的行),屬性(二維表中的列),域(值范圍)屬性),關鍵字(可以唯一識別元組的屬性),關系模式(表結構,關系描述)和其他概念。對于用戶信息表,用戶信息表是整個關系。元組是由名稱,性別,年齡,電話號碼和地區組成的記錄行。該屬性是一個單獨的區域列,年齡列等,該區域意味著該區域是中國的所有區域。對于省份,城市等,關鍵字是用戶ID,可以唯一地識別用戶,并且關系模型是整個表,包括名稱,性別,年齡,電話號碼和地理屬性。
對于關系數據庫,它已經非常受歡迎,以下四個原因:1。強勁的交易一致性。數據庫的酸(原子學,一致性,隔離和耐久性)可確保所有記錄的數據都是準確的。對于早期的互聯網,每個人都沒有完全信任無形和無形,所以這個功能非常重要;它易于理解,二維表的結構非常適合真實世界。 3.使用易于使用,一般的SQL語言使操作關系數據庫非常方便; 4.易于維護。設計中采用實體完整性和參照完整性,從而降低了數據冗余和數據不一致。常用的關系數據庫包括MySQL,Oracle等,但隨著互聯網上的大規模數據的增加,關系數據庫也創建了瓶頸。具體表現如下:1。不能應對高度并發的讀寫請求。關系數據庫以行結構存儲。例如,我們想要獲得某個地區。您需要按行讀取用戶列表行,然后獲取其中的用戶名的屬性,從而消耗很多磁盤IO; 2.它不能以彈性縮放,并且通過添加更多硬件和服務節點來擴展性能,關系數據庫不能像WebServer一樣簡單。這對于需要每天24小時需要提供的數據庫和服務數量的巨大增加的公司非常不舒服; 3.不再需要強大的交易一致性和實時讀寫。這是關系數據庫的早期版本。優點,隨著互聯網服務的廣泛覆蓋,用戶可以接受某些延遲和某些錯誤。因此,出現了NoSQL關系數據庫。作為關系數據庫的補充,根據互聯網時代的需求,它們可以分為:1。關鍵值數據庫,支持高性能并發讀寫,如redis; 2.支持大規模數據訪問文件數據庫,如MongoDB和CouchDB; 3.支持大數據存儲和分析的柱狀數據庫,例如Hbase; 4.搜索支持全文搜索的引擎數據庫,例如Elasticsearch。
?