< 返回新聞公共列表

恒訊科技全方位介紹:什么是MemSQL?

發(fā)布時間:2022-05-24 14:19:23

今天,恒訊科技小編將在本文中全方位給大家介紹什么是MemSQL?MemSQL 是一個基于 SQL 的分布式數(shù)據(jù)庫管理系統(tǒng)。2013 年 4 月 23 日,MemSQL 向公眾發(fā)布了其第一個普遍可用的數(shù)據(jù)庫版本。


MemSQL  .png


為了處理高度易變的工作負載,MemSQL 結(jié)合了無鎖數(shù)據(jù)結(jié)構(gòu)和即時編譯 (JIT)。更具體地說,MemSQL 在內(nèi)存中實現(xiàn)了無鎖哈希表和無鎖跳過列表,以實現(xiàn)對數(shù)據(jù)的快速隨機訪問。發(fā)送到 MemSQL 服務(wù)器的 SQL 查詢被轉(zhuǎn)換為字節(jié)碼,并通過 LLVM 編譯成機器碼。然后查詢的參數(shù)被剝離,查詢模板存儲為共享對象,隨后與傳入的查詢進行匹配。執(zhí)行預(yù)編譯的查詢計劃消除了沿熱代碼路徑的解釋,提供了高效的代碼路徑,最大限度地減少了處理 SQL 語句所需的中央處理單元 (CPU) 指令的數(shù)量。


MemSQL 可以將數(shù)據(jù)庫表存儲為行存儲或列存儲。使用的格式由用戶確定為 DDL 時間(即創(chuàng)建表的時間)。所有行存儲表的數(shù)據(jù)都完全存儲在內(nèi)存中,快照和事務(wù)日志保存在磁盤上。所有列存儲表的數(shù)據(jù)都存儲在磁盤上,使用類似行存儲的結(jié)構(gòu)來處理傳入列存儲的插入


MemSQL 數(shù)據(jù)庫是使用聚合器和葉節(jié)點實現(xiàn)的分布式數(shù)據(jù)庫。用于聚合器和葉節(jié)點的 MemSQL 二進制文件幾乎相同,唯一的區(qū)別是用戶將節(jié)點標識為聚合器或葉。聚合器負責接收 SQL 查詢,跨葉節(jié)點分解它們,并將結(jié)果聚合回客戶端。葉節(jié)點存儲 MemSQL 數(shù)據(jù)并處理來自聚合器的查詢。聚合器和葉節(jié)點之間的所有通信都是通過 SQL 語法在網(wǎng)絡(luò)上完成的。MemSQL 使用散列分區(qū)將數(shù)據(jù)均勻地分布在多個葉節(jié)點上。


MemSQL 的內(nèi)存行存儲和磁盤列存儲的持久性略有不同。內(nèi)存行存儲的持久性是通過預(yù)寫日志和快照實現(xiàn)的,類似于檢查點。使用默認設(shè)置,一旦事務(wù)在內(nèi)存中得到確認,數(shù)據(jù)庫就會以磁盤允許的速度將事務(wù)異步寫入磁盤。磁盤上的列存儲實際上是由一個類似內(nèi)存行存儲的結(jié)構(gòu)(skiplist)前面的。這種結(jié)構(gòu)具有與 MemSQL 行存儲相同的持久性保證。除此之外,列存儲是持久的,因為它的數(shù)據(jù)存儲在磁盤上。


可以在“高可用性”模式下配置 MemSQL 集群,其中每個數(shù)據(jù)分區(qū)都會在兩個單獨的葉節(jié)點上自動創(chuàng)建主版本和從版本。在高可用性模式下,聚合器將事務(wù)發(fā)送到主分區(qū),然后主分區(qū)將日志發(fā)送到從分區(qū)。如果主分區(qū)發(fā)生意外故障,則從分區(qū)在完全在線操作中接管為主分區(qū)。


MemSQL 附帶一個名為 MemSQL Ops 的安裝、管理和監(jiān)控工具。在安裝 MemSQL 時,Ops 可用于跨機器設(shè)置分布式 MemSQL 數(shù)據(jù)庫,并提供有關(guān)運行系統(tǒng)的指標。MemSQL Ops 具有 Web 用戶界面和命令行界面。從 2015 年 9 月推出的 MemSQL 4.1 開始,MemSQL 讓用戶能夠安裝 Apache Spark 作為 MemSQL 集群的一部分,并使用 Spark 作為 ETL 工具將數(shù)據(jù)導(dǎo)入 MemSQL。Apache Spark 使用 MemSQL Ops 以交互方式安裝和設(shè)置。然后,Ops 用戶可以定義其數(shù)據(jù)管道的提取、轉(zhuǎn)換和加載階段,以將數(shù)據(jù)導(dǎo)入 MemSQL。運行數(shù)據(jù)管道的管理和監(jiān)控可以在 Ops UI 中完成。MemSQL 在新技術(shù)的誕生上蓬勃發(fā)展。


綜上所述,是“什么是MemSQL?”的相關(guān)內(nèi)容。希望今天小編全方位分享的內(nèi)容能給大家?guī)韼椭?/p>



/template/Home/Zkeys724/PC/Static