1. 程式人生 > >電商之梳理mongodb相關知識---分散式資料庫

電商之梳理mongodb相關知識---分散式資料庫

mongodb
《mongodb》是2013年中國鐵道出版社出版的圖書,作者是鄒貴金。該書介紹了MongoDB基礎、應用、管理、效能優化、資料庫的架構,環境搭建例項,程式設計例項等內容。
書 名 mongodb 作 者 鄒貴金 出版社中國鐵道出版社 出版時間 2013-05-18
目錄
1 內容簡介
2 作品目錄
內容簡介編輯
NoSQL資料庫與傳統的關係型資料庫相比,它具有操作簡單、完全免費、原始碼公開、隨時下載等特點,並可以用於各種商業目的。這使NoSQL產品廣泛應用於各種大型入口網站和專業網站,大大降低了運營成本。
2010年,隨著網際網路Web2.0網站的興起,NoSQL在國內掀起一陣熱潮,其中風頭最勁的莫過於MongoDB了。越來越多的業界公司已經將MongoDB投入實際的生產環境,很多創業團隊也將MongoDB作為自己的首選資料庫,創造出非常之多的移動網際網路應用。
MongoDB的文件模型自由靈活,可以讓你在開發過程中暢順無比。對於大資料量、高併發、弱事務的網際網路應用,MongoDB可以應對自如。MongoDB內建的水平擴充套件機制提供了從百萬到十億級別的資料量處理能力,完全可以滿足Web2.0和移動網際網路的資料儲存需求,其開箱即用的特性也大大降低了中小型網站的運維成本。對於創業團隊,我建議選擇MongoDB。
本書由淺入深,全面、系統地介紹了MongoDB基礎、應用、管理、效能優化、資料庫的架構,環境搭建例項,程式設計例項等內容。書中的每一章都提供了大量的例項程式碼,以方便讀者進行練習和學習。每個例程都經過精挑細選,具有很強的針對性,適合各個階段的讀者的學習。本書既注重基礎知識,又非常注重實踐,讀者可以快速上手並迅速提高。通過學習本書內容,讀者不僅可以全面掌握MongoDB的應用,還可以獲得快速分析和解決實際問題的能力,從而能夠在最短的時間內,以最好的效果來解決實際問題,提升工作效率。
作品目錄編輯
第一篇 基礎篇
第1章 簡介
1.1 走進MongoDB
1.1.1 NoSQL簡介
1.1.2 發展現狀
1.1.3 為什麼是NoSQL
1.1.4 NoSQL的種類及其特性
1.1.5 NoSQL的特點
1.1.6 雲端計算如何影響NoSQL資料庫的發展
1.2 初識MongoDB
1.2.1 資料模型
1.2.2 擴充套件性
1.2.3 功能性
1.2.4 速度快
1.2.5 簡便的管理
1.2.6 使用場合
1.3 本章小結
第2章 入門
2.1 文件
2.2 集合
2.2.1 集合的無模式
2.2.2 集合的命名
2.3 資料庫結構
2.4 啟動MongoDB
2.4.1 MongoDB的安裝配置和啟動
2.4.2 在Windows平臺下的安裝配置和啟動
2.4.3 在Linux平臺下的安裝配置和啟動
2.5 MongoDB shell
2.5.1 啟動shell
2.5.2 使用shell對MongoDB的基本操作
2.5.3 使用shell的訣竅
2.6 MongoDB資料型別
2.6.1 基本資料型別
2.6.2 數字
2.6.3 日期
2.6.4 陣列
2.6.5 內嵌文件
2.6.6 _id鍵和ObjectId物件
2.7 本章小結
第3章 文件的增加、修改及刪除
第3章 文件的增加、修改及刪除
3.1 插入並保持文件
3.1.1 插入的原理和作用
3.1.2 批量插入
3.2 刪除文件
3.3 修改文件
3.3.1 整個文件的替換
3.3.2 使用修改器
3.3.3 upsert
3.3.4 修改多個文件
3.3.5 修改文件並返回修改後的文件
3.4 資料庫響應
3.4.1 安全操作
3.4.2 捕獲異常
3.4 客戶端請求和MongoDB資料庫連線
3.6 本章小結
第二篇 應用篇
第4章 查詢
4.1 find簡介
4.1.1 返回指定的鍵
4.1.2 find查詢限制
4.2 條件操作符
4.2.1 a

