亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQLite > 正文

VoltDB內存數據庫分析

2020-01-25 19:29:26
字體:
來源:轉載
供稿:網友

引子

VoltDB是一個宣稱性能超過Mysql 100倍的新型數據庫。它源自Micheal Stonebraker一篇論文H-Store。在這篇論文發表后,Stonebraker成立了VoltDB公司帶著他的一些學生開始在OLTP數據庫領域打拼。Stonebraker從上世紀70年代——數據庫剛開始發展的時間——就開始在數據庫領域活躍,這樣的老古董提出的數據庫的新想法,給了整個存儲領域很大的想象空間。

VoltDB源起于應用領域與硬件發展翻天覆地的變化。用戶的使用方法發生了變化,在數據庫開始發展的階段,事務是一個較長的過程,用戶或者管理員可以在”BEGIN TRANSACTION”和”END TRANSACTION”之間慢慢地人工執行整個事務的步驟。但是現在,大部分操作是由Web服務端發起的書寫良好的事務,用戶訪問的是Web服務器,在Web服務器的執行邏輯里再訪問數據庫,所以即使是很復雜的事務也可以很快執行完。計算機硬件的發展更是一日千里。幾十GB的內存服務器已經很常見。以太網絡也已經步入Gbps時代,而且正在朝向10Gbps方向邁進?;谝蕴W的集群的機器價格也降低到比PC機貴不了太多。VoltDB的設計充分利用了這些特點,數據主要存儲在內存中,Shared Nothing的集群結構,單機是單線程處理事務,不是用鎖而是基于Optimistic的方法處理事務并發,所有的事務必須以存儲過程形式先提交到VoltDB系統。下面分開來說。

事務提交

既需要支持復雜的事務操作,又需要快速的執行過程,VoltDB采取了一個比較極端的事務提交方式。雖然VoltDB支持部分SQL語句接口,但是不允許用戶使用傳統的”BEGIN TRANSACTION”和”END TRANSACTION”的語法模式,而是完全基于存儲過程。用戶通過寫存儲過程完成應用程序的邏輯,作為一個先置條件將存儲過程提交到VoltDB。運行時,用戶程序調用存儲過程完成事務操作,所有事務的運行邏輯是由VoltDB在服務器進程中完成的。這種方式保證了事務不會被人為打斷,并且服務器可以預先判斷各個事務的邏輯,也為事務并發處理挖掘信息。

數據分布

VoltDB使用Shared Nothing結構,整個數據庫的數據分散到集群的多臺機器上。VoltDB的數據分布策略是基于哈希的,存儲在VoltDB中的每一張表,對數據的主鍵哈希取模后的結果對應于數據存儲的節點。相比較于BigTable基于主鍵的連續范圍分段的方法,哈希方法的好處是數據分散的均勻,沒有動態數據調整的煩惱。但也有很多缺點,采用這種方法后,集群的規模是事先確定好的,新增機器需要停止服務后重新分布數據。另外,數據哈希被分散后,數據的連續性被打亂了,在這個數據結構上做范圍查詢需要動用服務這張表的所有機器,這個后面會祥說。

VoltDB內存數據庫分析

上面這張圖描述了數據的分布方式,VoltDB集群的每臺機器都會服務多張表。從圖里還能看到VoltDB的數據復制是基于機器單位的,藍色框圈住的兩臺機器內的數據是完全同構的。

VoltDB的哈希分布數據的方法是系統設計的簡化,這種簡化讓VoltDB工程實現難度降低,可以快速的商用。天下沒有免費的午餐,這個設計也是VoltDB功能缺陷,導致VoltDB無法動態擴容以及其他一些問題。

數據一致性

同一份數據的多個副本之間需要保證數據一致性,VoltDB采用所有修改操作在每一個副本上單獨更新的方式。如何保證更新操作在所有副本上以相同的順序更改而不至于產生不一致,這就要提到VoltDB的并發控制方式。

