一樣是數(shù)據(jù)庫
創(chuàng)新互聯(lián)公司是專業(yè)的東遼網(wǎng)站建設公司,東遼接單;提供成都做網(wǎng)站、成都網(wǎng)站制作,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行東遼網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
NOSQL查詢速度快,但是占用空間也大(都去索引那邊了)
但是NOSQL查詢復雜的邏輯關系的時候,只能批量獲取到本地去統(tǒng)計而SQL能通過條件和關聯(lián)表等方式進行篩選只顯示符合條件的語句。
NOSQL用于無條件或少條件下的存取。百億級數(shù)據(jù)也能快速取出。
SQL用于復雜的邏輯存取。在數(shù)據(jù)量不多的情況下也能跟NOSQL一樣用于數(shù)據(jù)存儲。
NOSQL的話,Redis的寫很快,我就用來在Tomcat集群中實現(xiàn)Session共享。但是Redis計算和統(tǒng)計能力比較弱。MongoDB計算統(tǒng)計方面會比較方便,但是讀寫性能稍差。一般用還是MongoDB吧,各方面平衡一點。
關系數(shù)據(jù)庫經(jīng)過幾十年的發(fā)展,已經(jīng)非常成熟,但同時也存在不足:
表結構是強約束的,業(yè)務變更時擴充很麻煩。
如果對大數(shù)據(jù)量的表進行統(tǒng)計運算,I/O會很高,因為即使只針對某列進行運算,也需要將整行數(shù)據(jù)讀入內(nèi)存。
全文搜索只能使用 Like 進行整表掃描,性能非常低。
針對這些不足,產(chǎn)生了不同的 NoSQL 解決方案,在某些場景下比關系數(shù)據(jù)庫更有優(yōu)勢,但同時也犧牲了某些特性,所以不能片面的迷信某種方案,應將其作為 SQL 的有利補充。
NoSQL != No SQL,而是:
NoSQL = Not Only SQL
典型的 NoSQL 方案分為4類:
Redis 是典型,其 value 是具體的數(shù)據(jù)結構,包括 string, hash, list, set, sorted set, bitmap, hyperloglog,常被稱為數(shù)據(jù)結構服務器。
以 list 為例:
LPOP key 是移除并返回隊列左邊的第一個元素。
如果用關系數(shù)據(jù)庫就比較麻煩了,需要操作:
Redis 的缺點主要體現(xiàn)在不支持完成的ACID事務,只能保證隔離性和一致性,無法保證原子性和持久性。
最大的特點是 no-schema,無需在使用前定義字段,讀取一個不存在的字段也不會導致語法錯誤。
特點:
以電商為例,不同商品的屬性差異很大,如冰箱和電腦,這種差異性在關系數(shù)據(jù)庫中會有很大的麻煩,而使用文檔數(shù)據(jù)庫則非常方便。
文檔數(shù)據(jù)庫的主要缺點:
關系數(shù)據(jù)庫是按行來存儲的,列式數(shù)據(jù)庫是按照列來存儲數(shù)據(jù)。
按行存儲的優(yōu)勢:
在某些場景下,這些優(yōu)勢就成為劣勢了,例如,計算超重人員的數(shù)據(jù),只需要讀取體重這一列進行統(tǒng)計即可,但行式存儲會將整行數(shù)據(jù)讀取到內(nèi)存中,很浪費。
而列式存儲中,只需要讀取體重這列的數(shù)據(jù)即可,I/O 將大大減少。
除了節(jié)省I/O,列式存儲還有更高的壓縮比,可以節(jié)省存儲空間。普通行式數(shù)據(jù)庫的壓縮比在 3:1 到 5:1 左右,列式數(shù)據(jù)庫在 8:1 到 30:1,因為單個列的數(shù)據(jù)相似度更高。
列式存儲的隨機寫效率遠低于行式存儲,因為行式存儲時同一行多個列都存儲在連續(xù)空間中,而列式存儲將不同列存儲在不連續(xù)的空間。
一般將列式存儲應用在離線大數(shù)據(jù)分析統(tǒng)計場景,因為這時主要針對部分列進行操作,而且數(shù)據(jù)寫入后無須更新。
關系數(shù)據(jù)庫通過索引進行快速查詢,但在全文搜索的情景下,索引就不夠了,因為:
假設有一個交友網(wǎng)站,信息表如下:
需要匹配性別、地點、語言列。
需要匹配性別、地點、愛好列。
實際搜索中,各種排列組合非常多,關系數(shù)據(jù)庫很難支持。
全文搜索引擎是使用 倒排索引 技術,建立單詞到文檔的索引,例如上面的表信息建立倒排索引:
所以特別適合根據(jù)關鍵詞來查詢文檔內(nèi)容。
上面介紹了幾種典型的NoSQL方案,及各自的適用場景和特點,您可以根據(jù)實際需求進行選擇。
分享題目:nosql統(tǒng)計的簡單介紹
分享路徑:http://chinadenli.net/article30/phgiso.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機、品牌網(wǎng)站制作、品牌網(wǎng)站建設、動態(tài)網(wǎng)站、網(wǎng)頁設計公司、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)