海量資料對比去除重複的解決方案

2021-06-12 20:31:11 字數 724 閱讀 6534

最近有個北京的做郵件營銷的朋友,他手裡很多個幾百萬的資料,需要做去除重複處理。

1)集合運算的基礎知識 2)

多執行緒處理 3)

文字檔案讀寫操作 4)

集合或陣列的基本操作

然後軟體除錯……

發現現成的軟體滿足不了要求,訂製開發的話,軟體公司的**比較高,乙個工作日需要1000元以上。

首先把2個文字檔案匯入sqlserver資料庫,然後執行以下指令碼:

1) 查詢a,b中重複的郵件:也即a交b

select mail from a where mail in (select mail from b )

2) 查詢a中有,b中沒有的郵件,也即a差b

select mail from a where mail not  in (select mail from b )

3) 查詢b中有,a中沒有的郵件,也即b差a

select mail from a where mail not  in (select mail from b )

4) 查詢a,b都有的郵件,也即a並b:

select col001 from a

union

select col001 from b

執行過程中發現:記憶體占用:1.3g  cpu占用:99%

這種方法對計算機的硬體配置要求比較高,記憶體要求2g 以上。

結果發現:方案3是快速可行的解決方案,

海量資料解決方案

首先做使用者量估算需求,假如我們做的是學術社群,那麼這個使用者量不會很大,可能我們不需要考慮這個,對於使用者量的級別,我們暫時把使用者量級別定 為三種,百萬級別 m 和千萬界別 s 以及億萬級別 q 並考慮使用者登入驗證以及查詢常用的操作,對m和s進行擴充以及了解。眾所周知,在這個情況下,對於使用者...

海量資料的解決方案

現在無論是企業的業務系統還是網際網路上的 程式都面臨著資料量大的問題,這個問題如果解決不好將嚴重影響系統的執行的速度。1 快取和頁面靜態化 資料量大的問題最直接的解決方案就是使用快取,快取就是將從資料庫中獲取的結果佔時儲存起來,在下次使用的時候無需要重新到資料中獲取,這樣可以大大降低資料庫的壓力。快...

海量資料的解決方案

隨著企業業務的不斷擴充套件,不得不面臨資料量大的問題,下面針對這個問題進行各種方案的介紹。快取的使用方式分為通過程式儲存到記憶體中和使用快取框架兩種方式。程式直接操作的是 map,尤其是concurrentmap,而常用的快取框架有 ehcache memcache 和 redis等。頁面靜態化是將...