- NoSQL数据库原理
- 侯宾
- 682字
- 2025-03-29 00:36:49
1.2.4 大数据的管理和使用
大数据的存储与管理实现了文件方式的大数据管理,但此时对数据的使用仍存在困难,因为无法直接看出数据结构和关系,即没有数据库表的概念。以网络日志类数据为例,原始数据可能是按行分割的超大文本文件,在进行分布式存储时,会将这些文件分块后进行分布式存储。这样的存储方式并不易于使用,因为用户不能直接看出每一行、列所表示的含义,也无法进行高效的数据查询和处理。
NoSQL等工具会对大数据实现表格化管理、快速查询支持,以及提供数据库系统的集群的监控、扩展等维护管理功能。可以说NoSQL在大数据业务中的基本功能就是实现了分布式数据组织、管理和分布式数据查询。这主要通过两种方式实现。
第一是将日志等本身就是半结构化存储的大数据文件映射为表,即对文件进行纵向分割,对每个列定义其名称和属性,将这些名称属性作为元数据管理起来,这样就实现了对大数据文件的表格化管理。考虑到数据文件进行了分块存储,因此映射为表之后,也可以实现分布式查询。但此时通常难以实现快速的数据查询,查询可能需要遍历所有数据。
第二是要求数据按照自身所规定的格式进行存储,这里可能需要通过数据导入等方式将原始数据按照新的格式重新存储一遍。这种做法增加了数据写入的开销,但加快了特定情况下的数据检索能力。
除了数据查询,大数据还可能进行预处理、数据统计分析和数据挖掘等操作,这些操作一般也会在分布式环境下进行。
常见的数据预处理工具有Apache Hadoop的MapReduce模块、Apache Spark等。常见的大数据挖掘和机器学习引擎有基于Hadoop的Mahout、基于Spark的Mlib、谷歌的TensorFlow等。
需要注意的是,NoSQL数据库一般不提供大数据处理能力,只是作为数据源或目的配合其他大数据处理引擎使用。