ll4.2.2exists 判斷欄位是否存在
4.2.3 null 值處理
4.2.4 mod4.2.5ne 不等於
4.2.6 in4.2.7nin 不包含
4.2.8 size4.2.94.2.10Javascriptwhere 查詢
4.2.11 count 查詢記錄條數
4.2.12 limit限制返回記錄數
4.2.13 skip 限制返回記錄的起點
4.2.14 sort 排序
4.2.15 分頁查詢
4.2.16 隨機抽取文件
4.3 distinct找給定鍵所有不同的值
4.4 group分組
4.4.1 使用完成器
4.4.2 將函式做為鍵使用
4.5 遊標
4.6 儲存過程
4.7 本章小結
第5章 Capped集合
5.1 特性
5.2 使用和約束
5.3 應用
5.3.1 建立 capped collection
5.3.2 限制capped collection物件個數
5.4 注意事項
5.5 本章小結
第6章 GridFS 儲存檔案
6.1 為什麼要用GridFS
6.2 如何實現海量儲存
6.3 語言支援
6.4 簡單介紹
6.5 命令列工具
6.6 內部原理
6.7 本章小結
第7章 MapReduce統計
7.1 Map函式
7.2 Reduce函式
7.3 結果儲存
7.4 對Reduce函式結果進一步處理
7.5 其他控制細節
7.6 本章小結
第三篇 管理篇
第8章 管理
8.1 啟動和停止MongoDB
8.1.1 使用命令列啟動
8.1.2 配置檔案
8.1.3 Daemon方式啟動
8.1.4 mongod引數說明
8.1.5 停止MongoDB
8.2 訪問控制
8.2.1 繫結IP 內網地址訪問MongoDB 服務
8.2.2 設定監聽埠
8.2.3 使用使用者名稱和口令登入
8.3 命令列操作
8.3.1 通過eval 引數執行指定語句
8.3.2 執行指定檔案中的內容
8.4 程序控制
8.4.1 檢視活動程序
8.4.2 結束程序
8.5 監控
8.5.1 使用管理介面
8.5.2 serverStatus
8.5.3 mongostat
8.5.4 第三方外掛
8.6 資料匯出 mongoexport
8.6.1 常用匯出方法
8.6.2 匯出CSV 格式的檔案
8.7 資料匯入mongoimport
8.7.1 匯入JSON 資料
8.7.2 匯入CSV 資料
8.8 備份和修復
8.8.1 資料檔案備份
8.8.2 資料備份mongodump
8.8.3 資料恢復mongorestore
8.8.4 fsync和鎖
8.8.5 從屬備份
8.8.6 修復
8.9 本章小結
第四篇 效能篇
第9章 索引
9.1 索引簡介
9.1.1 基礎索引
9.1.2 文件索引
9.1.3 組合索引
9.1.4 唯一索引
9.1.5 強制使用索引
9.1.6 擴充套件索引
9.1.7 索引內嵌文件中的鍵
9.1.8 為排序建立索引
9.1.9 索引名稱
9.1.10 刪除索引
9.2 explain 執行計劃
9.3 優化器profile
9.3.1 開啟Profiling 功能
9.3.2 查詢Profiling 記錄
9.4 索引管理
9.5 本章小結
第10章 效能優化
10.1 優化方案
10.1.1 優化方案1: 建立索引
10.1.2 優化方案2: 限定返回結果條數
10.1.3 優化方案3: 只查詢使用到的欄位,而不查詢所有欄位
10.1.4 優化方案4: 採用cappedcollection
10.1.5 優化方案5: 採用ServerSide Code Execution
10.1.6 優化方案6: Hint
10.1.7 優化方案7: 採用Profiling
10.2 效能監控
10.2.1 mongosniff底層監控
10.2.2 Mongostat檢視執行中的例項統計資訊
10.2.3 db.serverStatus看例項執行狀態
10.2.4 db.stats檢視資料庫狀態
10.2.5 第三方工具
10.3 本章小結
第五篇 架構篇
第11 章 複製集
11.1 主從複製
11.1.1 選項
11.1.2 新增及刪除源
11.2 複製集
11.2.1 部署複製集
11.2.2 初始化複製集
11.2.3 複製集中的節點
11.2.4 故障切換和活躍節點選舉
11.3 主從配置資訊
11.4 管理維護複製集
11.4.1 讀寫分離
11.4.2 故障轉移
11.4.3 增減節點
11.5 工作原理
11.5.1 主從操作日誌oplog
11.5.2 同步
11.5.3 複製狀態和本地資料庫
11.5.4 阻塞複製
11.6 管理
11.6.1 診斷
11.6.2 變更oplog的大小
11.6.3 複製的認證問題
11.7 本章小結
第12章 sharding 分片
12.1 分片簡介
12.2 MongoDB中的自動分片
12.3 片鍵
12.3.1 將已有的集合分片
12.3.2 遞增片鍵還是隨機片鍵
12.3.3 片鍵對操作的影響
12.4 建立分片
12.4.1 啟動ConfigServer配置伺服器
12.4.2 啟動mongos路由
12.4.3 啟動ShardServer伺服器
12.4.4 配置Sharding
12.4.5 驗證Sharding正常工作
12.5 管理維護Sharding
12.5.1 列出所有的ShardServer
12.5.2 檢視Sharding資訊
12.5.3 判斷是否是Sharding
12.5.4 對現有的集合進行Sharding
12.5.5 新增ShardServer
12.5.6 移除ShardServer
12.5 本章小結
第13章 複製集 + sharding 分片
13.1 建立資料目錄
13.2 配置複製集
13.2.1 配置shard1所用到的複製集
13.2.2 配置shard2所用到的複製集
13.3 配置多臺Config Server
13.4 配置多臺mongos
13.5 配置Shard Cluster
13.6 驗證Sharding正常工作
13.7 管理分片
13.7.1 配置集合
13.7.2 分片命令
13.8 本章小結
第六篇 例項篇
第14章 應用舉例
14.1 環境搭建例項
14.1.1 伺服器資訊
14.1.2 分片結果表
14.1.3 複製集+sharding 分片架構圖
14.1.4 MongoDB環境搭建步驟
14.2 遇到的問題
14.2.1 遇到的問題和解決方案
14.3 本章小結
第15章 Java例項
15.1 Java快速入門
15.1.1 安裝Java驅動程式和開發環境
15.1.2 訪問控制
15.1.3 Java對MongoDB資料庫的基本操作
15.1.4 Java驅動的一致性
15.2 Java常用操作
15.2.1 Java對MongoDB的操作例項
15.2.2 對使用者的操作
15.2.3 對集合的操作
15.2.4 對索引的操作
15.3 Java高階查詢
15.3.1 通過遊標獲取所有的文件
15.3.2 比較運算子
15.3.3 邏輯運算子
15.3.4 正則表示式查詢
15.3.5 skip跳過查詢
15.4 Java操作GridFS
15.4.1 上傳檔案
15.4.2 查詢資料
15.4.3 下載檔案
15.4.4 刪除資料
15.5 本章小結
第16章 C#例項
第16章 C#例項
16.1 C#快速入門
16.1.1 下載驅動和配置開發環境
16.1.2 訪問控制
16.1.3 C#對資料庫的基礎操作
16.2 C#驅動一致性
16.3 C#常用操作
16.3.1 對MongoDB的操作例項
16.3.2 對使用者的操作
16.3.3 對集合的操作
16.3.4 對索引的操作
16.4 C#高階查詢
16.4.1 判斷列名是否存在
16.4.2 比較運算子
16.4.3 邏輯運算子
16.4.4 正則表示式查詢
16.4.5 跳過查詢
16.5 C#操作GridFS
16.5.1 上傳檔案
16.5.2 查詢資料
16.5.3 下載檔案
16.5.4 刪除資料
16.6 本章小結

