NOSQL的介紹與其他NOSQL的比較

2021-10-10 17:13:21 字數 1536 閱讀 8104

nosql(nosql = not only sql),意即「不僅僅是sql」,是一項全新的資料庫理念,泛指非關係型的資料庫。

nosql又叫非關係型資料庫,沒有資料庫那麼強規範,資料結構簡單

優點:

成本:nosql資料庫簡單易部署,基本都是開源軟體,不需要像使用oracle那樣花費大量成本購買使用,相比關係型資料庫**便宜。

查詢速度:nosql資料庫將資料儲存於快取之中,關係型資料庫將資料儲存在硬碟中,自然查詢速度遠不及nosql資料庫。

擴充套件性:關係型資料庫有類似join這樣的多表查詢機制的限制導致擴充套件很艱難。

缺點:

維護的工具和資料有限,因為nosql是屬於新的技術,不能和關係型資料庫10幾年的技術同日而語。

不提供對sql的支援,如果不支援sql這樣的工業標準,將產生一定使用者的學習和使用成本。

不提供關係型資料庫對事務的處理。

非關係型資料庫的優勢:

效能nosql是基於鍵值對的,可以想象成表中的主鍵和值的對應關係,而且不需要經過sql層的解析,所以效能非常高。

可擴充套件性同樣也是因為基於鍵值對,資料之間沒有耦合性,所以非常容易水平擴充套件。

關係型資料庫的優勢:

複雜查詢可以用sql語句方便的在乙個表以及多個表之間做非常複雜的資料查詢。

事務支援使得對於安全效能很高的資料訪問要求得以實現。對於這兩類資料庫,對方的優勢就是自己的弱勢,反之亦然。

總結:

關係型資料庫與nosql資料庫並非對立而是互補的關係,即通常情況下使用關係型資料庫,在適合使用nosql的時候使用nosql資料庫,

讓nosql資料庫對關係型資料庫的不足進行彌補。

一般會將資料儲存在關係型資料庫中,在nosql資料庫中備份儲存關係型資料庫的資料

主流的nosql產品:

典型應用: 內容快取,主要用於處理大量資料的高訪問負載。

資料模型: 一系列鍵值對

優勢: 快速查詢

劣勢: 儲存的資料缺少結構化

典型應用:分布式的檔案系統

資料模型:以列簇式儲存,將同一列資料存在一起

優勢:查詢速度快,可擴充套件性強,更容易進行分布式擴充套件

劣勢:功能相對侷限

典型應用:web應用(與key-value類似,value是結構化的)

資料模型: 一系列鍵值對

優勢:資料結構要求不嚴格

劣勢: 查詢效能不高,而且缺乏統一的查詢語法

典型應用:社交網路

資料模型:圖結構

劣勢:需要對整個圖做計算才能得出結果,不容易做分布式的集群方案

MQTT介紹及與其他協議的比較

mqtt message queuing telemetry transport,訊息佇列遙測傳輸 一種針對移動終端裝置的基於tcp ip的發布 訂閱協議 可以連線大量的遠端感測器和控制裝置 mqtt的特點是可以保持長連線,具有一定的實時性 要保持長連線,那麼就要不時地傳送心跳包,這就不會省電 特點...

Block介紹(二)記憶體管理與其他特性

我們在前一章介紹了block的用法,而正確使用block必須要求正確理解block的記憶體管理問題。這一章,我們只陳述結果而不追尋原因,我們將在下一章深入其原因。我們針對不同情況來討論block的存放位置 以下情況中的block位於堆中 1 2 3 4 5 6 7 8 9 10 11 12 13 1...

Block介紹(二)記憶體管理與其他特性

一 block放在 我們針對不同情況來討論block的存放位置 1.棧和堆 以下情況中的block位於堆中 12 3456 78910 1112 1314 1516 17voidfoo blk在棧裡 blkinheap block copy blk blkinheap在堆裡 void foobar ...