优秀的编程知识分享平台

网站首页 > 技术文章 正文

大数据之系统基本要求(大数据系统主要包括)

nanyue 2024-10-21 06:14:01 技术文章 1 ℃

大数据系统框架功能要求

1. 数据收集模块

数据收集模块要求,如下:

a) 应提供数据导入功能,支持结构化数据、非结构化数据和半结构化数据导入;

b) 应支持离线数据导入和实时数据导入;

c) 应支持全量数据导入和增量数据导入;

d) 应提供自动定时导入数据功能;

e) 宜提供开放的数据导入API;

f) 宜提供图形界面实现数据导入功能。

2. 数据预处理模块

数据预处理模块要求,如下:

a) 应提供数据抽取功能,支持对结构化数据、非结构化数据和半结构化数据进行抽取;

b) 应提供数据清洗功能,支持对不一致数据、无效数据、缺失数据和重复数据的处理;

c) 应提供结构化数据的列转换、行转换和表转换功能;

d) 应提供数据加载功能,支持将经过清洗和转换的数据加载到数据分析模块;

e) 宜提供清洗前后的数据比对功能;

f) 宜支持非结构化数据的数据转换功能。

3. 数据存储模块

数据存储模块要求,如下:

a) 应提供数据存储功能,支持结构化数据、非结构化数据和半结构化数据存储。

b) 应提供与关系型数据库、其他文件系统之间交互数据或文件的功能。

c) 支持分布式文件存储,实现以下功能:

1) 应支持文件系统基本操作,包括上传、下载、读写、复制、移动、删除、重命名、权限修改等;

2) 应提供数据块多副本存储、恢复功能;

3) 宜支持文件快速检索功能,支持数据资源的统一检索、编目、增加和删除操作;

4) 宜支持数据压缩存储功能。

d) 支持分布式列式数据存储,实现以下功能:

1) 应支持以键值形式存储数据的功能;

2) 宜支持基于表、列族和列的用户权限管理功能,权限管理操作包括读、写、创建等。

e) 支持分布式结构化数据存储,实现以下功能:

1) 宜支持结构化数据的分布式存储,保证数据存储的可扩展性和一致性;

2) 宜提供API实现数据的各类查询操作;

3) 宜支持多表关联。

f) 支持分布式图数据存储,实现以下功能:

1) 宜支持由节点及边组成的数据模型;

2) 宜支持图查询,支持单节点、多节点多层关系的扩先查询;

3) 宜支持图遍历,支持最短路径、最优路径遍历查询;

4) 宜支持图分析。

4. 数据处理模块

数据处理模块要求,如下:

a) 支持批处理框架,实现以下功能:

1) 应支持结构化数据、非结构化数据和半结构化数据的离线分析;

2) 应支持多节点离线任务联动执行;

3) 应支持分散-聚集的处理方式;

4) 宜支持多种开发语言接口。

b) 支持流处理框架,实现以下功能:

1) 应提供实时计算功能,并将计算结果输出到消息队列或持久化;

2) 应支持采用 滑动窗口方式的实时分析任务,时间窗口大小可调;

3) 应提供容错机制,出现故障时,可对故障进行处理;

4) 宜提供用户级别的访问控制功能,支持对消息处理任务进行创建、浏览、中止、恢复等操作,并记录操作日志。

c) 宜支持图计算框架,实现以下功能:

1) 内置图数据查询类API,支持同步或异步计算模型编写迭代算法;

2) 在线图分析和查询功能;

3) 基于属性图模型的图数据表达,包含节点/边上的标签和属性类型定义;

4) 内置常用图指标计算功能,用以描述图的拓扑结构特征。

d) 宜支持内存计算,实现以下功能:

1) 通过分布式内存计算和DAG执行引擎提供数据处理能力;

2) 支持多种数据类型,包括结构化数据、非结构化数据、半结构化数据的数据处理。

e) 宜支持批流融合计算框架,实现以下功能:

1) 批流融合统一查询SQL语言;