VoltDB的事務并發控制需要依賴于集群內所有機器的時間是一致的,這個可以使用NTP之類的時間同步協議,保證機器之間的時間差異遠遠小于一個交換機下的兩臺機器之間的Round Trip時間。VoltDB對于用戶每一次事務的調用分配一個時間戳,并且保證這個時間戳是全局有序的,雖然時間戳是由集群中的各臺機器獨自分配的,但是加上機器的序號,可以保證(機器序號,時間戳)的組合值是全局有序的。一臺服務器執行事務之前,需要等待Round Trip時間后,如果其他機器沒有開始比自己更早的事務,那么就執行自己的事務。以這種方式保證集群內多臺機器之間事務的有序。數據的多個副本的更新操作也都以相同的順序進行修改,所有副本之間保證了一致性。

事務并發處理

為了充分發揮多核機器的性能,而又不引入多線程執行事務的復雜性,VoltDB的數據分片規模是按照集群核數來劃分的。一臺物理機器上可能運行多個VoltDB服務器進程,每個進程對應于一個核,服務器進程之間都是通過網絡進行通信。在單個進程內,只使用單線程,所有的事務執行都是順序進行的。

多個事務在多個服務器節點同時執行,VoltDB保證如果事務之間有沖突,那么事務的執行是完全隔離的,即達到SERIALIZABLE ISOLATION。VoltDB會事先分析好存儲過程之間的關系,如果兩個事務可能存在沖突,則不讓這兩個進程在同一個時間執行。

在VoltDB的并發處理中,每一個事務在執行之前都要等待一個Round Trip時間,顯然會增加事務執行的時延。這么做是為了確保別的節點沒有發起比這個事務更早的事務,保證事務執行的順序。在實現中,VoltDB用了另外一種優化方法。例如A,B兩個節點,分別要執行事務1和2,A節點開始執行事務1的時間是T1,如果A收到B發了事務2的執行需求,并且T2 > T1,那么A節點可以確認從B節點不會有更早的事務再發送過來,A節點就不必等Round Trip時間,可以直接執行事務1。當整個系統壓力比較大時,這個優化方法效果尤其明顯,事務的時延有效降低。

VoltDB還花了很大精力在處理事務之間的邏輯關系,盡可能對事務分門別類進行處理,以期獲得更好的性能。

范圍查詢的處理

VoltDB取巧的采用的哈希的方法做數據分布,在面對范圍查詢的需求時,再次吃到苦果。哈希方法打亂了數據的連續性,對于范圍查詢的處理能力顯著下降。VoltDB執行某張表的范圍查詢,需要發送這個查詢到這張表的所有數據分片上。在所有分片完成同樣的范圍查詢,再將結果匯總,才能得到全局的準確結果。所以VoltDB處理范圍查詢會很低效

數據持久化

