數據庫是有組織的數據集合。數據庫管理系統(DBMS)是專門設計的應用程序,它們與用戶、其他應用程序和數據庫本身進行交互以捕獲和分析數據。
關係數據庫(relational database/RDBMS)是具有數據項表集合的數據庫,所有這些數據項都是根據關係模型正式描述和組織的。
基本概念:實體(Entities)、屬性(Attributes)、關係(Relationships)、元組(tuple )109Please respect copyright.PENANAqfwbFKrSvt
-實體集 : 類似事物的抽象,例如老師和學生...109Please respect copyright.PENANAbFbsbCHIRr
-屬性:實體集中實體的公共屬性,例如性別、年齡、電話號碼...109Please respect copyright.PENANAksGzxmS5hV
-關係:指定實體之間的關係集,例如老師教育學生...109Please respect copyright.PENANAjW6e4pfuH1
-元組:包括所有屬性的一筆記錄
109Please respect copyright.PENANAClsqWF698X
其中關係通常被描述為一個表,它被組織成行和列,行為元組,列為屬性。
模式是由表(關係)的名及其屬性組成,例如:
產品(PName,Price,Category,Manfacturer)
主鍵是其中一個屬性,其值是唯一的,以底線區分。
SQL(結構化查詢語言)是一種專用編程語言,用於管理RDBMS中保存的數據,例如:
Select * from table1 where Attributes1 > 1 ;
多線操作(Concurrency Control):由於大多數DBMS都是多用戶系統,必須組織由各種用戶提交的許多不同'工作'的並發執行,使得每個'工作'不會以產生不正確結果的方式彼此干擾另一'工作'。109Please respect copyright.PENANA5JmOMxUjJt
'工作'的並發執行必須使每個'工作'看起來都是孤立執行的。
復甦(Recovery):系統故障(硬件或軟件)不會導致數據庫不一致
所以,出現了'ACID的理想狀態'
A 原子性(Atomicity):'工作'是處理的最小(原子)單位,它可以完全執行,也可以根本不執行109Please respect copyright.PENANAJIkNTQ5Zib
C 一致性保留(Consistency Preservation):'工作'的正確執行必須使數據庫從一個正確的狀態轉到另一個正確的狀態109Please respect copyright.PENANAQE9QHIvHW8
I 隔離/獨立(Isolation/Independence):在提交'工作'之前,不得對其他'工作'顯示'工作'更新(解決臨時更新問題)109Please respect copyright.PENANAh6pQTnuDfa
D 續航力(Durability):如果'工作'更改了數據庫並且已提交,則由於後續故障,更改絕不會丟失
NoSQL(通常被解釋為Not Only SQL)數據庫提供了一種存儲和檢索數據的機制,該機制是以關係數據庫中使用的表格關係之外的方式建模的。
這種方法的動機包括簡潔的設計、水平縮放、更好地控制可用性。
數據結構(例如鍵值,圖形或文檔)與RDBMS不同。。因此,NoSQL中的某些操作更快,而RDBMS中的某些操作更快。
但是存在差異,並且給定NoSQL DB的特定適用性取決於它必須解決的問題(例如,解決方案是否使用圖算法)。
NoSQL數據庫越來越多地用於大數據和實時Web應用程序。
NoSQL系統也可能支持類似SQL的查詢語言。
更多采用NoSQL商店的障礙包括使用低級查詢語言、缺乏標準化的界面、對現有SQL的巨大投資。
109Please respect copyright.PENANAih46PomOHY
大多數NoSQL商店缺乏真正的ACID,儘管最近的一些系統,如FairCom c-treeACE,Google Spanner(雖然在技術上是一個NewSQL數據庫)和FoundationDB,已經使它們成為他們設計的核心。
NewSQL數據庫是一類現代RDBMS,旨在為在線事務處理(OLTP)讀寫工作負載提供相同的NoSQL系統可擴展性能,同時仍保持傳統數據庫系統的ACID保證。
雖然NewSQL系統的內部架構差別很大,但它們之間共有的兩個顯著特點是它們都支持關係數據模型並使用SQL作為它們的主要接口。
NewSQL系統所針對的應用程序的特點是具有大量'工作':109Please respect copyright.PENANAT0vshaD9pC
-是短暫的(即沒有用戶檔位),109Please respect copyright.PENANAnrFJHYn9uA
-使用索引查找觸摸一小部分數據(即,沒有全表掃描或大型分佈式連接),109Please respect copyright.PENANAs8BzfkeSMs
-是重複的(即用不同的輸入執行相同的查詢)。