2) 多场景下的流式SQL,如位置信息分析等;

3) 常用时间窗口,包括跳跃窗口、滑动窗口等。

f) 宜支持按照任务间的依赖关系自动调度任务。

g) 宜支持以有向无环图形式描述作业内多任务的依赖关系。

h) 宜提供对复杂任务的调度能力。

5. 数据分析模块

数据分析模块要求,如下:

a) 支持数据查询,实现以下功能:

1) 应提供通过标准的数据库连接接口进行查询的功能;

2) 应提供通过REST API查询接口进行查询的功能;

3) 应提供建立数据索引的功能,达到查询加速的效果;

4) 应支持精确查询和模糊查询功能。

b) 支持机器学习,实现以下功能:

1) 应提供数据集管理功能,可将数据划分为训练集、验证集和测试集;

2) 应提供机器学习模型导入和导出功能;

3) 应提供常用机器学习算法;

4) 宜支持集成第三方机器学习算法。

c) 支持统计分析,实现以下功能:

1) 应提供基本数值统计,如最大值、最小值、求和、总数等统计量;

2) 应提供数据集中趋势统计,如平均数、中位数、众数等统计量;

3) 宜提供数据离散程度统计,如极差、方差、标准差等统计量;

4) 宜提供随机变量关系的统计,如协方差、相关系统等统计量。

d) 支持离线数据分析,实现以下功能:

1) 应支持结构化查询语言;

2) 应支持分布式计算或并行计算等计算框架;

3) 宜支持对海量工作任务的切片和分布式调度。

e) 支持流数据分析,实现以下功能:

1) 应提供按时间切片进行批量处理的功能;

2) 应支持基于事件触发或者采样的流式处理;

3) 宜支持实时流上的数据统计;

4) 宜支持流式数据的排序;

5) 宜支持与静态表之间的关联;

6) 宜支持多个数据流的关联处理。

f) 宜支持交互式联机分析,实现以下功能:

1) 通过结构化查询语言对数据进行分布式的联机分析,如OLAP等;

2) 通过结构化查询语言对数据进行即席查询;

3) 利用可视化中间件对数据分析结果进行显示;

4) 在交互式分析过程中定义计算公式和参数配置;

5) 在交互式分析过程中自动保存和回退;

6) 在交互式分析过程中对分析结果的保存和发布;

7) 基于在线联机分析的交互式数据分析。

g) 宜支持可视化的流程编排操作,实现以下功能:

1) 通过拖拽方式进行流程编排和修订;

2) 支持工作流调度触发机制,可配置触发时间或触发事件;

3) 支持流程编排结果的持久化保存。

6. 数据可视化模块

可视化模块要求,如下:

a) 应支持使用常规图表展示数据,如表格、柱状图、饼图、折线图、热力图等;

b) 宜支持第三方数据可视化工具的API。

7. 数据访问模块

数据访问模块应支持相应的访问接口,以便于第三方应用程序使用大数据系统的数据。

8. 资源管理模块

资源管理模块要求,如下:

a) 应提供CPU、内存等资源的调度和配置功能;

b) 应提供对全局资源的集中管理功能;

c) 应支持静态资源分配策略和动态资源分配策略;

d) 应支持资源的弹性与抢占,即有空闲资源时,租户可使用超过其配置上限的资源,系统繁忙时,若租户使用的资源未达到其原始配置,则可抢占其他租户使用资源的超出部分;

e) 宜提供设置任务优先级的功能,并按任务优先级对资源进行调度;

f) 宜支持多层次的队列资源管理,队列资源实现隔离,即不为队列分配超过其资源上限的资源;

g) 宜提供根据作业需求动态分配计算资源,自动管理回收资源功能。

9. 系统管理模块

系统管理模块要求,如下:

a) 应提供配置管理功能,包括对大数据集群软硬件资源的配置管理,支持配置管理的分角色、分组管理及自动化;

b) 应提供租户管理功能,包括租户的角色、权限、资源等功能;