雖然Stonebraker在H-Store的論文里反復提到,在內存型數據庫里,即使使用Group Commit寫操作日志也是非常低效的,但是為了保證數據的持久性,VoltDB還是不得不采用記操作日志的辦法。VoltDB使用定期做Snapshot加上記操作日志來保證數據持久性,這種方法沒有什么特別的地方。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
懂色av影视一区二区三区| 国产精品精品视频一区二区三区| 亚洲欧洲在线免费| 91免费国产视频| 欧美激情视频网| 亚洲精品自拍偷拍| 91国产视频在线播放| 日韩精品极品在线观看播放免费视频| 久久久久久久影院| 国产日韩在线精品av| 日韩精品极品在线观看播放免费视频| 日韩视频免费看| 亚洲欧美一区二区激情| 国产精品亚洲激情| 国产丝袜一区二区三区免费视频| 精品网站999www| 亚洲欧美综合图区| 亚州av一区二区| 精品国模在线视频| 亚洲a成v人在线观看| 亚洲福利视频久久| 亚洲区中文字幕| 亚洲精品不卡在线| 欧美极度另类性三渗透| 一区二区成人精品| 久久中文字幕视频| 亚洲天堂免费在线| 国产精品精品久久久久久| 在线观看欧美日韩| 操91在线视频| 91手机视频在线观看| 精品夜色国产国偷在线| 国产伦精品一区二区三区精品视频| 中文字幕一区电影| 91av免费观看91av精品在线| 91黑丝高跟在线| 国产成人精品在线观看| 国产精品2018| 欧美不卡视频一区发布| 国产一区二区三区网站| 亚洲女人天堂视频| 欧美性猛交xxxx偷拍洗澡| 日韩一区二区av| 视频在线观看99| 55夜色66夜色国产精品视频| 青青a在线精品免费观看| 久久在线免费观看视频| 色噜噜亚洲精品中文字幕| 一区二区三区黄色| 国产噜噜噜噜噜久久久久久久久| 中文字幕av一区二区三区谷原希美| 中文欧美日本在线资源| 91精品国产777在线观看| 亚洲精品成a人在线观看| 欧美日韩国产成人在线| 亚洲精品国偷自产在线99热| 91在线观看免费高清| 韩国视频理论视频久久| 国产精品wwwwww| 日韩在线一区二区三区免费视频| 在线视频欧美日韩| 在线视频日韩精品| 亚洲男女自偷自拍图片另类| 久久天堂av综合合色| 欧美最顶级丰满的aⅴ艳星| 欧美夫妻性生活xx| 欧美成aaa人片在线观看蜜臀| 欧美一级视频免费在线观看| 久久久国产一区二区三区| 国产亚洲精品久久久久久牛牛| 成人激情黄色网| 青青在线视频一区二区三区| 日本一本a高清免费不卡| 久久久国产精彩视频美女艺术照福利| 一本色道久久88综合日韩精品| 亚洲国产婷婷香蕉久久久久久| 国产91在线播放精品91| 成人精品一区二区三区电影免费| 91av视频导航| 成人免费在线视频网站| 亚洲第一页中文字幕| 欧美午夜丰满在线18影院| 91香蕉嫩草神马影院在线观看| 欧美精品18videosex性欧美| 国产丝袜精品视频| 亚洲欧美色婷婷| 欧美乱大交做爰xxxⅹ性3| 精品国内亚洲在观看18黄| 国产成人精品久久二区二区| 国产综合香蕉五月婷在线| 91av视频在线| 性欧美在线看片a免费观看| 日韩一级黄色av| 26uuu日韩精品一区二区| 欧美在线视频免费观看| 国产精品久久久久久av| 久久夜色精品国产亚洲aⅴ| 高跟丝袜欧美一区| 97国产一区二区精品久久呦| 伊人伊人伊人久久| 久久在线免费观看视频| 欧美小视频在线观看| 久久在线观看视频| 国内精品久久久久久久| 美日韩精品免费视频| 亚洲国产日韩欧美在线图片| 国产成人小视频在线观看| 91精品国产高清久久久久久久久| 色综合久久天天综线观看| 91久久中文字幕| 最近2019年手机中文字幕| 亚洲精品久久久久中文字幕二区| 久久久999精品视频| 亚洲一区二区国产| 国产精品情侣自拍| 国产日韩精品入口| 亚洲国产97在线精品一区| 69影院欧美专区视频| 欧美日韩成人在线观看| 最近2019中文字幕一页二页| 欧美电影免费在线观看| 亚洲xxxx做受欧美| 欧美风情在线观看| 亚洲aa在线观看| 热99久久精品| 国产精自产拍久久久久久| 精品小视频在线| 亚洲男子天堂网| 亚洲自拍偷拍色图| 中文字幕亚洲无线码在线一区| 久久成人综合视频| 久久人人爽亚洲精品天堂| 不卡在线观看电视剧完整版| 亚洲图片在区色| 日韩在线免费观看视频| 国产精品久久久久久久久久久久久| 一级做a爰片久久毛片美女图片| 国产性色av一区二区| 高清日韩电视剧大全免费播放在线观看| 91探花福利精品国产自产在线| 超碰97人人做人人爱少妇| 亚洲视频axxx| 久久视频在线直播| 久久人人爽人人爽人人片av高请| 日韩中文字幕在线看| 国产精品丝袜视频| 欧美极品欧美精品欧美视频| 国产成人精品电影久久久| 国产成人精品a视频一区www| 国产福利精品av综合导导航| 色爱av美腿丝袜综合粉嫩av| 国产免费一区二区三区在线观看| 国产69精品久久久| 97久久精品视频| 欧美另类极品videosbest最新版本| 国产精品久久一区主播| 午夜精品在线视频| 国产亚洲精品久久久久动| 国内免费久久久久久久久久久| 日韩在线视频播放| 国产伊人精品在线| 久久久精品视频在线观看| 日韩成人免费视频| 亚洲夜晚福利在线观看|