工作中遇到的问题:百万条数据的查询、删除、修改效率提高的一些思考,解决方案(一)
来源:互联网 发布:java软件开发图形界面 编辑:程序博客网 时间:2024/06/02 07:20
高德地图把全国的地图按照1:2.5万的比例尺划分为102955个图幅,以图幅为单位进行数据的编辑、更新与发布,每个图幅的数据在进行更新的时候会有一个对应的版本号进行识别,每个图幅都会有一个唯一的ID号作为标识,并且可以通过地理坐标计算得到其相应的坐标。
最近在工作中,需要将数据生产部门提供的地图数据中的 路网数据进行入库管理,并且实现实时的更新,10W多个图幅的道路数据总共有百万条。
按照数据生产部门的需求,每条道路数据后面需要加上版本号信息,但是道路数据本身并没有版本信息,因此,图幅号需要由外部进行写入。
当有新的数据以图幅的形式发布以后,就需要实时的将数据库中的数据进行更新,更新的过程就包括老数据的删除、新数据的插入、版本号的写入。每一次更新无法确定更新的数据量,因此,在设计的时候需要考虑在最大数据量时,按照增量入库的方式进行入库时的效率问题。
业务流程:
1、得到更新的图幅数据;
2、按照图幅ID删除数据库中对应图幅数据对应图幅的老数据;
3、插入新数据;
4、按照图幅ID更新版本信息。
问题描述:
由于整个库中有百万条记录,因此在按图幅ID删除和更新版本信息时会出现效率低下的问题。
思考过程:
首先想到的是多线程去做,一开始想到如果能开10W多个线程同时去连接postgres数据库进行并行处理那效果是好的,但是一台机器一定是无法扛住如此大的访问量,后来问了一下有经验的人,一般开10个进程就可以了,后人家又提到了可以把那个字段建个索引(没有经验真是硬伤,这么简单的问题都想不到)
所以,其它解决方案很简单:按图幅ID建个索引,开多线程并行处理。
解决的方法和代码片段放到下一篇
0 0
- 工作中遇到的问题:百万条数据的查询、删除、修改效率提高的一些思考,解决方案(一)
- 工作中遇到的问题:百万条数据的查询、删除、修改效率提高的一些思考,解决方案(二)
- 提高MYSQL百万条数据的查询速度
- 提高MYSQL百万条数据的查询速度
- 提高MYSQL百万条数据的查询速度
- 提高百万条数据的查询速度-mysql优化
- 针对MySQL提高百万条数据的查询速度优化
- 记录工作中遇到的一些问题(一)
- 记录工作中遇到的一些问题(一)
- 海量数据平台解决方案的一些思考(一)
- 工作中遇到的一些问题总结(一)
- 提高工作的效率
- 工作中遇到的一些问题小结
- 工作中遇到的一些问题集合
- 工作中遇到的一些前端问题
- 工作中遇到的一些 小问题
- mysql 关于查询时间的中工作中遇到的一些问题 有代表性的
- 工作中遇到的问题及解决方案(私)
- Java网络编程从入门到精通(27):关闭服务端连接
- iOS 5.1之后跳转到设置页
- 机器学习——深度学习(Deep Learning)
- "自适应网页设计"到底是怎么做到的?
- 蓝桥杯 打印十字图
- 工作中遇到的问题:百万条数据的查询、删除、修改效率提高的一些思考,解决方案(一)
- 兼容谷歌和其他浏览器的弹出窗口
- 二维数组的初始化
- MFC调用Windows API的方法
- Build Spark1.3.1 with CDH HADOOP
- Jquery等待ajax执行完毕继续执行(断点调试正常,运行异常)
- IOS & Android Icon 多规格图标在线自动生成
- 婚内夫妻间借款行为是否有效?婚内借贷行为如何处理?
- iOS粒子系统,简单了解