十年網站開發(fā)經驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網站問題一站解決
NoSQL(NoSQL = Not Only SQL ),意即"不僅僅是SQL"。
在現代的計算系統(tǒng)上每天網絡上都會產生龐大的數據量。
這些數據有很大一部分是由關系數據庫管理系統(tǒng)(RDBMS)來處理。 1970年 E.F.Codd's提出的關系模型的論文 "A relational model of data for large shared data banks",這使得數據建模和應用程序編程更加簡單。
通過應用實踐證明,關系模型是非常適合于客戶服務器編程,遠遠超出預期的利益,今天它是結構化數據存儲在網絡和商務應用的主導技術。
NoSQL 是一項全新的數據庫革命性運動,早期就有人提出,發(fā)展至2009年趨勢越發(fā)高漲。NoSQL的擁護者們提倡運用非關系型的數據存儲,相對于鋪天蓋地的關系型數據庫運用,這一概念無疑是一種全新的思維的注入。
事務在英文中是transaction,和現實世界中的交易很類似,它有如下四個特性:
1、A (Atomicity) 原子性
原子性很容易理解,也就是說事務里的所有操作要么全部做完,要么都不做,事務成功的條件是事務里的所有操作都成功,只要有一個操作失敗,整個事務就失敗,需要回滾。
比如銀行轉賬,從A賬戶轉100元至B賬戶,分為兩個步驟:1)從A賬戶取100元;2)存入100元至B賬戶。這兩步要么一起完成,要么一起不完成,如果只完成第一步,第二步失敗,錢會莫名其妙少了100元。
2、C (Consistency) 一致性
一致性也比較容易理解,也就是說數據庫要一直處于一致的狀態(tài),事務的運行不會改變數據庫原本的一致性約束。
例如現有完整性約束a+b=10,如果一個事務改變了a,那么必須得改變b,使得事務結束后依然滿足a+b=10,否則事務失敗。
3、I (Isolation) 獨立性
所謂的獨立性是指并發(fā)的事務之間不會互相影響,如果一個事務要訪問的數據正在被另外一個事務修改,只要另外一個事務未提交,它所訪問的數據就不受未提交事務的影響。
比如現在有個交易是從A賬戶轉100元至B賬戶,在這個交易還未完成的情況下,如果此時B查詢自己的賬戶,是看不到新增加的100元的。
4、D (Durability) 持久性
持久性是指一旦事務提交后,它所做的修改將會永久的保存在數據庫上,即使出現宕機也不會丟失。
yum安裝過程
配置YUM源倉庫
cd /etc/yum.repos.d/vim mongodb-org.repo 寫入以下內容 [mongodb-org] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
安裝 yum list yum install mongodb-org -y
基本配置
vim /etc/mongod.conf 修改如下 net: port: 27017 bindIp: 0.0.0.0 /允許所有人訪問 systemctl start mongod.service /啟動服務replication: replSetName: yang /定義復制集名稱 netstat -ntap | grep 27017 /檢測端口是否開啟
多實例操作過程
下面添加2.3.4三個實例
創(chuàng)建新的存放點
mkdir -p /data/mongodb/mongodb{2,3,4} /首先創(chuàng)建數據文件存放位置 mkdir -p /data/mongodb/logs /日志文件存放位置 touch /data/mongodb/logs/mongodb{2,3,4}.log /日志文件 chmod 777 /data/mongodb/logs/*.log /給日志文件加權 cd /data/mongodb/ /記得檢查操作是否奏效 [root@cent mongodb]# ls logs mongodb2 mongodb3 mongodb4 [root@cent mongodb]# cd logs/ [root@cent logs]# ll 總用量 0 -rwxrwxrwx. 1 root root 0 9月 12 09:48 mongodb2.log -rwxrwxrwx. 1 root root 0 9月 12 09:48 mongodb3.log -rwxrwxrwx. 1 root root 0 9月 12 09:48 mongodb4.log
編輯2.3.4的配置文件
vim /etc/mongod2.conf 修改如下 systemLog: destination: file logAppend: true path: /后面的3,4則改為mongodb3.log storage: dbPath: /后面的3,4則改為mongodb3 journal: enabled: true net: port: /后面的3,4則改為27019,27020 bindIp: 0.0.0.0replication: replSetName: yang
啟動與檢測·
開啟服務 [root@cent logs]# mongod -f /etc/mongod2.conf about to fork child process, waiting until server is ready for connections. forked process: 83795child process started successfully, parent exiting[root@cent logs]# mongod -f /etc/mongod3.conf about to fork child process, waiting until server is ready for connections. forked process: 83823child process started successfully, parent exiting[root@cent logs]# mongod -f /etc/mongod4.conf about to fork child process, waiting until server is ready for connections. forked process: 83851child process started successfully, parent exiting[root@cent logs]# netstat -ntap /檢測端口,分別看到27017,18,19,20Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 83597/mongod tcp 0 0 0.0.0.0:27018 0.0.0.0:* LISTEN 83795/mongod tcp 0 0 0.0.0.0:27019 0.0.0.0:* LISTEN 83823/mongod tcp 0 0 0.0.0.0:27020 0.0.0.0:* LISTEN 83851/mongod tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 745/rpcbind tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 4548/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1199/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1202/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2997/master tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 21813/sshd: root@pt tcp 0 0 192.168.137.11:22 192.168.137.1:50063 ESTABLISHED 21813/sshd: root@pt tcp6 0 0 :::111 :::* LISTEN 745/rpcbind tcp6 0 0 :::22 :::* LISTEN 1199/sshd tcp6 0 0 ::1:631 :::* LISTEN 1202/cupsd tcp6 0 0 ::1:25 :::* LISTEN 2997/master tcp6 0 0 ::1:6010 :::* LISTEN 21813/sshd: root@pt
登陸測試
[root@cent logs]# mongo --port 27019 /指定端口登陸 MongoDB shell version v3.6.7 connecting to: mongodb://127.0.0.1:27019 /MongoDB server version: 3.6.7 >
完成!
另外有需要云服務器可以了解下創(chuàng)新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。