处理实时数据,最重要的是保证数据的有效性和不间断性,能够保证数据准确无误。有些情况会处理较高的并发性,有着大量的IO,要做到监控实时数据上处理上的压力,能够进行优化。
例如:对于电信行业,对数据处理和实时数据有着非常高的并发性,数据一定要做到准确无误,并且有着非常大量的数据高并发处理。
第一种方案:采用MongoDB数据库,MongoDB能够有效的缓解数据并发上所带来的压力,能够支持动态的扩容,有效的保证数据的不间断性,MongoDB有着监控机制,可以对数据上的利用率和性能效率上进行优化。如果考虑到数据处理量非常的大,IO操作会造出瓶颈,可以结合Redis内存数据库,可以有效缓解数据库上的压力。
第二种方案:便于数据分析和处理,可以考虑采用HDF5文件系统,HDF5支持并发IO操作,如果对数据频繁的上的读写操作,采用分布式系统能够有效缓解数据处理上的压力。传统的部分金融行业会采用HDF5分布式来处理大量的实时金融数据。
第三种方案:流式处理系统,需要进行大量的计算和规则运算分析,可以考虑采用Storm,这是一个复杂的实时数据处理方案。~~~Twitter开源。
第四种方案:数据一定不能有任何上的差错,不能出现任何出入。必须保证有效性和一致性。可以考虑采用KDB+,银行和金融数据上会采用KDB+,不过需要学习复杂的Q语言。
其他还有很多复杂的实时数据处理方案。不过要结合数据的规则和对于数据处理分析的方案来解决瓶颈。