python可以用哪些數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)分類
早期數(shù)據(jù)庫(kù)模型有三種,分別為層次式數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)式數(shù)據(jù)庫(kù)和關(guān)系型數(shù)據(jù)庫(kù)。
而在當(dāng)今的互聯(lián)網(wǎng)中,通常把數(shù)據(jù)庫(kù)分為兩類,即關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)。
關(guān)系型數(shù)據(jù)庫(kù)
關(guān)系型數(shù)據(jù)庫(kù)是指采用了關(guān)系模型來(lái)組織數(shù)據(jù)的數(shù)據(jù)庫(kù),而關(guān)系模型是由二維表及其聯(lián)系組成的數(shù)據(jù)組織。
優(yōu)點(diǎn):
1、易于維護(hù):都是使用表結(jié)構(gòu),格式一致;
2、使用方便:SQL語(yǔ)言通用,可用于復(fù)雜查詢;
3、復(fù)雜操作:支持SQL,可用于一個(gè)表以及多個(gè)表之間非常復(fù)雜的查詢。
缺點(diǎn):
1、讀寫(xiě)性能比較差,尤其是海量數(shù)據(jù)的高效率讀寫(xiě);
2、固定的表結(jié)構(gòu),靈活度稍欠;
3、高并發(fā)讀寫(xiě)需求,傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)來(lái)說(shuō),硬盤(pán)I/O是一個(gè)很大的瓶頸。
目前主流的關(guān)系型數(shù)據(jù)庫(kù)有
MYSQL
目前使用最廣泛的開(kāi)源、多平臺(tái)的關(guān)系型數(shù)據(jù)庫(kù),支持事務(wù)、符合ACID、支持多數(shù)SQL規(guī)范
SQL Server
支持事務(wù)、符合ACID、支持多數(shù)SQL規(guī)范,屬于商業(yè)軟件,需要注意版權(quán)和licence授權(quán)費(fèi)用
Oracle
支持事務(wù),符合關(guān)系型數(shù)據(jù)庫(kù)原理,符合ACID,支持多數(shù)SQL規(guī)范,功能最強(qiáng)大、最復(fù)雜、市場(chǎng)占比最高的商業(yè)數(shù)據(jù)庫(kù)
Postgresql
開(kāi)源、多平臺(tái)、關(guān)系型數(shù)據(jù)庫(kù),功能最強(qiáng)大的開(kāi)源數(shù)據(jù)庫(kù),需要python環(huán)境,基于postgresql的TimeScaleDB,是目前比較火的時(shí)序數(shù)據(jù)庫(kù)之一。(更多學(xué)習(xí)內(nèi)容,請(qǐng)點(diǎn)擊python學(xué)習(xí)網(wǎng))
非關(guān)系型數(shù)據(jù)庫(kù)
非關(guān)系型數(shù)據(jù)庫(kù)也稱為NOSQL(Not Only SQL),作為關(guān)系型數(shù)據(jù)庫(kù)的一個(gè)補(bǔ)充,能在特定場(chǎng)景和特點(diǎn)問(wèn)題下發(fā)揮高效率和高性能。
常見(jiàn)的非關(guān)系型數(shù)據(jù)庫(kù)類型有鍵值(Key-Value)存儲(chǔ)數(shù)據(jù)庫(kù)和面向文檔數(shù)據(jù)庫(kù)(Document-oriented)
鍵值存儲(chǔ)數(shù)據(jù)庫(kù)類似hash,通過(guò)key做添加、刪除、查詢,性能高,優(yōu)勢(shì)在于簡(jiǎn)單、易部署、高并發(fā),主要產(chǎn)品有
Redis
開(kāi)源、Linux平臺(tái)、key-value鍵值型Nosql數(shù)據(jù)庫(kù),簡(jiǎn)單穩(wěn)定,非常主流的、全數(shù)據(jù)in-momory、定位于“快”的鍵值型nosql數(shù)據(jù)庫(kù)
Memcaced
一個(gè)開(kāi)源的、高性能的、具有分布式內(nèi)存對(duì)象的緩存系統(tǒng),通過(guò)它可以減輕數(shù)據(jù)庫(kù)負(fù)載,加速動(dòng)態(tài)的web應(yīng)用
面向文檔數(shù)據(jù)庫(kù)以文檔的形式存儲(chǔ),每個(gè)文檔是一系列數(shù)據(jù)項(xiàng)的集合,每個(gè)數(shù)據(jù)項(xiàng)有名稱與對(duì)應(yīng)的值,主要產(chǎn)品有
MongoDB
開(kāi)源、多平臺(tái)、文檔型nosql數(shù)據(jù)庫(kù),“最像關(guān)系型數(shù)據(jù)庫(kù)”,定位于“靈活”的nosql數(shù)據(jù)庫(kù)。適用于網(wǎng)站后臺(tái)數(shù)據(jù)庫(kù)(更新快、實(shí)時(shí)復(fù)制)、小文件系統(tǒng)(json,二進(jìn)制)、日志分析系統(tǒng)(數(shù)據(jù)量大的文件)。
知識(shí)點(diǎn)擴(kuò)展:
Python的數(shù)據(jù)庫(kù)支持
經(jīng)過(guò)兩個(gè)多月的學(xué)習(xí),我們對(duì)Python的基礎(chǔ)語(yǔ)法大概都已經(jīng)學(xué)完了,接下來(lái)我們要把我們學(xué)到的東西逐步用到應(yīng)用的層面上。今天,我們要學(xué)的是,用Python實(shí)現(xiàn)數(shù)據(jù)庫(kù)的對(duì)接。
我們先來(lái)講一下什么是api,在編程語(yǔ)言的學(xué)習(xí)中,我們經(jīng)常會(huì)接觸到api這個(gè)詞,那么究竟什么是api,簡(jiǎn)單來(lái)說(shuō)就是一個(gè)接口,像java的api,有一個(gè)專門的api文檔提供查詢。Python數(shù)據(jù)庫(kù)的api是DB API。我們主要講的api版本是DB API2.0。
Python DB API有三個(gè)模塊屬性:
1、apilevel:這個(gè)屬性主要是用來(lái)定義使用的Python DB API 的版本,像我們上面說(shuō)的DB API 2.0;
2、threadsafety:這個(gè)是用來(lái)定義模塊的線程安全度;
該參數(shù)是一個(gè)0到3的整數(shù),0表示線程不能共享模塊,1表示線程可共享模塊本身,2表示線程可共享模塊和連接, 但不能共享游標(biāo),3表示模塊是絕對(duì)線程安全的。
3、paramstyle:這個(gè)屬性定義在SQL查詢中使用哪種參數(shù)風(fēng)格,這里說(shuō)明一下,SQL是指數(shù)據(jù)庫(kù)的意思。
這個(gè)我們就不具體講了,因?yàn)楝F(xiàn)在剛接觸新知識(shí),引入這個(gè)知識(shí)點(diǎn),會(huì)很容易感到迷茫。
到此這篇關(guān)于python可以用哪些數(shù)據(jù)庫(kù)的文章就介紹到這了,更多相關(guān)python支持哪些數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. JS數(shù)據(jù)類型判斷的幾種常用方法2. HTML <!DOCTYPE> 標(biāo)簽3. 如何通過(guò)vscode運(yùn)行調(diào)試javascript代碼4. Python pip 常用命令匯總5. XML基本概念XPath、XSLT與XQuery函數(shù)介紹6. Ajax實(shí)現(xiàn)頁(yè)面無(wú)刷新留言效果7. 用Python自動(dòng)下載網(wǎng)站所有文件8. WML語(yǔ)言的基本情況9. 利用CSS制作3D動(dòng)畫(huà)10. ajax post下載flask文件流以及中文文件名問(wèn)題