相關推薦

梳理mongodb相關知識---分散式資料庫

mongodb 《mongodb》是2013年中國鐵道出版社出版的圖書,作者是鄒貴金。該書介紹了MongoDB基礎、應用、管理、效能優化、資料庫的架構,環境搭建例項,程式設計例項等內容。 書 名 mongodb 作 者 鄒貴金 出版社中國鐵道出

梳理Hbase相關知識---分散式資料庫

HBase 本詞條由“科普中國”百科科學詞條編寫與應用工作專案 稽核 。 HBase是一個分散式的、面向列的開源資料庫,該技術來源於 Fay Chang 所撰寫的Google論文“Bigtable:一個結構化資料的分散式儲存系統”。就像Bigtable利用了

梳理rabbitmq相關知識---通訊--訊息佇列

rabbitmq 編輯 MQ全稱為Message Queue, 訊息佇列(MQ)是一種應用程式對應用程式的通訊方法。應用程式通過讀寫出入佇列的訊息(針對應用程式的資料)來通訊,而無需專用連線來連結它們。訊息傳遞指的是程式之間通過在訊息中傳送資料進行通訊,而不是

梳理UML相關知識-------建模使用

統一建模語言 編輯 同義詞 UML(統一建模語言)一般指統一建模語言 本詞條由“科普中國”百科科學詞條編寫與應用工作專案 稽核 。 Unified Modeling Language (UML)又稱統一建模語言或標準建模語言,是始於1997年一個OMG標準

