因为大数据具有数据体量大(volume)、产生速度快(velocity)、结构多样化(variety)等特点,这使得仅通过传统的集中式存储和处理的技术无法有效的解决大数据问题,比如关系型数据库管理系统无法有效的存储和管理快速生成的大数据,此外仅靠传统的集中式处理方法无法在用户期望的时间内得到最终结果。
我们可以将大数据的生命周期分为数据采集、数据存储、数据处理、数据发布和数据销毁共5个阶段。其中需要重点关注的是数据存储和数据处理阶段,因为大数据的理论基础就是分布式的存储系统和处理框架,比如Google通过提出分布式的文件系统GFS用于解决大数据存储的难题,MapReduce框架用于完成分布式计算任务。并且目前的大数据相关技术大多是针对数据存储和处理这两个阶段中存在的问题而提出的,
在大数据的实际应用方面,Hadoop的生态体系目前已经成为大数据的事实上的标准。在整个Hadoop的大数据生态体系中,针对数据处理阶段的技术框架目前有MapReduce、Spark和Storm等。这三种大数据处理框架是为应对不同用户需求而设计的。从用户的视角,我们可以把大数据处理任务分为批处理、流处理和交互式处理三类,其中MapReduce框架适合处理批量大规模的数据任务,Spark框架适合解决迭代式计算任务,Storm和Spark Streaming框架适合实时流计算任务,最后对于交互式处理任务可以使用Hive和Spark SQL等数据库技术。
近年来,这些大数据处理框架尤其是Spark框架已得到广泛的应用,然而由于其在设计之初缺乏安全方面的考虑。目前的大数据处理框架还面临着像数据泄露、数据非法访问等安全问题。下面简要介绍一下目前的大数据处理阶段中存在的安全问题。
- 调度安全。目前的大数据处理框架大多采用的都是分布式并行处理框架,这就不可避免的涉及到任务调度问题。因此我们目前面临的问题是如何通过一定的隔离方法来确保任务的调度安全。
- 执行安全。比如在调度任务执行过程中如何防止恶意用户非法访问其他用户的数据和信息。如何保证任务在执行过程中只能访问自身应该访问的数据,避免敏感数据泄露或数据的非法访问。
- 结果可信。还有就是,任务执行完成后的结果可信问题,如何确保计算结果真实可靠。目前理论上研究较多的就是可验证计算方法,但由于其性能开销过大,尚未实际应用于MapReduce等处理框架中。
参考资料:
陈性元, 高元照, 唐慧林,等. 大数据安全技术研究进展[J]. 中国科学F辑, 2020, 050(001):25-66.
Moreno J, Serrano MA, Fernández-Medina E. Main issues in big data security. Future Internet. 2016 Sep;8(3):44.