『壹』 nosql資料庫庫和sql資料庫的區別
一、概念
SQL(StructuredQueryLanguage)資料庫,指關系型資料庫。主要代表:SQLServer,Oracle,MySQL(開源),PostgreSQL(開源)。
NoSQL(NotOnlySQL)泛指非關系型資料庫。主要代表:MongoDB,Redis,CouchDB。
二、區別
1、存儲方式
SQL數據存在特定結構的表中;而NoSQL則更加靈活和可擴展,存儲方式可以省是JSON文檔、哈希表或者其他方式。SQL通常以資料庫表形式存儲數據。舉個栗子,存個學生借書數據:
4、SQL中的JOIN查詢
SQL中可以使用JOIN表鏈接方式將多個關系數據表中的數據用一條簡單的查詢語句查詢出來。NoSQL暫未提供類似JOIN的查詢方式對多個數據集中的數據做查詢。所以大部分NoSQL使用非規范化的數據存儲方式存儲數據。
5、數據耦合性
SQL中不允許刪除已經被使用的外部數據,例如審核人表中的"熊三"已經被分配給了借閱人熊大,那麼在審核人表中將不允許刪除熊三這條數據,以保證數據完整性。而NoSQL中則沒有這種強耦合的概念,可以隨時刪除任何數據。
6、事務
SQL中如果多張表數據需要同批次被更新,即如果其中一張表更新失敗的話其他表也不能更新成功。這種場景可以通過事務來控制,可以在所有命令完成後再統一提交事務。而NoSQL中沒有事務這個概念,每一個數據集的操作都是原子級的。
7、增刪改查語法
8、查詢性能
在相同水平的系統設計的前提下,因為NoSQL中省略了JOIN查詢的消耗,故理論上性能上是優於SQL的。
『貳』 nosql是什麼
您好
雖然關系資料庫已有諸多不便,但以NoSQL目前的發展狀況要代替他還為時過早,並且回至少從目前來看,答他們也各有所長,誰也替代不了誰。SQL語句的方便在許多情況下還是相當實用,SQL資料庫軟體的強壯程度度也是NoSQL資料庫軟體目前無法達到的。NoSQL在許多領域,比如高速緩存,高速消息隊列方面有著傳統關系資料庫無法比擬的優勢,他們將在今後一些年並駕齊驅,至於未來的方向還得看在實際使用和進一步開發中遇到的問題。這里有一篇譯自Redis(一種近年來發展迅速的NoSQL資料庫)官方網站的介紹文章,對NoSQL的特性可窺一斑。
這個要看你的應用范圍、場景