梳理Flume相關知識---資料採集

flume Flume是Cloudera提供的一個高可用的,高可靠的,分散式的海量日誌採集、聚合和傳輸的系統,Flume支援在日誌系統中定製各類資料傳送方,用於收集資料;同時,Flume提供對資料進行簡單處理,並寫到各種資料接受方(可定製)的能力。 當前F

梳理mysql相關知識---資料庫

MySQL資料庫 編輯 MySQL是一種開放原始碼的關係型資料庫管理系統(RDBMS),MySQL資料庫系統使用最常用的資料庫管理語言–結構化查詢語言(SQL)進行資料庫管理。 中文名 MySQL資料庫 類 型開放原始碼的關係型 說 明資料庫管理

梳理Nginx(7層)相關知識---反向代理以及負載均衡

nginx 編輯 Nginx (“engine x”) 是一個高效能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP伺服器。Nginx是由Igor Sysoev為俄羅斯訪問量第二的Rambler.ru站點開發的,第一個公開版本0.1.0釋出於2

梳理servlet知識---javaweb基礎

servelt 是用java程式編寫的伺服器端程式,其主要功能是互動地瀏覽和修改資料(查詢和修改)。狹義說的是介面,廣義是指實現該介面的servlet類。 響應任何型別的請求,但是絕大數情況被用來 擴充套件基於HTTP協議的web伺服器的效

深圳紐仕達家可信嗎?

多個 90後 html5 網頁設計 實現 電商 店鋪 同時 資源 電商行業越發而壯大,很多傳統行業都跑來做電商,在“魚龍混雜”的商業世界,我們要懂得分清誰才是“龍”,如此才能節約資源,上升到絕佳境界,從而獲得實在的東西,深圳電商之家帶你看清電商的真面目。 ? ? ? ?先了

專案day01(dubbo+ssm搭建分散式運用)

一、網際網路和傳統專案的區別 傳統專案   企業內部管理系統             OA 辦公自動化系統         CRM

