mysql redis 實(shí)時(shí)同步 如何進(jìn)行MySQL數(shù)據(jù)庫與HDFS的實(shí)時(shí)數(shù)據(jù)同步?
如何進(jìn)行MySQL數(shù)據(jù)庫與HDFS的實(shí)時(shí)數(shù)據(jù)同步?如何在MySQL數(shù)據(jù)庫和HDFS之間同步實(shí)時(shí)數(shù)據(jù),并通過map/reduce批處理將其傳遞給Apache Hadoop仍然是中心環(huán)節(jié)。然而,隨著從“超
如何進(jìn)行MySQL數(shù)據(jù)庫與HDFS的實(shí)時(shí)數(shù)據(jù)同步?
如何在MySQL數(shù)據(jù)庫和HDFS之間同步實(shí)時(shí)數(shù)據(jù),并通過map/reduce批處理將其傳遞給Apache Hadoop仍然是中心環(huán)節(jié)。
然而,隨著從“超級(jí)思維速度”分析中獲得競爭優(yōu)勢的壓力越來越大,Hadoop(分布式文件系統(tǒng))經(jīng)歷了重大的發(fā)展??茖W(xué)技術(shù)的發(fā)展使得實(shí)時(shí)查詢成為可能,比如apachedrill、cloudera impala和stinger倡議正在興起,新一代的資源管理apacheyard支持這些。
如何將數(shù)據(jù)從SQLServer實(shí)時(shí)或定時(shí)同步到MySQL數(shù)據(jù)庫?
MySQL使用慢的原因是查詢操作太復(fù)雜,計(jì)算量太大。所以,找到一種方法讓MySQL存儲(chǔ)您想要顯示的數(shù)據(jù),并且您不需要任何復(fù)雜的統(tǒng)計(jì)數(shù)據(jù),它可以很快。一般來說,在MySQL中保存要顯示的數(shù)據(jù)的方法是將原始數(shù)據(jù)保存在一個(gè)地方(例如,HDFS或MSYQL在另一個(gè)表中),然后定期啟動(dòng)一些任務(wù),從原始數(shù)據(jù)中計(jì)算出要顯示的數(shù)據(jù)并保存在MySQL中。你想不想用Hadoop?我認(rèn)為你沒有足夠的數(shù)據(jù)來使用它。在早期階段,可以定期啟動(dòng)獨(dú)立程序或直接使用MySQL事件。另外,你在標(biāo)題中說應(yīng)該進(jìn)行實(shí)時(shí)分析。事實(shí)上,我認(rèn)為實(shí)時(shí)分析可能沒有必要。定期(如每小時(shí))啟動(dòng)任務(wù),處理最后一小時(shí)的數(shù)據(jù)。如果有實(shí)時(shí)需求,可能需要將每個(gè)數(shù)據(jù)發(fā)送到一個(gè)程序進(jìn)行處理(當(dāng)數(shù)據(jù)量過大時(shí),可以使用Flink或storm等分布式流計(jì)算系統(tǒng)),并將處理結(jié)果寫入結(jié)果mysql。然而,這將大大增加系統(tǒng)的復(fù)雜性(一般來說,流式處理的實(shí)現(xiàn)要比批處理復(fù)雜得多)。如果批量加工能滿足要求,則應(yīng)盡量選擇批量加工。