Skip to content

northstarbdg/northstar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

northstar

北极星(NorthStar) 大数据中台

项目介绍

北极星(NorthStar) 大数据中台产品,旨在帮助企业用户快速收集, 整理数据及构建数仓, 且可进行数据服务及数据资产管理。

主要特色

  • 快速构建数据模型
  • 任务建模流程化
  • 数据清洗: 模块化流程式
  • 权限: 基于标签的权限形式,可快速为中台人员定制权限
  • 数据质量: 自由定义质量规则及快速检测判定数据质量
  • 数据知识: 基于用于业务自由定义业务元数据, 为企业积累数据知识
  • 多种任务触发形式: 即可基于周期反复触发中台任务执行,也可基于业务进度实时触发中台任务执行

项目页面预览

后台管理系统

登陆页 登陆页 登陆页

概述页 概述页

数仓管理 数仓管理

数据源管理 数据源管理

数据结构管理 数据结构管理

任务列表 任务列表

任务添加 任务添加

工作流列表 工作流列表

工作流编辑 工作流编辑

工作调度列表 工作调度列表

新建调度 新建调度

调度日志列表 调度日志列表

日志详情 日志详情

令牌管理 令牌管理

资产运维 资产运维

资产列表 资产列表

资产编辑 资产编辑

质量标准 质量标准

质量检测结果 质量检测结果

数据大屏 数据大屏

技术特性

  • 基于数据同步与计算引擎纯钧和实时计算引擎Flink,支持JSON模版配置任务,兼容Flink SQL语法;
  • 支持分布式运行,支持flink-standalone、yarn-session、yarn-per job等多种提交方式;
  • 支持Docker一键部署,支持K8S 部署运行;
  • 支持多种异构数据源,可支持MySQL、Oracle、SQLServer、Hive、Kudu等20多种数据源的同步与计算;
  • 易拓展,高灵活性,新拓展的数据源插件可以与现有数据源插件即时互通,插件开发者不需要关心其他插件的代码逻辑;
  • 不仅仅支持全量同步,还支持增量同步、间隔轮训;
  • 批流一体,不仅仅支持离线同步及计算,还兼容实时场景;
  • 支持脏数据存储,并提供指标监控等;
  • 配合checkpoint实现断点续传;
  • 不仅仅支持同步DML数据,还支持Schema变更同步;

技术选型

后端技术

技术 说明 官网
SpringBoot 容器+MVC框架 https://spring.io/projects/spring-boot
SpringSecurity 认证和授权框架 https://spring.io/projects/spring-security
MyBatis ORM框架 http://www.mybatis.org/mybatis-3/zh/index.html
Mybatis-Plus ORM框架 https://baomidou.com/
Maven 程序构建 https://maven.apache.org/
RabbitMQ 消息队列 https://www.rabbitmq.com/
Redis 分布式缓存 https://redis.io/
xxl-job 定时任务 https://www.xuxueli.com/xxl-job
Chunjun 数据同步与计算 https://dtstack.github.io/chunjun
Flink 实时计算引擎 https://flink.apache.org/
xxl-job 定时任务 https://www.xuxueli.com/xxl-job/
LogStash 日志收集工具 https://github.com/elastic/logstash
TIDB 数据库 https://www.pingcap.com/
Nginx 静态资源服务器 https://www.nginx.com/
Druid 数据库连接池 https://github.com/alibaba/druid
JWT JWT登录支持 https://github.com/jwtk/jjwt
Lombok 简化对象封装工具 https://github.com/rzwitserloot/lombok
Hutool Java工具类库 https://github.com/looly/hutool
PageHelper MyBatis物理分页插件 http://git.oschina.net/free/Mybatis_PageHelper
Swagger-UI 文档生成工具 https://github.com/swagger-api/swagger-ui
Hibernator-Validator 验证框架 http://hibernate.org/validator

前端技术

技术 说明 官网
Vue 前端框架 https://vuejs.org/
Vue-router 路由框架 https://router.vuejs.org/
Pinia 全局状态管理框架 https://pinia.vuejs.org/
ElementPlus 前端UI框架 https://element-plus.gitee.io/
Axios 前端HTTP框架 https://github.com/axios/axios
Echarts Echarts的图表框架 https://echarts.apache.org/
ChunkUI 高级UI工具 https://www.npmjs.com/package/chunk-ui
CodeMirror 在线代码编辑器 https://codemirror.net/

架构图

系统架构图

系统架构图

内置功能

  1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  2. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  3. 标签管理:配置系统公共标签,对数据源、任务、调度等进行标签区分。
  4. 数仓管理:对数据仓库进行分层分库,包含对贴源层、标准层、主题层、专题层等数据的分层设计,提供权限管理,配置用户对数仓层级中的资源使用权限。
  5. 数据源管理:对外部数据源进行配置,添加数据源、删除数据源、修改数据源、查询数据源等操作。
  6. 数据结构管理:对数据的分区分层管理,实现按分区创建分层,物理化分层结构至数据库。
  7. 任务管理:数据清选任务的管理功能,提供调度任务配置可视化页面,可在该页面中配置数据处理采集任务、计算任务、质量检测任务、脚本任务及 Jar 任务等。
  8. 工作流管理:处理任务的工作集合,可以将多个任务按执行顺序,条件添加至工作流中,在调度中心按配置的工作流顺序进行任务执行。
  9. 工作调度:配置本系统的数据处理调度任务、采集任务、数据质量检查任务及jar任务的工作流调度配置。
  10. 调度日志:调度执行列表,可以查看调度实例的详情、执行工作流实例图,各节点任务的执行状态及任务的日志详情等信息。
  11. 执行器管理:任务分布式执行终端的配置,任务"执行器"支持集群部署,可保证任务执行HA。执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址。
  12. 令牌管理:使用令牌来限制资源的使用率(例如,流带宽或API使用率)等,可以设置过期时间,访问频率及限制方式等。
  13. 资产运维:对资产使用情况进行统计,可以实现图表及成功率统计,可以查看资产的详细使用日志等。
  14. 资产列表:根据配置的分区分层,配置对外提供的API格式及属性,设置 Token 白名单列表,接口协议、请求方式、分页设置、排序及返回格式等。
  15. 质量标准:创建数据质检模型,为质检检测任务提供检测模板,通过质检模型对数据进行检验,输出质检报告。
  16. 质量检测结果:通过质量任务设置质量检测规则,按规则检测数据的合法性及有效性等。

沟通交流