演算法與資料結構堆的相關知識,簡單易懂。

十、 二叉堆之Java的實現 1) 概要 前面分別通過C和C++實現了二叉堆,本章給出二叉堆的Java版本。還是那句話,它們的原理一樣,擇其一瞭解即可。 目錄 1. 二叉堆的介紹 2. 二叉堆的圖文解析 3. 二叉堆的Java實現(完整原始碼) 4. 二叉堆的Java測試程式

團購與B2C模式以及B2B2C模式對比

一、概述 1、代表性的網站 團購的代表性網站莫過於國外的groupon和國內的“聚划算”這兩個網站。核心模式就是針對某個產品多人下訂單,達到一定訂單數,就以一個特定的價格(不一定是最低的價格...)給所有買家發貨。如果沒達到團購的條件,那麼錢將會退回買家的賬戶中,此產品的團

演算法與資料結構圖的相關知識,簡單易懂。

一、    圖的理論基礎 1)  概要 本章介紹資料結構中圖的基本概念。 目錄 1. 圖的基本概念 2. 圖的儲存結構 2)  圖的基本概念 1. 圖的定義 定義:圖(graph)是由一些點(vertex)和這些點之間的連線(edge)所組成的;其中,點通常被

專案實戰 搜尋記錄+清空+資料庫 自定義view

主頁面 initView();//初始化控制元件 dataBase = new FlowDataBase(this); List<String> list = dataBase.query(); for (int i = 0; i <

Java企業級專案架構演進路 Tomcat叢集與Redis分散式分享

第1章 課程介紹與前置專案回顧【配合一期課程,效果最佳】 本章首先會對一期成果進行回顧、然後確定本次進階課程的演進目標以及進階課程的內容安排。然後會介紹課程使用各種技術版本,以方便大家的環境和課程保持一致,減少因版本不同而踩的沒必要的坑。之後會對二期專案初始化進行講解,包括IDEA中匯入二期原

[資料倉庫]核心業務知識訂單商品模組

電商核心業務知識 訂單商品模組(9張表) --訂單主要資訊表 drop table if exists itqsc.ods_b2c_orders; create external table itqsc.ods_b2c_orders ( order_id  bigint, -

Java企業級專案架構演進路 Tomcat叢集與Redis分散式

6-1 本章概要 6-2 使用者模組一期回顧與二期任務 6-3 Redis連線池構建與測試-1 6-4 Redis連線池構建與測試-2 6-5 Jedis api封裝與除錯 6-6 Jsonutil 封裝及除錯-1 6-7 Jsonutil 封裝及除錯-2 6-8 Jsonutil

Java企業級專案架構演進路 Tomcat叢集與Redis分散式教程

高併發、高效能、高可用必經之路,基於一個完整電商專案進行架構演進,覆蓋Tomcat叢集+Nginx負載均衡+Redis分散式等核心技能點。第1章 課程介紹與前置專案回顧【配合一期課程,效果最佳】1-1 課程導學1-2 大型Java專案架構演進解析(學過一期的同學可跳過)1-3 一期課程與問答服務回顧(學過一期

萬物皆可,生鮮的坎坷

生鮮電商  雖然現在還沒達到萬物皆可電商的地步,但是一些電商平臺確實是以此為目標向前邁步。而作為實現這個目標的非常重要的一步,就是生鮮。例如最近的大櫻桃不是到季節了嘛,各個電商大企業便開始用其“練手”。  ▲順豐航空的櫻桃專機,一架波音737貨機正在裝載櫻桃。供圖/東方IC  首先,軟件產品網要給大家普及一下

分布式架構設計平臺

用戶服 base 介紹 val 重要 本地 交互 pac 一定的 分布式架構設計之電商平臺 何為軟件架構?不同人的答案會有所不同,而我認為一個好的軟件架構除了要具備業務功能外,還應該具備一定的高性能、高可用、高伸縮性及可拓展等非功能需求。而軟件架構是由業務架構和技術架構