国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

在 Python 應用中使用 MongoDB的方法

2020-02-23 04:14:11
字體:
來源:轉載
供稿:網友

在這篇文章中,將向您展示如何使用Python鏈接目前主流的MongoDB(V3.4.0)數據庫,主要使用PyMongo(v3.4.0)和MongoEngine(V0.10.7)。同時比較SQL和NoSQL。

英文原文:https://realpython.com/blog/python/introduction-to-mongodb-and-python

1、SQL vs NoSQL

  如果你不是很熟悉NoSQL這個概念,MongoDB就是一個NoSQL數據庫。近幾年來它越來越受到整個行業的歡迎。NoSQL數據庫提供了一個和關系型數據庫非常不同的檢索方式和存儲數據功能。

  在NoSQL出現的幾十年來,SQL數據庫是開發者尋求構建大型、可擴展系統的唯一選擇之一。然而,越來越多的需求要求存儲復雜數據結構的能力。這推動了NoSQL數據庫的誕生,它允許開發者存儲異構和無結構的數據。

  當到數據庫方案選擇時,大多數人都問自己最后一個問題,“SQL或NoSQL的?”。無論是SQL和NoSQL都有自己的長處和弱點,你應該選擇適合您的應用需求中最好的之一。這里是兩者之間的一些區別:

SQL

模型是關系型的;

數據被存放在表中;

適用于每條記錄都是相同類型并具有相同屬性的情況;

存儲規范需要預定義結構;

添加新的屬性意味著你必須改變整體架構;

ACID事務支持;

NoSQL

模型是非關系型的;

可以存儲Json、鍵值對等(決定于NoSQL數據庫類型);

并不是每條記錄都要有相同的結構;

添加帶有新屬性的數據時,不會影響其他;

支持ACID事務,根據使用的NoSQL的數據庫而有所不同;

一致性可以改變;

橫向擴展;

  在兩種類型的數據庫之間還有許多其他的區別,但上面提到的是一些更重要的區別。根據您的具體情況,使用SQL數據庫可能是首選,而在其他情況下,NoSQL的是更明顯的選擇。當選擇一個數據庫時,您應該謹慎考慮每個數據庫的優勢和劣勢。

  NoSQL的一個好處是,有許多不同類型的數據庫可供選擇,并且每個都有自己的用例:

key-value存儲:DynamoDB

文檔存儲:CouchDB,MongoDB,RethinkDB

列存儲:Cassandra

數據結構: Redis,SSDB

  還有很多,但這些是一些更常見的類型。近年來,SQL和NoSQL數據庫甚至已經開始合并。例如,PostgreSQL現在支持存儲和查詢JSON數據,很像MongoDB。有了這個,你可以用Postgres實現MongoDB一樣的功能,但你仍然沒有MongoDB的其他優勢(如橫向擴容和簡單的界面,等等)。

2、MongoDB

  現在,讓我們將視線轉移到本文的重點,并闡明的MongoDB的具體的一些情況。

  MongoDB是一個面向文檔的,開源數據庫程序,它平臺無關。MongoDB像其他一些NoSQL數據庫(但不是全部!)使用JSON結構的文檔存儲數據。這是使得數據非常靈活,不需要的Schema。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永安市| 营口市| 峨眉山市| 康平县| 北安市| 丰顺县| 怀宁县| 名山县| 福州市| 新竹市| 望城县| 商城县| 上思县| 廊坊市| 法库县| 偏关县| 会宁县| 斗六市| 出国| 仙居县| 台南市| 嘉义市| 连江县| 蚌埠市| 炉霍县| 天气| 镶黄旗| 永丰县| 磐安县| 永嘉县| 临泉县| 兰西县| 孟村| 墨脱县| 英德市| 抚顺县| 芜湖市| 柳河县| 蒲江县| 康马县| 襄垣县|