NoSQL數據庫技術與應用復習總結【看到最后】

第1章 初識NoSQL

1.1 大數據時代對數據存儲的挑戰

1.高并發讀寫需求? 2.高效率存儲與訪問需求? 3.高擴展性

1.2 認識NoSQL

NoSQL--非關系型、分布式、不提供ACID的數據庫設計模式

NoSQL特點

1.易擴展? 2.高性能? 3.靈活的數據模型? 4.高可用

NoSQL擁有一個共同的特點,即去掉關系數據庫的關系型特性--非關系型數據庫

關系型數據庫強調ACID規則(原子性、一致性、隔離性以及持久性)

非關系型數據庫強調BASE原則(基本可用、軟狀態、最終一致性)

其采用分布式存儲,所以可使用水平擴展方式擴展數據庫

NoSQL基礎理論

NoSQL理論的基礎是由CAP理論、BASE理論以及最終一致性奠定的

1.CAP原則

一致性、可用性、分區容錯性

2.BASE理論

核心思想:即使無法保證系統的強一致性,但每個應用都可以根據自身的業務特點,采用適當的方式使系統達到最終一致性

基本可用、軟狀態、最終一致性

3.最終一致性--弱一致性的一種特殊形態

強一致性--要求集群中的所有結點的狀態實時保持一致

弱一致性

NoSQL數據庫分類

1.鍵值對存儲數據庫--最簡單的NoSQL數據庫

2.文檔存儲數據庫

不是文檔管理系統,用于存儲和管理文檔,文檔是結構化的數據

3.列式存儲數據庫

以列為單位存儲數據,將列值順序地存入數據庫

4.圖形存儲數據庫

不是網絡數據庫

比較

第2章 文檔存儲數據庫MongoDB

2.1MongoDB概述

MongoDB是一個面向集合、模式自由的文檔型數據庫

易用性? 高性能? 高可用性? 易擴展性? 支持多種存儲引擎

2.2MongoDB體系結構

MongoDB的邏輯結構是體系結構的一種形式,它是一種層次結構,主要由文檔,集合,數據庫三部分組成。

數據庫

MongoDB數據庫默認提供admin,local,config以及test四個數據庫

集合

MongoDB的一組文檔,分為一般集合和上限集合

前者可以限制集合的容量大小,在數據存滿時,可以從頭開始覆蓋最開始的文檔,從而進行循環寫入

文檔

文檔以鍵值對形式存儲在集合中,鍵用于唯一標識一個文檔--為字符串類型

值則可以是各種復雜的文件類型

MongoDB單個文檔大小上限為16MB

2.3MongoDB數據類型

1.數字類型

32位整數(Int32) 64位整數(Int64) 64位浮點數(Double)

2.日期類型

new Data(...)

3.數組類型

[]

4.ObjectId類型

12字節BSON類型

5.內嵌文檔

6.Code類型

第3章 MongoDB數據庫操作

3.1MongoDB部署

MongoDB是一個開源、跨平臺的數據庫

mongod.exe用于啟動MongoDB服務

3.2數據庫操作

新建數據庫 use?

查看數據庫 show dbs(所有數據庫)? db(當前數據庫)

刪除數據庫 db.dropDatabase()

3.3集合操作

創建集合?

db.createCollection("XX_name",[OPTIONS]) #顯式創建集合db.XX_name.insert(DOCUMENT) #隱式創建集合

刪除集合

db.XX_name.drop()

3.4文檔的插入、更新與刪除操作

#單文檔插入

db.XX_name.insert(document)db.XX_name.save(document)

#多文檔插入

db.XX_name,insertMany([d1,d2,...])

insert()方法--插入文檔,若集合中已存在該文檔,則會報錯,反之寫入

save()方法--插入文檔,已存在的文檔直接更新,反之寫入

復習總結【重要考點】

MongoDB單個文檔大小上限為16M

塊的默認大小為64M

當MemStore存儲的數據達到一個閥值時,MemStore里面的數據就會被flush到StoreFile.文件,這個閾值默認是128M

默認情況下,GridFS使?的塊??為255 KB?

分片鍵的長度大小,不可超過512個字節

Neo4j的應用場景:

社區網絡、推薦引擎、交通運輸、物流管理、主數據管理、訪問控制以及欺詐檢測

MongoDB數據庫基于C++語言編寫

Redis數據庫基于ANSI C語言編寫

