柚子快報激活碼778899分享:數(shù)據(jù)庫 NoSQL
柚子快報激活碼778899分享:數(shù)據(jù)庫 NoSQL
文章目錄
關(guān)系型數(shù)據(jù)庫的缺點常見NoSqlK-V存儲文檔型數(shù)據(jù)庫列式數(shù)據(jù)庫全文檢索引擎
關(guān)系型數(shù)據(jù)庫的缺點
1.行結(jié)構(gòu)(行式數(shù)據(jù)庫),無法存儲數(shù)據(jù)結(jié)構(gòu)(比如鏈表) 2.Schema擴展不方便(要通過語句修改類型后才能插入對應(yīng)類型數(shù)據(jù)) 3.IO問題,由于是行式數(shù)據(jù)庫,就算獲取某一列數(shù)據(jù)也會讀取一行 4.全文搜索弱,只能使用like檢索
常見NoSql
由于上述缺點,就誕生了解決對應(yīng)Nosql存儲
1.存數(shù)據(jù)結(jié)構(gòu)我有K-V存儲:Redis… 2.Schema擴展不方便,那我有文檔數(shù)據(jù)庫:MongoDB… 3.只獲取某一列,我有列式數(shù)據(jù)庫:HBase 4.你全文搜索弱,我有全文搜索引擎Elasticsearch
K-V存儲
典型代表Redis 提供了豐富的數(shù)據(jù)結(jié)構(gòu):string,hash,list,set,sorted set,bitmap,hyperfloglog等
文檔型數(shù)據(jù)庫
代表:MongoDb 文檔型數(shù)據(jù)庫一般使用JSON或者BSON格式,格式是自描述的,無需使用前定義字段。
列式數(shù)據(jù)庫
代表HBase
關(guān)系型數(shù)據(jù)庫和列式數(shù)據(jù)庫比較,其優(yōu)點: 1.同時讀取多個列高效 2.能對一行中的多個列進(jìn)行寫操作 3.更新寫一次磁盤即可
列式數(shù)據(jù)庫的優(yōu)點在于: 1.當(dāng)對某一列讀取高效(只將這一列數(shù)據(jù)載入內(nèi)存) 2.提供比關(guān)系型數(shù)據(jù)庫更高的數(shù)據(jù)壓縮比 3.由于其存儲空間不連續(xù),更新是隨機寫
列式數(shù)據(jù)庫一般用在離線的大數(shù)據(jù)分析和統(tǒng)計場景
全文檢索引擎
代表:Elasticsearch 原理:倒排索引(建立分詞到文檔的索引)
正排索引:
ID名稱內(nèi)容1編程語言PHP,JAVA,C++2最好的編程語言PHP
倒排索引:
分詞文檔IDPHP1,2JAVA1C++1
最后再根據(jù)文檔ID(正排索引)找到對應(yīng)的內(nèi)容
柚子快報激活碼778899分享:數(shù)據(jù)庫 NoSQL
參考文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。