新聞中心
關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫有什么區(qū)別?
相信不少人在工作中都遇到過以下對話:

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的柳河網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
程序員A:又要到流量高峰期了,感覺數(shù)據(jù)庫要崩。
程序員B:嗯嗯,趕緊擴(kuò)容吧。
雖然數(shù)據(jù)庫很耳熟,但是它究竟是何方神圣呢?今天就給大家科普一下。
數(shù)據(jù)庫,其實(shí)就是互聯(lián)網(wǎng)業(yè)務(wù)存儲、查詢數(shù)據(jù)的倉庫。通過幾十年的發(fā)展歷史讓數(shù)據(jù)庫衍生出了各種不同的類型。
關(guān)系型數(shù)據(jù)庫,是指采用了關(guān)系模型來組織數(shù)據(jù)的數(shù)據(jù)庫。例如,某個學(xué)生的信息——姓名:張三,性別:男,學(xué)號:12345,班級:二年級一班,每一個信息之間是有聯(lián)系的,而數(shù)據(jù)也是以表格形式存儲的。
這就是最早的數(shù)據(jù)庫形態(tài),1970年IBM的研究員E.F.Codd博士首先提出關(guān)系模型,在之后的幾十年中,關(guān)系模型的概念得到了充分的發(fā)展并逐漸成為主流數(shù)據(jù)庫結(jié)構(gòu)的主流模型。Oracle、DB2、Microsoft SQL Server、MySQL等都屬于這一范疇。
關(guān)系型數(shù)據(jù)庫遵循acid(原子性,一致性,隔離性,持久性),非關(guān)系型數(shù)據(jù)庫只要遵循cap(一致性,可用性和分區(qū)容忍性),那么這些屬性的差異也就決定了性能的快慢和建表的數(shù)據(jù)結(jié)構(gòu)的類型,其中mongodb和redis都屬于nosql,不過mongodb屬于文檔型數(shù)據(jù)庫,redis屬于內(nèi)存數(shù)據(jù)庫
先說說關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫有什么區(qū)別
這里的關(guān)系型和非關(guān)系型,主要是數(shù)據(jù)存儲格式的區(qū)別,我們常見的關(guān)系型數(shù)據(jù)庫有Mysql、Oracle、DB2、SQL Server等,都是通過關(guān)系模型來組織數(shù)據(jù),也就是二維表格模型。
而非關(guān)系型數(shù)據(jù)庫,就不是按照這個二維表格來存儲數(shù)據(jù)了,例如Redis是使用鍵值對(key-value)來組織數(shù)據(jù),MongoDB是采用BSON的格式(可以想象成JSON);并且不局限于固定的結(jié)構(gòu)。
關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫之間的關(guān)系,也不是有你沒有,二者選其一,通常都是配合起來使用的。
關(guān)系型數(shù)據(jù)庫,容易理解,使用方便(通過SQL語言操作),易于維護(hù);但是因?yàn)閿?shù)據(jù)在磁盤上存儲,I/O會成為一個很大的瓶頸,如果在高并發(fā)的場景下,性能降低的很快;另外,對于關(guān)系型數(shù)據(jù)庫,當(dāng)單表數(shù)據(jù)量增加到一定程度的時候,表的操作效率也會很低;表結(jié)構(gòu)固定,當(dāng)數(shù)據(jù)量比較大的時候,對表結(jié)構(gòu)的擴(kuò)展會是災(zāi)難性的。
非慣性數(shù)據(jù)庫因?yàn)閿?shù)據(jù)結(jié)構(gòu)的“隨性”,用戶可以根據(jù)需要增加字段,關(guān)系型數(shù)據(jù)習(xí)慣設(shè)計成多張表,然后通過表關(guān)聯(lián)查詢,而非關(guān)系型數(shù)據(jù)庫(文檔性)會把所有字段放到一個集合中,避免多表的關(guān)聯(lián)。不過缺點(diǎn)也非常明顯,“隨性”也就意味著沒有標(biāo)準(zhǔn),單集合有好處也有壞處,沒有完整性約束,對于復(fù)雜的業(yè)務(wù)場景支持比較差。
Redis的數(shù)據(jù)存儲格式是key-value,支持持久化、 支持事務(wù),經(jīng)常用于緩存、高并發(fā)下的讀寫(計數(shù)器、最新列表、秒殺),因?yàn)閱尉€程的機(jī)制也會用于分布式鎖。
歡迎關(guān)注我,一個程序員老司機(jī),和你分享編程、運(yùn)營、需求等等經(jīng)驗(yàn)和趣事。
作為一個多年的程序員,兩種數(shù)據(jù)庫都使用過現(xiàn)在將自己的一些感受和你分享一下。
最大的區(qū)別
兩種數(shù)據(jù)庫的最大區(qū)別在于存儲方式,關(guān)系數(shù)據(jù)庫是將關(guān)系存儲到數(shù)據(jù)庫里面,什么關(guān)系呢?就是一對一、一對多和多對多關(guān)系,這樣存儲進(jìn)去之后就能夠通過sql命令查詢到符合客觀需求的數(shù)據(jù),但是將關(guān)系存儲進(jìn)行查詢時,有時需要關(guān)聯(lián)很多個數(shù)據(jù)表才能夠得到需要的數(shù)據(jù),于是就誕生的分關(guān)系數(shù)據(jù)庫,也就是nosql數(shù)據(jù)庫。
兩種常見的非關(guān)系數(shù)據(jù)庫
一種是redis數(shù)據(jù)庫,這種數(shù)據(jù)庫主要做為緩存使用,它一般配合關(guān)系數(shù)據(jù)庫一起用,也就是先從關(guān)系數(shù)據(jù)庫獲取或者計算數(shù)據(jù),然后保存到redis數(shù)據(jù)庫里面,而mongodb數(shù)據(jù)庫除了具備redis的特點(diǎn),也具備關(guān)系數(shù)據(jù)庫的特點(diǎn),所以一般業(yè)務(wù)數(shù)據(jù)還是用它來保存。
那為什么不用mongodb來代替redis
因?yàn)閞edis非常小巧和專業(yè),已經(jīng)將緩存做到了極致。
如何用python爬取網(wǎng)站數(shù)據(jù)?
謝邀!這篇文章是小編看到的一篇實(shí)踐型文章,《用Python爬取某東商品信息并可視化》,純屬搬運(yùn)分享。
對于Ajax加載的網(wǎng)頁已經(jīng)分析了好幾回,這回來說說利用selenium自動化獲取網(wǎng)頁信息。
通常對于異步加載的網(wǎng)頁,我們需要查找網(wǎng)頁的真正請求,并且去構(gòu)造請求參數(shù),最后才能得到真正的請求網(wǎng)址。而利用selenium通過模擬瀏覽器操作,則無需去考慮那么多,做到可見即可爬。
當(dāng)然帶來便捷的同時,也有著不利,比如說時間上會有所增加,效率降低??墒菍τ跇I(yè)余爬蟲而言,更快的爬取,并不是那么的重要。
首先在電腦的PyCharm上安裝selenium,然后下載與電腦上谷歌瀏覽器相對應(yīng)版本的ChromeDriver。由于我的Mac系統(tǒng)版本較新,需要先關(guān)閉Rootless內(nèi)核保護(hù)機(jī)制,才能夠安裝,所以也是折騰一番后才成功安裝。
這里簡單介紹一下吧,以抓取網(wǎng)站靜態(tài)、動態(tài)2種數(shù)據(jù)為例,實(shí)驗(yàn)環(huán)境win10+python3.6+pycharm5.0,主要內(nèi)容如下:
抓取網(wǎng)站靜態(tài)數(shù)據(jù)(數(shù)據(jù)在網(wǎng)頁源碼中):以糗事百科網(wǎng)站數(shù)據(jù)為例
1.這里假設(shè)我們抓取的數(shù)據(jù)如下,主要包括用戶昵稱、內(nèi)容、好笑數(shù)和評論數(shù)這4個字段,如下:
對應(yīng)的網(wǎng)頁源碼如下,包含我們所需要的數(shù)據(jù):
2.對應(yīng)網(wǎng)頁結(jié)構(gòu),主要代碼如下,很簡單,主要用到requests+BeautifulSoup,其中requests用于請求頁面,BeautifulSoup用于解析頁面:
程序運(yùn)行截圖如下,已經(jīng)成功爬取到數(shù)據(jù):
到此,以上就是小編對于mongodb主鍵默認(rèn)格式的問題就介紹到這了,希望這2點(diǎn)解答對大家有用。
本文標(biāo)題:關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫有什么區(qū)別?(mongodb怎么將字段設(shè)置為主鍵)
網(wǎng)站地址:http://m.fisionsoft.com.cn/article/cdhiohi.html


咨詢
建站咨詢
