Buffer表引擎介紹

Buffers 表引擎將緩沖數(shù)據(jù)寫入內(nèi)存,周期性刷新數(shù)據(jù)到目標(biāo)表. 當(dāng)進(jìn)行讀操作時(shí)测柠,數(shù)據(jù)從緩沖區(qū)讀出,同時(shí)寫入到另一張表少办。

Buffer(database, table, num_layers, min_time, max_time, min_rows, max_rows, min_bytes, max_bytes)

Engine 參數(shù):database, table – 此表是刷新數(shù)據(jù)的目標(biāo)表店煞。與數(shù)據(jù)庫名不同, 你能夠使用常量表達(dá)式蟹演,返回一個(gè)string.num_layers – 并行處理層. 從物理上講,此表將被表示為 'num_layers' 獨(dú)立緩沖層數(shù)顷蟀。推薦值為: 16.min_time, max_time, min_rows, max_rows, min_bytes, 和max_bytes 是從緩沖區(qū)刷新數(shù)據(jù)的條件.

在Buffer中緩沖的數(shù)據(jù)寫入到目標(biāo)表酒请,如果所有的 'min'條件或最少的一個(gè) 'max' 條件是 met.min_time, max_time – 是從第一次寫入到 buffer.min_rows時(shí)開始計(jì)時(shí)的秒數(shù)max_rows – 在 buffer.min_bytes中的行數(shù), max_bytes – 在緩沖區(qū)中字節(jié)的最大數(shù)量.

在寫操作的過程中,數(shù)據(jù)被插入到一個(gè) 隨機(jī)緩沖區(qū)的 'num_layers' 數(shù)量. 或者鸣个,如果插入的數(shù)據(jù)部分足夠大 (> 'max_rows' 或者 'max_bytes'),? 它將直接寫入到目標(biāo)表, 忽略緩沖區(qū).

刷新數(shù)據(jù)單獨(dú)被計(jì)算為每個(gè) 'num_layers' 緩沖區(qū). 例如, 如果num_layers = 16 和 max_bytes = 100000000, 最大 RAM 消耗是 1.6 GB.

CREATE TABLE merge.hits_buffer AS merge.hits ENGINE = Buffer(merge, hits, 16, 10, 100, 10000, 1000000, 10000000, 100000000)

創(chuàng)建一個(gè) 'merge.hits_buffer' 表與'merge.hits'具有相同的表結(jié)構(gòu)羞反,同時(shí)使用 Buffer 引擎. 當(dāng)寫入到此表后, 數(shù)據(jù)將被緩沖到 RAM 中,然后寫入到 'merge.hits' 表中. 16 緩沖區(qū)將被創(chuàng)建囤萤。 每個(gè)緩沖區(qū)中的數(shù)據(jù)將被刷新昼窗,每過100秒,或每寫入100萬條數(shù)據(jù), 或者每寫入100 MB 數(shù)據(jù); 或者如果同時(shí)寫入10 秒涛舍, 10,000條和 10 MB 數(shù)據(jù)澄惊。 例如,如果一行已經(jīng)被寫入 富雅,在100秒后掸驱,它將被刷新。 但是如果多行已經(jīng)被寫入没佑,數(shù)據(jù)將稍微延遲刷新毕贼。

當(dāng)服務(wù)器停止后,DROP TABLE 或 DETACH TABLE, 緩存數(shù)據(jù)也刷新到目標(biāo)表蛤奢。

你能夠在單引號(hào)標(biāo)記上設(shè)置空字符串對于數(shù)據(jù)庫和表名稱鬼癣。 它提示了缺乏一個(gè)目標(biāo)表。在這種情況下, 當(dāng)數(shù)據(jù)刷新條件達(dá)到后远剩,緩沖區(qū)將被清空扣溺。在內(nèi)存中維護(hù)一個(gè)數(shù)據(jù)窗口是必要的。

當(dāng)從一個(gè)緩沖表中讀取數(shù)據(jù)時(shí)瓜晤,數(shù)據(jù)同時(shí)在緩沖表和目標(biāo)表中處理锥余。注意:緩沖表不支持一個(gè)索引。換句話說痢掠,在緩沖區(qū)的數(shù)據(jù)被全表掃描驱犹,對于大的緩沖區(qū)速度將是慢的。(在次級(jí)表中足画,支持的索引將被引用 )

如果在緩沖表中的列集合不能匹配次級(jí)表的列集合, 在2張表中同時(shí)存在的列子集將被插入雄驹。

如果此類型不匹配緩沖表中的列和次級(jí)表的列,則一個(gè)錯(cuò)誤信息將被寫入到服務(wù)器日志中淹辞,緩沖將被清空医舆。當(dāng)緩沖表刷新時(shí),次級(jí)表不存在,則同樣的錯(cuò)誤信息也被寫入到服務(wù)器日志中蔬将。

如果你需要在緩沖表和次級(jí)表中執(zhí)行ALTER語句爷速,我們推薦先刪除緩沖表,然后在次級(jí)表上執(zhí)行ALTER語句霞怀,再創(chuàng)建緩沖表惫东。

如果服務(wù)器出現(xiàn)異常重啟,在緩沖中的數(shù)據(jù)將丟失毙石。