c) 应提供监控告警管理功能,包括多维度、可视化的大数据系统的监控、告警等;

d) 应提供服务管理功能,包括对大数据系统组件服务的管理;

e) 宜提供健康检查管理功能,支持以图形界面方式实现集群健康检查。


大数据系统框架非功能要求

1. 可靠性要求

(1) 高可用

高可用要求,如下:

a) 应提供系统自动故障探测及管理功能;

b) 应确保系统组件不存在单点故障风险;

c) 集群任意节点发生故障时,不应出现服务中断、数据丢失或数据不一致的情况;

d) 集群任意节点发生故障时,系统操作应不受影响;

e) 应保证系统长期无故障不间断运行。

(2) 数据冗余存储与分布

数据冗余存储与分布要求,如下:

a) 应提供元数据多副本存储功能,任意节点发生故障时不影响系统继续提供服务的能力;

b) 应提供基于分区容错的主副本规划功能,具有提前规划各副本数据物理分布的能力。

(3) 数据备份和恢复

数据备份和恢复要求,如下:

a) 应提供分布式文件存储备份和恢复功能;

b) 应提供分布式结构化数据存储备份和恢复功能;

c) 应提供分布式列式存储备份和恢复功能;

d) 宜支持数据全量备份和增量备份;

e) 宜支持数据自动备份和手动备份。

(4) 故障恢复与迁移

故障恢复与迁移要求,如下:

a) 任意节点发生故障后,系统应提供将修复后的节点接回系统的能力;

b) 故障恢复与迁移过程不应影响系统用户数据的完整性与一致性;

c) 故障恢复与迁移过程不应影响系统整体服务能力。

2. 兼容性要求

大数据系统应兼容不同品牌的操作系统。

3. 安全性要求

(1) 用户管理

用户管理要求,如下:

a) 应对登录用户进行身份标识和鉴别,保证用户身份标识唯一性;

b) 用户身份鉴别信息应满足一定的复杂度要求,并定期更换;

c) 应提供登录失败处理措施,如结束会话、限制非法登录次数、登录连接超时自动推出等措施。

(2) 权限管理

权限管理要求,如下:

a) 应以系统组件为单位配置角色和用户;

b) 应按照权限最小化的原则为用户配置权限;

c) 应支持按照数据表级、数据列级的粒度为用户分配权限;

d) 应支持按照不同操作类型(如增、删、改、查、执行等)为用户分配权限。

(3) 日志管理

日志管理要求,如下:

a) 应提供记录系统操作日志功能,记录用户的重要操作;

b) 应保证系统操作日志无法删除、修改或被覆盖;

c) 操作日志应包括日期、时间、操作者信息、操作类型、操作描述和操作结果等;

d) 应提供 对系统操作日志进行统计、查询、分析及生成报表的功能。

(4) 数据安全

数据安全要求,如下:

a) 应提供数据存储加解密功能,支持数据库级数据加密;

b) 应提供系统敏感数据加密传输功能,并且加密密钥可被替换;

c) 宜支持数据列级的数据加密;

4. 可扩展性要求

系统可扩展性要求,如下:

a) 应提供集群在线扩容和兼容功能;

b) 应提供集群离线扩容和兼容功能;

5. 维护性要求

系统可维护性要求,如下:

a) 应提供安全部署管理功能,对大数据集群中管理节点和数据节点软件进行安全部署;

b) 应提供查看系统版本信息的功能;

c) 应提供 系统在线升级功能,支持单组件升级、升级过程回滚等;

d) 应提供错误诊断功能,发生错误时可提供准确的诊断信息以便于定位错误;

e) 应提供各类计算任务运行进度、状态的实时跟踪及上报功能;

f) 宜提供系统降级功能,支持单组件降级、降级过程中回退等。

6. 易用性要求

系统易用性要求,如下:

a) 应提供图形界面的系统安全配置工具,以便于系统部署;

b) 应提供完整的产品文档,包括但不限于安全部署手册、管理员使用手册、应用开发指南、用户操作手册等。

最近发表
标签列表