什么是鍵值數(shù)據(jù)庫,在大數(shù)據(jù)分析科目中是有這樣的知識點的,在備考CGFT考試中是要學(xué)習(xí)大數(shù)據(jù)分析的,畢竟要成為一名金融科技分析師這是很有必要的哦!
鍵值數(shù)據(jù)庫(Key-Value Database)會使用一個哈希表,這個表中有一個特定的Key和一個指針指向特定的Value。Key可以用來定位Value,即存儲和檢索具體的Value。
Value對數(shù)據(jù)庫而言是透明不可見的,不能對Value進行索引和查詢,只能通過Key進行查詢。Value可以用來存儲任意類型的數(shù)據(jù),包括整型、字符型、數(shù)組、對象等。
在存在大量寫操作的情況下,鍵值數(shù)據(jù)庫可以比關(guān)系數(shù)據(jù)庫取得明顯更好的性能。因為,關(guān)系數(shù)據(jù)庫需要建立索引來加速查詢,當(dāng)存在大量寫操作時,索引會發(fā)生頻繁更新,由此會產(chǎn)生高昂的索引維護代價。關(guān)系數(shù)據(jù)庫通常很難水平擴展,但是,鍵值數(shù)據(jù)庫天生具有良好的伸縮性,理論上幾乎可以實現(xiàn)數(shù)據(jù)量的無限擴容。鍵值數(shù)據(jù)庫可以進一步劃分為內(nèi)存鍵值數(shù)據(jù)庫和持久化(Persistent)鍵值數(shù)據(jù)庫。
內(nèi)存鍵值數(shù)據(jù)庫把數(shù)據(jù)保存在內(nèi)存,如Memcached和Redis;持久化鍵值數(shù)據(jù)庫把數(shù)據(jù)保存在磁盤,如BerkeleyDB、Voldmort和Riak
當(dāng)然,鍵值數(shù)據(jù)庫也有自身的局限性,條件查詢就是鍵值數(shù)據(jù)庫的弱項。
因此,如果只對部分值進行查詢或更新,效率就會比較低下。在使用鍵值數(shù)據(jù)庫時,應(yīng)該盡量避免多表關(guān)聯(lián)查詢,可以采用雙向穴余存儲關(guān)系來代替表關(guān)聯(lián),把操作分解成單表操作。此外,鍵值數(shù)據(jù)庫在發(fā)生故障時不支持回滾操作,因此無法支持事務(wù)。