HBase數據庫基于Java語言編寫

Neo4j數據庫基于Java語言編寫

有序集合可以直接對值進行操作,而散列是通過鍵來查找值。

副本節點與主節點同步副本是異步同步

Neo4j CQL 語法不?持Update
MongoDB分片集群架構:
分片服務器:實際存儲數據的組件? Shard
路由服務器:主要提供客戶端應用程序與分片集群交互的接口? mongos
配置服務器:存儲了分片集群的元數據? Config Server
注意,分?鍵可以是集合?檔中的 ?個或多個 字段?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/81193.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/81193.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/81193.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【ios越獄包安裝失敗?uniapp導出ipa文件如何安裝到蘋果手機】蘋果IOS直接安裝IPA文件

問題場景: 提示:ipa是用于蘋果設備安裝的軟件包資源 設備:iphone 13(未越獄) 安裝包類型:ipa包 調試工具:hbuilderx 問題描述 提要:ios包無法安裝 uniapp導出ios包無法安裝 相信有小伙伴跟我一樣&…

php數據導出pdf,然后pdf轉圖片,再推送釘釘群

public function takePdf($data_plan, $data_act, $file_name, $type){$pdf new \TCPDF(L); // L - 橫向 P-豎向// 設置文檔信息//$file_name 外協批價單;$pdf->SetCreator($file_name);$pdf->SetAuthor($file_name);$pdf->SetTitle($file_name);$pdf->SetSubjec…

每日算法-250513

每日算法 - 2024-05-13 記錄今天學習的算法題解。 2335. 裝滿杯子需要的最短總時長 題目 思路 貪心 這道題的關鍵在于每次操作盡可能多地減少杯子的數量。我們每次操作可以裝一杯或兩杯(不同類型)。為了最小化總時間,應該優先選擇裝兩杯不同…

城市生命線綜合管控系統解決方案-守護城市生命線安全

一、政策背景 國務院辦公廳《城市安全風險綜合監測預警平臺建設指南》?要求:將燃氣、供水、排水、橋梁、熱力、綜合管廊等納入城市生命線監測體系,建立"能監測、會預警、快處置"的智慧化防控機制。住建部?《"十四五"全國城市基礎…

分布式AI推理的成功之道

隨著AI模型逐漸成為企業運營的核心支柱,實時推理已成為推動這一轉型的關鍵引擎。市場對即時、可決策的AI洞察需求激增,而AI代理——正迅速成為推理技術的前沿——即將迎來爆發式普及。德勤預測,到2027年,超半數采用生成式AI的企業…

auto.js面試題及答案

以下是常見的 Auto.js 面試題及參考答案,涵蓋基礎知識、腳本編寫、運行機制、權限、安全等方面,適合開發崗位的技術面試準備: 一、基礎類問題 什么是 Auto.js?它的主要用途是什么? 答案: Auto.js 是一個…

C語言中的指定初始化器

什么是指定初始化器? C99標準引入了一種更靈活、直觀的初始化語法——指定初始化器(designated initializer), 可以在初始化列表中直接引用結構體或聯合體成員名稱的語法。通過這種方式,我們可以跳過某些不需要初始化的成員,并且可以以任意順序對特定成員進行初始化。這…

高德地圖在Vue3中的使用方法

1.地圖初始化 容器創建&#xff1a;通過 <div> 標簽定義地圖掛載點。 <div id"container" style"height: 300px; width: 100%; margin-top: 10px;"></div> 密鑰配置&#xff1a;綁定高德地圖安全密鑰&#xff0c;確保 API 合法調用。 參…

RabbitMQ發布訂閱模式深度解析與實踐指南

目錄 RabbitMQ發布訂閱模式深度解析與實踐指南1. 發布訂閱模式核心原理1.1 消息分發模型1.2 核心組件對比 2. 交換機類型詳解2.1 交換機類型矩陣2.2 消息生命周期 3. 案例分析與實現案例1&#xff1a;基礎廣播消息系統案例2&#xff1a;分級日志處理系統案例3&#xff1a;分布式…

中小型培訓機構都用什么教務管理系統?

在教育培訓行業快速發展的今天&#xff0c;中小型培訓機構面臨著學員管理復雜、課程體系多樣化、教學效果難以量化等挑戰。一個高效的教務管理系統已成為機構運營的核心支撐。本文將深入分析當前市場上適用于中小型培訓機構的教務管理系統&#xff0c;重點介紹愛耕云這一專業解…

C++虛函數食用筆記

虛函數定義與作用&#xff1a; virtual關鍵字聲明虛函數&#xff0c;虛函數可被派生類override(保證返回類型與參數列表&#xff0c;名字均相同&#xff09;&#xff0c;從而通過基類指針調用時&#xff0c;實現多態的功能 virtual關鍵字: 將函數聲明為虛函數 override關鍵…

運算放大器相關的電路

1運算放大器介紹 解釋&#xff1a;運算放大器本質就是一個放大倍數很大的元件&#xff0c;就如上圖公式所示 Vp和Vn相差很小但是放大后輸出還是會很大。 運算放大器不止上面的三個引腳&#xff0c;他需要獨立供電&#xff1b; 如圖比較器&#xff1a; 解釋&#xff1a;Vp&…

華為OD機試真題——通信系統策略調度(用戶調度問題)(2025B卷:100分)Java/python/JavaScript/C/C++/GO最佳實現

2025 B卷 100分 題型 本專欄內全部題目均提供Java、python、JavaScript、C、C++、GO六種語言的最佳實現方式; 并且每種語言均涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、3個測試用例以及綜合分析; 本文收錄于專欄:《2025華為OD真題目錄+全流程解析+備考攻略+經驗分…

Ubuntu 系統默認已安裝 python,此處只需添加一個超鏈接即可

步驟 1&#xff1a;確認 Python 3 的安裝路徑 查看當前 Python 3 的路徑&#xff1a; which python3 輸出類似&#xff1a; /usr/bin/python3 步驟 2&#xff1a;創建符號鏈接 使用 ln -s 創建符號鏈接&#xff0c;將 python 指向 python3&#xff1a; sudo ln -s /usr/b…

深度學習-分布式訓練機制

1、分布式訓練時&#xff0c;包括train.py的全部的代碼都會在每個gpu上運行嗎&#xff1f; 在分布式訓練&#xff08;如使用 PyTorch 的 DistributedDataParallel&#xff0c;DDP&#xff09;時&#xff0c;每個 GPU 上運行的進程會執行 train.py 的全部代碼&#xff0c;但通過…

yarn的介紹

### Yarn 的基本概念 Yarn 是 Hadoop 生態系統中的一個重要組成部分&#xff0c;它是一種分布式資源管理框架&#xff0c;旨在為大規模數據處理提供高效的資源管理和調度能力。以下是關于 Yarn 的一些核心概念&#xff1a; #### 1. **Yarn 的定義** Yarn 是一個資源調度平臺&a…

Spring-messaging-MessageHandler接口實現類ServiceActivatingHandler

ServiceActivatingHandler實現了MessageHandler接口&#xff0c;所以它是一個MessageHandler&#xff0c;在spring-integration中&#xff0c;它也叫做服務激活器&#xff08;Service Activitor&#xff09;&#xff0c;因為這個類是依賴spring容器BeanFactory的&#xff0c;所…

快速入門深度學習系列(2)----損失函數、邏輯回歸、向量化

針對深度學習入門新手目標不明確 知識體系雜亂的問題 擬開啟快速入門深度學習系列文章的創作 旨在幫助大家快速的入門深度學習 寫在前面&#xff1a; 本系列按照吳恩達系列課程順序發布(說明一下為什么不直接看原筆記 因為內容太多 沒有大量時間去閱讀 所有作者需要一次梳理…

KingBase問題篇

安裝環境 操作系統&#xff1a;CentOS7 CPU&#xff1a;X86_64架構 數據庫&#xff1a;KingbaseES_V008R006C009B0014_Lin64_install.iso 項目中遇到的問題 Q1. 執行sql中有字符串常量&#xff0c;且用雙引號包裹&#xff0c;執行報錯 A1. 默認KingBase不認雙引號&#xff0…

瀕危仙草的重生敘事:九仙尊米斛花節如何以雅集重構中醫藥文化IP

五月的霍山深處,層巒疊翠之間,中華仙草霍山米斛迎來一年一度的花期。九仙尊以“斛韻雅集,春野茶會”為主題,舉辦為期半月的米斛花文化節,融合中醫藥文化、東方美學與自然體驗,打造一場跨越古今的沉浸式文化盛宴。活動涵蓋古琴雅集、書法創作、茶道冥想、詩歌吟誦、民族歌舞等多…