数据开发

数据开发的数据源

  • 数据系统,一定要保存好数据源。最好有一个在线文档,把系统内各个功能用到的数据源记录下来。
    否则人员变更,数据源丢失就非常麻烦了。

OLAP

OLAP系统,(on-Line Analytic Processing)。在线分析处理 , 就是用于数据分析处理的系统。

离线数据

数据产生之后,不会立即进行清洗,而是在固定的时间进行处理,比如,在当天的凌晨统计昨天的数据。
常见的有 T-1,T-2。

定时任务

定时任务,在固定的时间周期执行任务。可以定时执行 java类代码,ETL,Hive,Shell等。

ClickHouse

ClickHouse是 OLAP系统常用的数据库。

优点:

  • 列式存储,非常适合聚合计算。
    比如统计多个地区在各个时点的数量总和,
    按行存储的聚合计算,一般是设计hour、count等字段,统计时,查询条件为hour=9,对count求和。
    而列式存储,可以设计sum9,sum10等字段,需要统计时直接取 sum9字段的总和即可。

  • 支持千万级别的数据存储、查询。

  • 写入速度非常快

  • 数据压缩空间大,减少io传输,但数据的解压缩需要消耗cpu。

  • 索引是类似跳表结构,并不是mysql的b树结构,不需要满足最左原则。

缺点:

  • 不支持事务
  • 不支持更新。需要更新时可以添加版本号或日期字段,读最新的数据。
  • 不支持高并发,官方建议qps为100
  • 占用较多的CPU资源。采用了并行处理机制,即使一个查询,也会用服务器一半的CPU去执行,所以不能支持高并发场景,默认单查询也会使用CPU核数为服务器核数的一半。

Hive

数据仓库。
优点:可以存储千万级别的数据。
支持分区,比如常见的一天一个分区,查询数据时,只查对应的分区即可。
缺点:不支持数据更新。查询较慢。

详情见: https://blog.csdn.net/weixin_43740680/article/details/94963139

ETL

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
比如,将数据从mysql转换成 es。
实际运用,比如,定时任务执行ETL,从其他部门的Hive表查数据,通过ETL抽取自己需要的字段,进行转换,最后插入到自己项目的表。

数据同步

  • 全量同步、增量同步。
  • 数据同步时的主键冲突处理:替换原有数据、保留原有数据

实时数据

常用技术:Flink、Kafka、Es

可以用 Flink 从 Kafka拉数据,再插入到 Es (或者 ClickHouse)。

数据系统对接

数据系统之间对接字段时,切记,不要盲目从中间系统接数据。
下游的系统,最好从生成字段的最上游系统去接数据,不要从中间系统去拿这些字段。
中间系统往往会对字段进行加工,如果下游系统出现问题要排查非常困难,难以弄清到底是上游系统出问题,还是中间系统出问题。

posted on   乐之者v  阅读(190)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示