本文由作者三汪首發(fā)于簡書。 為什么要有實體關(guān)系映射 答:簡化編程操作。把冗余的操作交給底層框架來處理。例如,如果我要給一位新入學(xué)的學(xué)生添加一位新的老師。而這個老師又是新來的,...
本文由作者三汪首發(fā)于簡書。 為什么要有實體關(guān)系映射 答:簡化編程操作。把冗余的操作交給底層框架來處理。例如,如果我要給一位新入學(xué)的學(xué)生添加一位新的老師。而這個老師又是新來的,...
1. Omid是什么 Apache Omid的全稱是Optimistically transaction Management In Datastores,也就是數(shù)據(jù)庫的樂觀...
最近項目中需要進(jìn)行前后端聯(lián)調(diào)的工作比較多,而前后端聯(lián)調(diào)最復(fù)雜的部分就是接口格式的定義和Mock數(shù)據(jù)的生成了,在查閱了一些資料后,找到了一種比較簡單快速的方式,在這里分享一下。...
重復(fù)消費是被允許的,由于有state和checkpoint的存在,可以保證即使重復(fù)消費得到的結(jié)果還是和exactly-once時是一致的。
Flink Checkpoint在學(xué)習(xí)flink的時候看了本書《Stream Processing with Apache Flink》。里面對Flink checkpoint的原理講得挺清楚的,后面內(nèi)部分...
最近公司搭建了Clickhouse的集群,作為一款久負(fù)盛名的高性能OLAP查詢引擎,我們也針對自己的使用場景的進(jìn)行了一下體驗,對Clickhouse的使用和性能有了一定的體會...
在準(zhǔn)備好Hadoop的環(huán)境后,可以開始搭建Flink了。 這里我們參考的是這篇教程,其中包括很全面的安裝步驟:https://files.alicdn.com/tpsserv...
前面的準(zhǔn)備工作做好之后,我們來搭建帶Kerberos和SASL的完全分布式的Hadoop集群。 1. 集群環(huán)境準(zhǔn)備 我們現(xiàn)在有3臺服務(wù)器,服務(wù)器列表如下: hostnamei...
接前文,在安裝完Kerberos之后,F(xiàn)link仍然需要Hadoop集群使用SASL認(rèn)證,關(guān)于SASL的相關(guān)內(nèi)容,可以自行進(jìn)行查閱,這里只介紹安裝方式。 1. 安裝opens...
Flink要求它使用的Hadoop集群必須是要添加Kerberos和SASL認(rèn)證的,本節(jié)先介紹Kerberos認(rèn)證服務(wù)的部署。 1. 環(huán)境準(zhǔn)備 假設(shè)我們部署Hadoop集群的...
Flink是目前在國內(nèi)非常流行的大數(shù)據(jù)的計算框架,其設(shè)計理念可以完美的實現(xiàn)數(shù)據(jù)的批流計算一體化。Flink的集群,如果要使用到JobManager的HA,以及Yarn的資源調(diào)...
前面我們介紹了關(guān)于隔離型的內(nèi)容,如果使用弱隔離性時,數(shù)據(jù)庫性能較好,但可能會出現(xiàn)事務(wù)并行的問題;如果使用事務(wù)的串行化,事務(wù)的并行執(zhí)行的結(jié)果和串行是一樣的,但性能較差。因此,有...
本節(jié)我們繼續(xù)討論關(guān)于事務(wù)串行化的另一種實現(xiàn)方式:兩階段鎖(two-phase locking,2PL),它也是一種強(qiáng)隔離性的保證。 兩階段鎖 注意,這里不是兩階段提交(2PC...
之前我們介紹了幾種弱隔離性的概念和實現(xiàn)方式,本節(jié)我們繼續(xù)討論強(qiáng)隔離性保證:串行化。它保證了即使事務(wù)是以并行方式執(zhí)行的,但結(jié)果和串行執(zhí)行是一致的,也就是這種隔離性的保證可以避免...
之前我們討論過了關(guān)于并發(fā)寫中的dirty writes和lost updates的情況,本文我們介紹最后一種并發(fā)寫的問題,和對應(yīng)的弱隔離性的實現(xiàn)。 寫偏(Write skew...
前面介紹的兩種弱隔離性的級別,Read Committed Isolation和Snapshot Isolation,可以保證正確的處理并發(fā)的讀請求,但對于并發(fā)寫的情況,僅保...
如果兩個事務(wù)操作的是不同的數(shù)據(jù),那它們可以安全地并發(fā)執(zhí)行。只有當(dāng)兩個事務(wù)操作相同的數(shù)據(jù)時,才會有并發(fā)的問題,而事務(wù)中的隔離性就是保證每個事務(wù)能夠像串行執(zhí)行那樣,不會由于并發(fā)執(zhí)...
這一節(jié),我們繼續(xù)深入到事務(wù)的概念中,分析事務(wù)的ACID原則能夠避免哪些出錯的情況。在實際場景中,有一些事務(wù)的需要修改多行記錄的,我們稱之為多對象操作,另外一些是只修改一行記錄...
前言 在設(shè)計數(shù)據(jù)系統(tǒng)時,由于數(shù)據(jù)庫、應(yīng)用程序、網(wǎng)絡(luò)的問題,或者是服務(wù)器端、客戶端的問題,以及并發(fā)修改的情況,很可能出現(xiàn)數(shù)據(jù)出錯的情況。 事務(wù)的提出是為了簡化這些異常的處理,應(yīng)...
本節(jié)我們會介紹一種在tasks之間共享可讀寫變量的方式,就是累加器變量。 累加器變量 累加器變量是在tasks之間可以進(jìn)行讀寫的變量,所有tasks可共享。累加器變量有以下兩...
在Spark中,我們通過將數(shù)據(jù)分區(qū)的方式,避免任務(wù)之間的數(shù)據(jù)通信,使每個任務(wù)都可以獨立執(zhí)行,通信只有在shuffle的時候才會發(fā)生。 在接下來的兩節(jié)中,我們將介紹兩種在Spa...