sql與各個(gè)nosql數(shù)據(jù)庫(kù)使用場(chǎng)景的講解
sql為主干為什么我這樣理解:
單從技術(shù)角度來(lái)說(shuō)
- 關(guān)系型網(wǎng)格 充分的體現(xiàn)了現(xiàn)實(shí)事務(wù)
- 對(duì)事務(wù),審計(jì),閃存等等對(duì)數(shù)據(jù)的重視所以如何一些特別主要的數(shù)據(jù),一定要放到sql里面。一個(gè)系統(tǒng)里面至少有用戶信息是重要的數(shù)據(jù)。
- 所以sql必須有,而且數(shù)據(jù)存儲(chǔ)的主干
什么時(shí)候引入nosql
先看看sql - > sql + nosql的過(guò)程。
http://chabaoo.cn/article/79236.htm 為什么要使用NoSQL
這些nosql?
對(duì)java語(yǔ)言而言:
- redis:用于緩存 - 讀速度極快(內(nèi)存中)
- mongoDb - 讀寫(xiě)事務(wù)都是均衡的.node.js開(kāi)發(fā)的json
- Neo4j - .java的的比較像SQL但查詢更快,可惜高級(jí)功能收費(fèi)… - 社交(圖像數(shù)據(jù)庫(kù))
- Cassandra - 寫(xiě)數(shù)據(jù)比讀快.-用于日志的存放。
- HBase 離線分析
我的設(shè)想:
java語(yǔ)言而言:
- - redis用于緩存(值里面存javabean)和不需要存儲(chǔ)的熱數(shù)據(jù)
- - mongoDb用于不太重要的但要儲(chǔ)的內(nèi)容.
- - Cassandra 用于管理 日志強(qiáng)烈建議(把日志放到數(shù)據(jù)庫(kù)里面。)
- - HBASE 離線分析,大數(shù)據(jù)
- - solr,ES - 站內(nèi)搜索和代替里面的SQL等
- - 或者用neo4j代替sql數(shù)據(jù)庫(kù) , 有對(duì)事務(wù)要求的時(shí)候,單獨(dú)起一個(gè)優(yōu)先級(jí)為2的線程存到sql里面.
NoSQL紀(jì)元
當(dāng)下已經(jīng)存在很多的NoSQL數(shù)據(jù)庫(kù),比如MongoDB、Redis、Riak、HBase、Cassandra等等。每一個(gè)都擁有以下幾個(gè)特性中的一個(gè):
- 不再使用SQL語(yǔ)言,比如MongoDB、Cassandra就有自己的查詢語(yǔ)言
- 通常是開(kāi)源項(xiàng)目
- 為集群運(yùn)行而生
- 弱結(jié)構(gòu)化——不會(huì)嚴(yán)格的限制數(shù)據(jù)結(jié)構(gòu)類型
適用的場(chǎng)景
儲(chǔ)存用戶信息,比如會(huì)話、配置文件、參數(shù)、購(gòu)物車等等。這些信息一般都和ID(鍵)掛鉤,這種情景下鍵值數(shù)據(jù)庫(kù)是個(gè)很好的選擇。
不適用場(chǎng)景
1)取代通過(guò)鍵查詢,而是通過(guò)值來(lái)查詢。Key-Value數(shù)據(jù)庫(kù)中根本沒(méi)有通過(guò)值查詢的途徑。
2)需要儲(chǔ)存數(shù)據(jù)之間的關(guān)系。在Key-Value數(shù)據(jù)庫(kù)中不能通過(guò)兩個(gè)或以上的鍵來(lái)關(guān)聯(lián)數(shù)據(jù)。
3)事務(wù)的支持。在Key-Value數(shù)據(jù)庫(kù)中故障產(chǎn)生時(shí)不可以進(jìn)行回滾。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- 數(shù)據(jù)庫(kù)語(yǔ)言分類DDL、DCL、DML詳解
- 詳解數(shù)據(jù)庫(kù)_MySQL: mysql函數(shù)
- MySQL數(shù)據(jù)庫(kù)中CAST與CONVERT函數(shù)實(shí)現(xiàn)類型轉(zhuǎn)換的講解
- mysql 8.0.15 安裝圖文教程及數(shù)據(jù)庫(kù)基礎(chǔ)
- SQL SERVER 數(shù)據(jù)庫(kù)備份代碼實(shí)例
- PostgreSQL數(shù)據(jù)庫(kù)中窗口函數(shù)的語(yǔ)法與使用
- 如何合理使用數(shù)據(jù)庫(kù)冗余字段的方法
- Mysql主從數(shù)據(jù)庫(kù)(Master/Slave)同步配置與常見(jiàn)錯(cuò)誤
- PHP單例模式數(shù)據(jù)庫(kù)連接類與頁(yè)面靜態(tài)化實(shí)現(xiàn)方法
- 如何在一個(gè)千萬(wàn)級(jí)的數(shù)據(jù)庫(kù)查詢中提高查詢的效率?
相關(guān)文章
Centos7 移動(dòng)mysql5.7.19 數(shù)據(jù)存儲(chǔ)位置的操作方法
這篇文章主要介紹了Centos7 移動(dòng)mysql5.7.19 數(shù)據(jù)存儲(chǔ)位置的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-10-10Mysql中通用表達(dá)式WITH?AS語(yǔ)句的使用實(shí)例代碼
with as也叫子查詢,用來(lái)定義一個(gè)sql片段,且該片段會(huì)被整個(gè)sql語(yǔ)句反復(fù)使用很多次,這個(gè)sql片段就相當(dāng)于是一個(gè)公用臨時(shí)表,下面這篇文章主要給大家介紹了關(guān)于Mysql中通用表達(dá)式WITH?AS語(yǔ)句使用的相關(guān)資料,需要的朋友可以參考下2022-08-08linux mysql忘記密碼的多種解決或Access denied for user ''root''@''local
linux mysql忘記密碼的多種解決方法。2009-07-07MySQL函數(shù)CONCAT、CONCAT_WS、GROUP_CONCAT用法詳解
這篇文章主要介紹了MySQL函數(shù)CONCAT、CONCAT_WS、GROUP_CONCAT用法詳解,CONCAT 函數(shù)用于將兩個(gè)字符串連接為一個(gè)字符串,本文通過(guò)實(shí)例代碼詳細(xì)講解,需要的朋友可以參考下2023-02-02MySQL觸發(fā)器的使用場(chǎng)景及方法實(shí)例
這篇文章主要給大家介紹了關(guān)于MySQL觸發(fā)器的使用場(chǎng)景及方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12MySQL查詢優(yōu)化--調(diào)整內(nèi)部變量的詳解
本篇文章是對(duì)MySQL查詢優(yōu)化中的調(diào)整內(nèi)部變量進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06