一、數(shù)據(jù)庫(kù)連接
原理上和網(wǎng)站的一個(gè)session差不多吧,只不過session是把key放在cookie里面,數(shù)據(jù)庫(kù)連接是把key放在客戶端的library的內(nèi)存里(比如.Net Sql Client)。對(duì)MS SQL來說,這個(gè)連接的協(xié)議叫TDS,底下可以走多種傳輸層協(xié)議,比如tcpip,也可以named pipe。而MySQL就又有自己的協(xié)議。
當(dāng)然在拿到key之前,先要走個(gè)authentication過程,比如Windows Authentication或者Sql authentication,過了authentication才會(huì)產(chǎn)生一個(gè)session key。如果是啟用SSL的話那么整個(gè)連接上的數(shù)據(jù)流還會(huì)被加密,防止信息泄露或者中間人攻擊。
通俗來講,會(huì)話(Session) 是通信雙方從開始通信到通信結(jié)束期間的一個(gè)上下文(Context)。這個(gè)上下文是一段位于服務(wù)器端的內(nèi)存:記錄了本次連接的客戶端機(jī)器、通過哪個(gè)應(yīng)用程序、哪個(gè)用戶登錄等信息.
連接(Connection):連接是從客戶端到ORACLE實(shí)例的一條物理路徑。連接可以在網(wǎng)絡(luò)上建立,或者在本機(jī)通過IPC機(jī)制建立。通常會(huì)在客戶端進(jìn)程與一個(gè)專用服務(wù)器或一個(gè)調(diào)度器之間建立連接。
會(huì)話(Session) 是和連接(Connection)是同時(shí)建立的,兩者是對(duì)同一件事情不同層次的描述。簡(jiǎn)單講,連接(Connection)是物理上的客戶端同服務(wù)器的通信鏈路,會(huì)話(Session)是邏輯上的用戶同服務(wù)器的通信交互。
ORACLE中一個(gè)用戶登錄ORACLE服務(wù)器的前提,就是該用戶具有ORACLE的 “CREATE SESSION”權(quán)限。ORACE允許同一個(gè)用戶在同一個(gè)客戶機(jī)上建立多個(gè)同服務(wù)器的會(huì)話,每個(gè)SESSION都代表了用戶與服務(wù)器的一個(gè)交互。就像你用IE瀏覽器打開博客園網(wǎng)站,然后你再打開一個(gè)IE窗口,又打開一個(gè)博客園網(wǎng)站。兩個(gè)IE窗口就相當(dāng)于兩個(gè)SESSION, 而物理鏈路就相當(dāng)于連接(Connection)。后臺(tái)進(jìn)程PMON會(huì)每隔一段時(shí)間,就會(huì)檢測(cè)用戶連接狀況,如果連接已斷開,PMON會(huì)清理現(xiàn)場(chǎng),釋放相關(guān)的資源。
在一條連接而無相應(yīng)的會(huì)話。另外,一個(gè)會(huì)話可以有連接也可以沒有連接。使用高級(jí)Oracle Net特性(如連接池)時(shí),客戶可以刪除一條物理連接,而會(huì)話依然保留(但是會(huì)話會(huì)空閑)。客戶在這個(gè)會(huì)話上執(zhí)行某個(gè)操作時(shí),它會(huì)重新建立物理連接。
在專用服務(wù)器中,一個(gè)會(huì)話對(duì)應(yīng)一個(gè)服務(wù)器進(jìn)程(Process),如果數(shù)據(jù)庫(kù)運(yùn)行在共享服務(wù)器方式,一個(gè)服務(wù)器進(jìn)程可以為多個(gè)會(huì)話服務(wù)。
延伸閱讀:
二、什么是CDC
CDC是(Change Data Capture 變更數(shù)據(jù)獲取)的簡(jiǎn)稱。
核心思想是,監(jiān)測(cè)并捕獲數(shù)據(jù)庫(kù)的變動(dòng)(包括數(shù)據(jù) 或 數(shù)據(jù)表的插入INSERT、更新UPDATE、刪除DELETE等),將這些變更按發(fā)生的順序完整記錄下來,寫入到消息中間件中以供其他服務(wù)進(jìn)行訂閱及消費(fèi)。
CDC 技術(shù)應(yīng)用場(chǎng)景也非常廣泛,包括:
數(shù)據(jù)分發(fā),將一個(gè)數(shù)據(jù)源分發(fā)給多個(gè)下游,常用于業(yè)務(wù)解耦、微服務(wù)。
數(shù)據(jù)集成,將分散異構(gòu)的數(shù)據(jù)源集成到數(shù)據(jù)倉(cāng)庫(kù)中,消除數(shù)據(jù)孤島,便于后續(xù)的分析。
數(shù)據(jù)遷移,常用于數(shù)據(jù)庫(kù)備份、容災(zāi)等。