原创 《MySQL技術內幕-InnoDB存儲引擎》整理6-事務

一、認識事務 1、概述 A(Atomicity)原子性:原子性是指數據庫事務是不可分割的工作單位,只有使事務中所有的數據庫操作都執行成功,纔算整個事務成功,事務中任何一個SQL語句執行失敗,已經執行成功的SQL語句也必須撤銷,數據庫狀態應

原创 《MySQL技術內幕-InnoDB存儲引擎》整理5-鎖

一、什麼是鎖 鎖機制用於管理對共享文件的併發訪問,並提供數據的完整性和一致性。對於MyISAM引擎,其鎖是表鎖結構,在併發情況下讀沒有問題,但是併發插入時性能較差。而對於Microsoft SQL Server,在樂觀併發下支持行級鎖,但是

原创 # 《MySQL技術內幕-InnoDB存儲引擎》整理4-索引與算法

一、InnoDB存儲引擎索引概述 InnoDB存儲引擎支持以下幾種常見的索引:①B+樹索引;②全文索引;③哈希索引 InnoDB存儲引擎支持的哈希索引是自適應的,InnoDB存儲引擎會根據表的使用情況自動爲表生成哈希索引,不能人爲干預是否在

原创 《MySQL技術內幕-InnoDB存儲引擎》整理3-表

一、索引組織表 在InnoDB存儲引擎中,表都是根據主鍵順序組織存放的,這種存儲方式稱爲索引組織表。如果創建表時沒有顯示地指定主鍵,InnoDB引擎會按照下述規則選擇或創建主鍵:判讀表中是否有非空的唯一索引,有即爲主鍵如果有多個會選擇創建表

原创 《MySQL技術內幕-InnoDB存儲引擎》整理2-文件

一、參數文件 Mysql實例啓動時,數據庫會讀取配置參數文件,用來尋找數據庫各種文件所在位置以及指定某些初始化參數 1、什麼是參數 簡單來說,數據庫參數可以看成一個鍵值對,可以通過命令Show Variables查看數據庫中的所有參數 2、

原创 《RabbitMQ實戰指南》整理(七)網絡分區

一、網絡分區的意義 當一個集羣發生網絡分區時,集羣會分爲兩個部分或者更多,它們各自爲政,互相都認爲對方分區內的節點已經掛了,包括隊列、交換器及綁定等元數據的創建和銷燬都處於自身分區內,與其他分區無關。分區的引入是爲了配合RabbitMQ的數

原创 《RabbitMQ實戰指南》整理(六)跨越集羣與高階應用

RabbitMQ可以通過三種方式進行分佈式部署:集羣、Federation、Shovel,Federation和Shove提供了更高的靈活性,但也提高了部署的複雜性 一、Federation Federation插件設計的目的是使Rabbi

原创 《RabbitMQ實戰指南》整理(五)RabbitMQ運維

一、集羣搭建 RabbitMQ集羣允許消費者和生產者在RabbitMQ單個節點奔潰的情況下繼續運行,它可以通過添加更多的節點來線性地擴展消息通信的吞吐量,當失去一個RabbitMQ節點時,客戶端能夠重新連接到集羣中的任何其他節點並繼續生產或

原创 《RabbitMQ實戰指南》整理(四)RabbitMQ管理和配置

一、多租戶與權限 每一個RabbitMQ服務器都能創建虛擬的消息服務器,我們稱之爲虛擬主機,簡稱vhost,每個vhost本質上是一個獨立的小型RabbitMQ服務器,擁有自己獨立的隊列交換器及綁定關係,並擁有自己獨立的權限。vhost之間

原创 《RabbitMQ實戰指南》整理(三)RabbitMQ進階

一、消息何去何從 mandatory和immediate是channe.BasicPublish方法中的兩個參數,他們都有當消息不可達時將消息返回給生產者的能力。而備份交換器Alternate Exchange可以將未能被交換器路由的消息存

原创 《RabbitMQ實戰指南》整理(二)客戶端開發

書中以Java爲例進行相關簡介,這裏筆者以C#爲例進行相關的說明 一、連接RabbitMQ 如下通過給定的參數進行Rabbit的連接,創建之後Channel就可以用來發送或是接受消息了。需要注意的是Connection可以用來創建多個Cha

原创 《RabbitMQ實戰指南》整理(一)RabbitMQ簡介及入門

一、什麼是消息中間件 消息隊列中間件是指利用高效可靠的消息傳遞機制進行與平臺無關的數據交流,並基於數據通信來進行分佈式系統的集成。它一般有兩種傳遞模式:點對點模式和發佈/訂閱模式。 消息中間件能夠在不同平臺之間進行通信,它常用來屏蔽各種平臺

原创 《計算機網絡 自頂向下方法》整理(六)鏈路層和局域網

一、鏈路層概述 術語定義: 節點:運行鏈路層協議的任何設備均稱爲節點,包括主機、路由器、交換機和WiFi接入點; 鏈路:沿着通信鏈路連接相鄰節點的通信信道稱爲鏈路; 鏈路層幀:在通過特定的鏈路時,傳輸節點將數據報封裝在鏈路層幀中,並將該幀

原创 《計算機網絡 自頂向下方法》整理(五)網絡層:控制平面

一、概述 轉發表和流表的計算、維護、安裝工作有兩種方法: 每臺路由器控制:在每臺路由器中允許一種路由選擇算法,每臺路由器中都包含轉發和路由選擇功能; 邏輯集中式控制:邏輯集中式控制器計算並分發轉發表以供每臺路由器使用; 二、路由選擇算法

原创 《計算機網絡 自頂向下方法》整理(四)網絡層:數據平面

在網絡中的每一臺主機和路由器中都有一個網絡層部分,這裏將網絡層分解爲兩個相互作用的部分,即數據平面和控制平面。數據平面即網絡層中每臺路由器的功能,該數據平面功能決定到達路由器輸入鏈路之一的數據報如何轉發至該路由器的輸出鏈路之一,這裏會涉及傳