织梦CMS - 轻松建站从此开始!

银河国际娱乐  银河娱乐场开户网址  澳门银河娱乐场开户网址【信誉】

海量数据 “写入、共享、存储、计算” 最佳实践

时间:2018-02-15 07:06来源:网络整理 作者:采集侠 点击:
海量数据 写入、共享、存储、计算 最佳实践

  PostgreSQL , 冷热分离 , 数据共享 , 打破孤岛 , 无盘工作 , 存储计算分离 , 行为数据 , 轨迹数据 , 金融数据 , 监控数据 , 物联网 , GIS , 范围 , 数组 , 图片

  背景

  数据是为业务服务的,业务方为了更加透彻的掌握业务本身或者使用该业务的群体,往往会收集,或者让应用埋点,收集更多的日志。

  随着用户量、用户活跃度的增长,时间的积累等,数据产生的速度越来越快,数据堆积的量越来越大,数据的维度越来越多,数据类型越来越多,数据孤岛也越来越多。

  日积月累,给企业IT带来诸多负担,IT成本不断增加,收益确不见得有多高。

海量数据

  上图描绘了企业中可能存在的问题:

  1. 数据孤岛问题严重(如果没有大数据平台时)。

  2. 对成本预估不足,计算能力扩容麻烦,又或者铺张浪费严重。

  3. 数据冗余问题突出。

  4. 存储成本昂贵。

  5. 业务萎缩后硬件成为固定资产,IT负担严重,几乎没有硬件伸缩能力。

  6. 数据量太大,几乎无法备份。

  7. 业务需求多,数据种类多,分析成本、开发成本高昂。

  本文将针对这个场景,给出一个比较合理的方案,灵活使用,可以减轻企业IT成本,陪伴企业高速成长。

  行业场景

  1. 物流

  一个包裹,从揽件、发货、运输、中转、配送到签收整个流程中会产生非常多的跟踪数据,每到一个节点,都会扫描一次记录包裹的状态信息。

  运输过程中,车辆与包裹关联,车辆本身采集的轨迹、油耗、车辆状态、司机状态等信息。

  配送过程,快递员的位置信息、包裹的配送信息都会被跟踪,也会产生大量的记录。

  一个包裹在后台可能会产生上百条跟踪记录。

  运输的车辆,一天可能产生上万的轨迹记录。

  配送小哥,一天也可能产生上万条轨迹记录。

  我曾经分享过一个物流配送动态规划的话题。有兴趣的童鞋也可以参考

  《聊一聊双十一背后的技术 - 物流、动态路径规划》

  物流行业产生的行为数据量已经达到了海量级别。

  怎样才能有效的对这些数据进行处理呢?

  比如:

  实时按位置获取附近的快递员。

  实时统计包裹的流量,快递员的调度,车辆的调度,仓库的选址等等一系列的需求。

  2. 金融

  金融行业也是数据的生产大户,用户的交易,企业的交易,证券数据等等。

  数据量大,要求实时计算,要求有比较丰富的统计学分析函数等。

  我曾经分享过一个关于模拟证券交易的系统需求分析。有兴趣的童鞋也可以参考

  《PostgreSQL 证券行业数据库需求分析与应用》

  3. 物联网

  物联网产生的数据有时序属性,有流计算需求(例如到达阈值触发),有事后分析需求。

  数据量庞大,有数据压缩需求。

  我刚好也写过一些物联网应用的数据库特性分析,这些特性可以帮助物联网实现数据的压缩、流计算等需求。

  《流计算风云再起 - PostgreSQL携PipelineDB力挺IoT》

  《旋转门数据压缩算法在PostgreSQL中的实现 - 流式压缩在物联网、监控、传感器等场景的应用》

  《PostgreSQL 物联网黑科技 - 瘦身几百倍的索引(BRIN index)》

  《一个简单算法可以帮助物联网,金融 用户 节约98%的数据存储成本》

  《"物联网"流式处理应用 - 用PostgreSQL实时处理(万亿每天)》

  《PostgreSQL 黑科技 range 类型及 gist index 助力物联网(IoT)》

  物联网还有一个特性,传感器上报的数据往往包括数字范围(例如温度范围)、地理位置、图片等信息,如何高效的存储,查询这些类型的数据呢?

  4. 监控

  监控行业,例如对业务状态的监控,对服务器状态的监控,对网络、存储等硬件状态的监控等。

  监控行业具有比较强的业务背景,不同的垂直行业,对监控的需求也不一样,处理的数据类型也不一样。

  例如某些行业可能需要对位置进行监控,如公车的轨迹,出了位置电子围栏,发出告警。换了司机驾驶,发出警告。等等。

海量数据 “写入、共享、存储、计算” 最佳实践

  5. 公安

  公安的数据来自多个领域,例如 通讯记录、出行记录、消费记录、摄像头拍摄、社交、购物记录 等等。

  公安的数据量更加庞大,一个比较典型的场景是风险控制、抓捕嫌犯。涉及基于地理位置、时间维度的人物关系分析(图式搜索)。

  如何才能满足这样的需求呢?

  6. 其他行业

  其他不再列举。

  行业痛点

  如何解决数据孤岛,打通数据共享渠道?

  如何高效率的写入日志、行为轨迹、金融数据、轨迹数据等?

  如何高效的实时处理数据,根据阈值告警通知,实时分析等?

  如何解决大数据的容灾、备份问题?

  如何解决大数据的压缩和效率问题?

  如何解决数据多维度、类型多,计算复杂的问题?

  如何解决企业IT架构弹性伸缩的问题?

  总结起来几个关键字:

  写入、共享、存储、计算。

  方案

  用到三个组件:

海量数据 “写入、共享、存储、计算” 最佳实践

  1. RDS PostgreSQL

  支持时序数据、块级索引、倒排索引、多核并行、JSON、数组存储、OSS_FDW外部读写等特性。

  解决OLTP,GIS应用、复杂查询、时空数据处理、多维分析、冷热数据分离的问题。

  2. HybridDB PostgreSQL

  支持列存储、水平扩展、块级压缩、丰富的数据类型、机器学习库、PLPYTHON、PLJAVA、PLR编程、OSS_FDW外部读写等特性。

  解决海量数据的计算问题。

  3. OSS 对象存储

  多个RDS实例之间,可以通过OSS_FDW共享数据。

  OSS多副本、跨域复制。

  解决数据孤岛、海量数据存储、跨机房容灾、海量数据备份等问题。

  1 写入

海量数据 “写入、共享、存储、计算” 最佳实践

  数据写入分为3条路径:

  1. 在线实时写入,可以走RDS SQL接口,单个实例能达到 百万行/s 以上的写入速度。

  2. 批量准实时写入,可以走HybridDB SQL接口,单个实例能达到 百万行/s 以上的写入速度。

  3. 批量准实时写入,比如写文件,可以走OSS写入接口,带宽弹性伸缩。

  2 共享

  多个RDS实例之间,可以通过OSS_FDW共享数据。

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容