海量数据的特点如下:
由于在海量数据中查找,效率会很低,所以需要好的数据结构以提升效率。这种数据结构往往是一种索引。
数据量过大。数据中什么情况都可能存在。如果说有10条数据,那么大不了逐条检查,人工处理;如果有上百条数据,也可以考虑人工处理;如果数据上到千万级别,甚至过亿,那就不是手工能解决的了,必须通过工具或者程序进行处理。而海量数据中,什么情况都可能存在,例如,数据中某处格式出了问题,尤其在程序处理时,前面还能正常处理,突然到了某个地方问题出现了,程序终止。
软硬件要求高。系统资源占用率高。对海量数据进行处理,除了好的方法,最重要的就是合理使用工具,合理分配系统资源。一般情况,如果处理的数据超过TB级,可以考虑小型机,如果普通的服务器有好的方法也可以考虑,不过也必须加大CPU和内存。
海量数据处理的常用技术可以分为:
外排序(因为海量数据无法全部装入内存,所以在数据的大部分需要存储在硬盘里,小部分在排序需要时调入内存)。
MapReduce技术(分布式处理技术)。
hash技术(以Bloom filter技术为代表)。
一些其他的常用技巧。