c++怎麽做數據分析要用Bloom filter/Hash/bit-map/堆/數據庫或倒排索引/trie樹。
所謂海量數據處理,無非就是基於海量數據上的存儲、處理、操作。何謂海量,就是數據量太大,所以導致要麽是無法在較短時間內迅速解決,要麽是數據太大,導致無法壹次性裝入內存。
我們可以采用巧妙的算法搭配合適的數據結構,如Bloomfilter/Hash/bit-map/堆/數據庫或倒排索引/trie樹。
針對空間,無非就壹個辦法:大而化小,分而治之(hash映射),妳不是說規模太大嘛,那簡單啊,就把規模大化為規模小的,各個擊破不就完了嘛。
至於所謂的單機及集群問題,通俗點來講,單機就是處理裝載數據的機器有限(只要考慮cpu,內存,硬盤的數據交互),而集群,機器有多輛。
適合分布式處理,並行計算(更多考慮節點和節點間的數據交互)。
再者,通過本blog內的有關海量數據處理的文章:Big Data Processing,我們已經大致知道,處理海量數據問題。
無非就是分而治之/hash映射 + hash統計 + 堆/快速/歸並排序;雙層桶劃分Bloom filter/Bitmap;Trie樹/數據庫/倒排索引。
外排序分布式處理之Hadoop/Mapreduce。
set/mahashtable/hash_map/hash_setset/map/multiset/multimaphash_set/hash_map/hash_multiset/hash_multimap之區別。