對于緩沖表來說廉沮,PREWHERE, FINAL 和 SAMPLE 不能正常運(yùn)行。這些條件將被傳給目標(biāo)表徐矩,而在緩沖表中不用于處理數(shù)據(jù)滞时。因此, 我們推薦僅使用緩沖表來寫入數(shù)據(jù), 次級(jí)表來讀取數(shù)據(jù)丧蘸,從而實(shí)現(xiàn)讀寫分離漂洋。

當(dāng)數(shù)據(jù)加載到一個(gè)緩沖中后遥皂,一個(gè)緩存將被鎖定力喷。如果在此表上同時(shí)執(zhí)行讀數(shù)據(jù)操作,則將有一定的延時(shí)演训。

插入到一個(gè)緩沖表的數(shù)據(jù)可能以其他的順序和其他的數(shù)據(jù)塊落地到次級(jí)表弟孟。因此,一個(gè)緩存表難以正確地寫入一個(gè) CollapsingMergeTree 表. 為了避免此類問題, 你可以設(shè)置 'num_layers' 到 1样悟。

如果目標(biāo)表是同步的, 一些復(fù)制表的特性將丟失拂募,當(dāng)寫入到緩沖表時(shí)。隨機(jī)改變行的順序和數(shù)據(jù)的大小導(dǎo)致數(shù)據(jù)重復(fù)數(shù)據(jù)刪除窟她,退出工作陈症,意思是不可能有一個(gè)可靠的'exactly once' 寫入到復(fù)制表。

由于上述的劣勢, 我們僅推薦使用一個(gè)緩沖表在特定的場景震糖。

當(dāng)從大量服務(wù)器接收過來太多插入操作時(shí)录肯,適用于使用緩沖表。 在插入之前吊说,數(shù)據(jù)不能被緩沖, 這就意味著 INSERTs 不能運(yùn)行地足夠快论咏。

注意:每次往緩沖表中不要頻繁插入小批量數(shù)據(jù),每秒插入上萬條數(shù)據(jù)最佳 颁井,當(dāng)插入更大數(shù)據(jù)塊時(shí)厅贪,每秒將產(chǎn)生上百萬條數(shù)據(jù)。

版權(quán)聲明:本文版權(quán)歸@神州云聯(lián)科技有限公司所有雅宾,未經(jīng)允許任何單位或個(gè)人不得轉(zhuǎn)載养涮,復(fù)制或以任何其他方式使用本文全部或部分,侵權(quán)必究。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贯吓,一起剝皮案震驚了整個(gè)濱河市贬芥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宣决,老刑警劉巖蘸劈,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異尊沸,居然都是意外死亡威沫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門洼专,熙熙樓的掌柜王于貴愁眉苦臉地迎上來棒掠,“玉大人,你說我怎么就攤上這事屁商⊙毯埽” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵蜡镶,是天一觀的道長雾袱。 經(jīng)常有香客問我,道長官还,這世上最難降的妖魔是什么芹橡? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮望伦,結(jié)果婚禮上林说,老公的妹妹穿的比我還像新娘。我一直安慰自己屯伞,他們只是感情好腿箩,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著劣摇,像睡著了一般珠移。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饵撑,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天剑梳,我揣著相機(jī)與錄音,去河邊找鬼滑潘。 笑死垢乙,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的语卤。 我是一名探鬼主播追逮,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼酪刀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了钮孵?” 一聲冷哼從身側(cè)響起骂倘,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎巴席,沒想到半個(gè)月后历涝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡漾唉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年荧库,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赵刑。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡分衫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出般此,到底是詐尸還是另有隱情蚪战,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布铐懊,位于F島的核電站邀桑,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏居扒。R本人自食惡果不足惜概漱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一丑慎、第九天 我趴在偏房一處隱蔽的房頂上張望喜喂。 院中可真熱鬧,春花似錦竿裂、人聲如沸玉吁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽进副。三九已至,卻和暖如春悔常,著一層夾襖步出監(jiān)牢的瞬間影斑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工机打, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留矫户,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓残邀,卻偏偏與公主長得像皆辽,于是被迫代替她去往敵國和親柑蛇。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 表引擎介紹: ClickHouse表引擎決定了如下幾個(gè)方面: 怎樣存儲(chǔ)數(shù)據(jù) -將數(shù)據(jù)寫到哪里, 怎樣讀取數(shù)據(jù). 支...
    c3729438b799閱讀 19,078評論 0 7
  • 系統(tǒng)層面(基本不用動(dòng)驱闷,看了下耻台,買的云服務(wù)器基本都已經(jīng)優(yōu)化過了) 內(nèi)核相關(guān)參數(shù)(/etc/sysctl.conf) ...
    神奇大葉子閱讀 1,996評論 0 4
  • 本篇文章是基于谷歌有關(guān)Graphic的一篇概覽文章的翻譯:http://source.android.com/de...
    lee_3do閱讀 7,099評論 2 21
  • 超高速音視頻編碼器用法: ffmpeg [options] [[infile options] -i infile...
    吉兇以情遷閱讀 4,586評論 0 4
  • 蘋果紅閱讀 121評論 0 0