第一章————————————————————
1.網絡存儲方式不包括()。A.DAS B.NAS C.ANS D.SAN
DAS:直連式存儲
NAS:網絡接入式存儲
SAN:存儲區域網絡
2.大數據的特征不包括()。A.大量化 B.價值化 C.整體化 D.快速化
3.大數據的特征不包括()。A.Volumn B.Vague C.Variety D.Velocity
4.對比關系型數據庫,關於NoSQL說法錯誤的是()。A.采用非關系的數據模型 B.弱化模式或表結構、弱化完整性約束、弱化甚至取消事務機制 C.無法支持,或不能完整的支持SQL語句 D.不能實現強大的分布式部署能力
5.下面不屬於NoSQL數據庫的特點的是()。A.開源 B.支持SQL C.分布式 D.非關系型
6.下面()不屬於關系型數據庫的特點。A.實體和實體間的聯系都可以通過關系的方式來表示 B.關系模型需要滿足實體完整性和參照完整性約束 C.可以通過SQL語句實現數據定義和操作 D.不支持事務和ACID一致性等特性
7.下面不屬於數據操作語言的是()。A.定義 B.增加 C.查詢 D.刪除
大數據的特征:
○大容量(Volume)
○多樣化(Variety)
○有價值(Value)
○高速率(Velocity)
關系型數據庫和NoSQL在設計上的區別:
關系型數據庫:
高效的存儲數據
支持多用戶對數據的並發控制
NoSQL:
用來應對數據的爆發式增長,實現橫向擴展
https://www.cnblogs.com/sunzhiqi/p/10869655.html
NoSQL數據庫的技術特點:
1.非關系型的存儲模式。
2.習慣的統稱,並非嚴謹的定義。
3.和關系型數據管理系統有不同的側重點。
4.通過犧牲事務、一致性和SQL語句等重要機制,來換取更好的分布式部署特性。
NoSQL在大數據體系當中的作用:
○數據存儲工具
○數據管理工具
○數據查詢工具
○NoSQL一般不會提供實時數據采集功能(需要借助其他的工具寫入數據庫),也無法提供復雜的數據預處理、數據分析等功能,無法提供完整的數據可視化功能。
第二章————————————————————
1.NoSQL的主要存儲模式不包括()。A.鍵值對存儲模式 B.列存儲模式 C.文件存儲模式 D.圖存儲模式
2.BASE不包括()。A.基本可用 B.軟狀態 C.強一致性 D.最終一致性
3.CAP理論不包括()。A.Consistency(一致性) B.Atomicity(原子性) C.Availability(可用性) D.Partition tolerance(分區容錯性)
4.()不屬於分布式數據管理的特點。A.數據分片 B.數據多副本 C.一次寫入多次讀取 D.讀寫分離
讀寫分離:1.其實就是將數據庫分為了主從庫,一個主庫用於寫數據,多個從庫完成讀數據的操作,主從庫之間通過某種機制進行數據的同步,是一種常見的數據庫架構。2.一個主從同步集群,通常被稱為是一個“分組”。
5.分布式部署關系型數據庫時,讀寫分離(主從集群)不包括()。A.所有對數據庫的修改都通過主服務器 B.從服務器分擔主服務器讀服務器請求 C.解決了寫數據的瓶頸 D.主從服務器之間可能存在暫時的數據不一致的情況
讀寫分離是用來解決數據庫的讀性能瓶頸的。
6.預防死鎖的主要方法包括:一是(),即在設計階段規定所有的事務都按相同的順序來封鎖表;一是(),即當一個事物加鎖時間過長時就判斷出現死鎖。A.順序法 一次封鎖法 B.超時法 等待圖法 C.順序法 超時法 D.超時法 順序法
7.關系型數據庫事務機制中的ACID不包括()。A.連續性(Continuance) B.隔離性(Isolation) C.持久性(Durability)
關系型數據庫事務機制中的ACID:
事務在英文中是transaction,和現實世界中的交易很類似,它有如下四個特性:
1、A (Atomicity) 原子性 原子性很容易理解,也就是說事務里的所有操作要么全部做完,要么都不做,事務成功的條件是事務里的所有操作都成功,只要有一個操作失敗,整個事務就失敗,需要回滾。 比如銀行轉賬,從A賬戶轉100元至B賬戶,分為兩個步驟:1)從A賬戶取100元;2)存入100元至B賬戶。這兩步要么一起完成,要么一起不完成,如果只完成第一步,第二步失敗,錢會莫名其妙少了100元。
2、C (Consistency) 一致性 一致性也比較容易理解,也就是說數據庫要一直處於一致的狀態,事務的運行不會改變數據庫原本的一致性約束。 例如現有完整性約束a存款+b存款=2000,如果一個事務改變了a存款,那么必須得改變b存款,使得事務結束后依然滿足a存款+b存款=2000,否則事務失敗。
3、I (Isolation) 隔離性 所謂的獨立性是指並發的事務之間不會互相影響,如果一個事務要訪問的數據正在被另外一個事務修改,只要另外一個事務未提交,它所訪問的數據就不受未提交事務的影響。 比如現在有個交易是從A賬戶轉100元至B賬戶,在這個交易還未完成的情況下,如果此時B查詢自己的賬戶,是看不到新增加的100元的。
即要達到這么一種效果:對於任意兩個並發的事務T1和T2,在事務T1看來,T2要么在T1開始之前就已經結束,要么在T1結束之后才開始,這樣每個事務都感覺不到有其他事務在並發地執行。(串行化)
4、D (Durability) 持久性 持久性是指一旦事務提交后,它所做的修改將會永久的保存在數據庫上,即使出現宕機也不會丟失。
8.下面關於NoSQL數據庫完整性約束不正確的是()。A.域完整性一般較弱,或不支持 B.不能存在主鍵相同的行,或內容相同但時間戳不同的行 C.一般不提供參照完整性,或者外鍵 D.用戶定義完整性靠應用程序支持
9.與關系模型相比,關於NoSQL不正確的是()。A.NoSQL中可能沒有明確的結構 B.列可能是復合型的 C.列中的內容和類型可能是隨意的、無定義的 D.會為空值留出存儲空間
1.CAP理論中,NoSQL數據庫需要在C和P之間進行權衡。F
C:Consistency(強一致性)
A:Availability(可用性)
P:Partition tolerance(分區容錯性)
我們只能在一致性和可用性之間進行權衡
2.NoSQL數據庫能夠滿足CAP三個特性。F
3.一次寫入多次讀取不是分布式數據管理的特點。F
4.ACID是NoSQL數據庫的基本要求。F
5.NoSQL一般不提供參照完整性,或者外鍵,因此一般也不支持跨表的關聯查詢。T
6.NoSQL不會為空值留出存儲空間,可能很難直接插入數值。T
7.NoSQL由明確的表結構。F
BASE原理:
基本可用(Basically Available):基本可用指分布式系統在出現故障時,系統允許損失部分可用性,即保證核心功能或者當前最重要功能可用。對於用戶來說,他們當前最關注的功能或者最常用的功能的可用性將會獲得保證,但是其他功能會被削弱。
軟狀態(Soft-state):軟狀態允許系統數據存在中間狀態,但不會影響系統的整體可用性,即允許不同節點的副本之間存在暫時的不一致情況。
最終一致性(Eventually Consistent):最終一致性要求系統中數據副本最終能夠一致,而不需要實時保證數據副本一致。例如,銀行系統中的非實時轉賬操作,允許 24 小時內用戶賬戶的狀態在轉賬前后是不一致的,但 24 小時后賬戶數據必須正確。
最終一致性是 BASE 原理的核心,也是 NoSQL 數據庫的主要特點,通過弱化一致性,提高系統的可伸縮性、可靠性和可用性。而且對於大多數 Web 應用,其實並不需要強一致性,因此犧牲一致性而換取高可用性,是多數分布式數據庫產品的方向。
一丶在數據一致性問題上,ACID和BASE差別是什么?分別適合哪種場景
ACID的一致性:強調(一個或多個)事務前后,數據的狀態(約束、完整性)都是有效的。
CAP的一致性:強調多個副本是狀態一致、同步更新的。
BASE的一致性:和ACID的相近,但是強調弱一致性。
二丶什么是CAP原理?CAP原理是否適用於單機環境?
C:Consistency(強一致性)
A:Availability(可用性)
P:Partition tolerance(分區容錯性)
CAP理論是指在分布式系統中,CAP三個特性不可兼得,只能同時滿足兩個。
不適用於單機環境
三布隆過濾器的優缺點是什么?如何降低布隆過濾器的誤報率?
空間占用低,檢索速度快,缺點是存在一定的誤報率,當布隆過濾器認為某元素存在於集合時,該元素可能不存在,當布隆過濾器認為該元素不存在與集合時,該元素一定不存在。
降低誤報率:
采取多個獨立的哈希算法同時進行映射
增大二進制向量的大小
第三章——————————————————————
1.HDFS的角色不包括()A.Masternode B.Namenode C.Datanode D.Secondary Namenode
2.Hadoop核心組件不包括()。A.HDFS B.HBase C.YARN D.MapReduce
1.Hive不屬於NoSQL數據庫。T
2.HDFS在數據讀寫時,對客戶提供強一致性保障,在副本復制過程中采用最終一致性方式。T
3.HDFS Namenode的fsimage文件啟動加載后,一直保持只讀狀態,不能直接在內存或硬盤修改。T
4.HDFS的Namenode和DataNode不能在一個物理節點上。F
5.Hadoop核心組件包括Hbase。F
6.HDFS屬於NoSQL數據庫。F
○hbase為了防止小文件過多,以保證查詢效率,hbase需要在必要的時候將這些小的store file合並成相對較大的store file,這個過程就稱之為compaction。
在hbase中主要存在兩種類型的compaction合並:小合並和大合並
https://www.cnblogs.com/bigdatalaoliu/p/14053296.html
MongDB | CouchDB |
○采用C++編寫 | ○采用Erlang語言編寫(最初也是C++) |
○自定義了更高效的,基於TCP|IP的二進制格式協議 | ○更多地采用通用技術,並考慮和ASF其他模塊的配合(在網絡傳輸上,采用了通用的HTTP/REST接口) |
○支持動態查詢,查詢時不需要先建立索引 | ○不支持動態查詢,必須先為查詢模式建立視圖 |
○MongDB只支持主從復制,其一致性更容易維護 | ○支持多主節點間的數據復制(理論上都支持寫入操作),並且支持類似Dynamo的MVCC多版本一致性協調機制 |
圖數據庫是專門描述節點與關系,關系更明確也更自由,不存在外鍵等約束條件
舉例:Neo4j
Redis本質為環形結構的分布式集群部署。支持單機部署和分布式部署,在集群環境支持水平分片機制。使用類似於dynamo的環形架構(課本231圖片),沒有使用一致性哈希機制,引入了哈希槽的概念。
數據多副本方面:支持主從復制機制,和MongoDB相似,一個主節點可以對應多個從節點,當主節點發生故障時,可以從多個從節點中選舉一個新的主節點。