MongoDb企业应用实战(一) 写在MongoDB应用介绍之前(ii)
上一篇: MongoDb企业应用实战(一) 写在MongoDB应用介绍之前(i)
有段时间没跟大家去分享和探讨过一些问题,分享过一些经验了(失败过的,痛苦过的才最有看点啊,不知道各位同仁们怎么去看这个问题?)。接着跟大家唠叨唠叨。
且说6年前,那段千万数据级别刻骨铭心的经历,让我真正意识到一个好的产品或者是一个好的软件系统是需要不断的提炼,优化,改进,检验,再改进。这才能够一举奠定它在市场中的地位和价值(6年前,与其说那是项目,到不如说是一个完整的自动识别行业的解决方案。(i)高速传送带,(ii)高速成组扫描设备,(iii)条形码打印机,(iv)自动剔除气缸,(v)手持终端[PDA],(vi)高速成像设备,十八般兵器悉数登场,才构筑了后来了全国400多家企业级客户,据最近我当年的那位带头大哥介绍,现在都在那套系统已经安装到一些欧美在华的企业车间中了,他们又弄出了国际版了。)。
接上回:我和我的项目经理回到上海总部后对系统升级改进解决方案
如果单表数据量过多,有什么好的思路呢?我在6年前那段时间真心觉着一些解决问题的办法或者思路太重要了。按照今天大家的官方说法是软件系统中的设计思想太重要,一个好的架构太重要了。如果是几个人或者几十个人的用户,抑或是一天几百条,几千条数据,简单的写写,不谈什么软件设计,不谈什么数据库设计,问题也能解决。但终归大家都能解决的那就没什么含量了,也体现不出来一个项目经理或者是项目中的核心灵魂人物的价值了。
话说我的项目经理到现场一看,毕竟是久经IT战场,迅速的提出解决问题的办法。当时他在我的心目中正如下面这则小故事中说的那个物理学家:
"有一台价值数百万的精密设备故障,怎么搞都没办法,最后一位物理学家说他行,开价十万美元。没办法,答应了。物理学家在图纸上划了一根线,说查这。结果真好了。老板一看一根线就十万,想赖账。物理学家说了一句话:划一根线一美元,知道在哪划线值九万九千九百九十九美元。老板一听,让人付钱。"
他知道从哪里划线,并且是属于一阵见血式的,那就聊聊当时的一些做法,大家如果看到这篇文章,有什么好的想法,好的做法,也欢迎大家不吝赐教。
(i) 根据数据的状态,重新划分使用过的和没使用过的数据。
(ii)没有使用过的数据,按照数据产生的月份迁移到对应月份的数据库表中。
(iii) 建立生产库的历史备份库,将生产库的中已上传至国家监管平台的数据备份至历史库中。
(iv)改进软件,针对查询数据部分,分为当前生产库查询和历史数据查询。
(v)改进新库创建为每一新年手动创建,根据时间判断自动创建,并同步迁移上一年没有使用过的数据。
其实我在后来一些项目中发现6年前的做法,在6年后这个办法依旧不过时。最近跟一个资深的Oracle DBA聊到他在 Oracle中数据的备份和优化策略时,发现他也是采取类似的方式去处理。
(i)对Oracle建立水平分区表,将一个完整的表中的数据存储到不同的数据空间中。
(SqlServer也可以做水平分区表,当时考虑到那是一个全国性的项目,只是采取了更容易维护的方式,自动创建对应数据库,自动创建表结构,这样整个系统的维护成本更低,也能够真正做到替用户着想,不是每个企业都专门去养一帮很N叉的开发,运维人员。)
(ii)每隔6个月,迁移6个月前的数据至历史备份库中。(跟6年前我们的数据库维护策略如出一辙。)
各位同仁们:但是6年前,我怎么能够理解到这种开发或者运维的思想呢?一上来开始写复杂的存储过程我就觉着自己很N了,多年后回想起来这其实没什么哦。现在ORM,LINQ,甚至是NoSql的产品也都用上了,也没有觉着自己有多么N叉哦。只是真心觉着这么6年来的持续的学习,保持着的持续学习状态让我受益匪浅。另外看待一些问题,思考一些问题也更加接地气,更加靠谱些了。想起来了那句话:"最困难的事情是了解自己 最不容易的事情是欣赏自己。"
2014 新的一年真的需要对自己有一个更加理性的认识。
转载于:https://www.cnblogs.com/ywcz060/p/3572995.html
MongoDb企业应用实战(一) 写在MongoDB应用介绍之前(ii)相关推荐
- 《MongoDB入门教程》第01篇 MongoDB简介
MongoDB MongoDB 是一个开源.跨平台.分布式文档数据库,属于 NoSQL(Not Only SQL)数据库的一种. 简单易用 MongoDB 是一个面向文档的数据库,使用文档(docum ...
- 速递!MongoDB最新书籍出版啦:MongoDB进阶与实战-微服务整合、性能优化、架构管理
新书速递 近期,MongoDB中文社区核心成员之一唐卓章老师出了一本MongoDB最新书籍--<MongoDB进阶与实战:微服务整合.性能优化.架构管理>,全面涵盖了MongoDB的基本原 ...
- MongoDB 快速入门实战教程最新版
在上一篇 <MongoDB 实战教程:数据库与集合的 CRUD 操作篇> 中,我们学习了MongoDB 与 NoSQL 的关系. MongoDB 的安装.数据类型.MongoShell.创 ...
- MongoDB+集成SpringBoot+索引+并发优化 - 基于《MongoDB进阶与实战:唐卓章》
文章目录 MongoDB - 基于<MongoDB进阶与实战:唐卓章> 一.首次安装 服务安装 配置文件修改 可视化工具 Docker部署 二.基本使用 2.1 概念解析 2.2 Mong ...
- Mongodb 集群实战
该实战过程完全跟着官网一步一步实现 ,官网教程:https://docs.mongodb.com/manual/tutorial/atlas-free-tier-setup/ 使用Mongo Shel ...
- MongoDB 入门教程实战学习笔记-31-mongo 聚合查询管道 Aggregation Pipieline
aggregation 聚合操作处理数据记录并返回计算结果. 聚合操作将多个文档中的值组合在一起, 并且可以对分组数据执行各种操作以返回单个结果. mongodb 提供了三种执行聚合的方法: 聚合管道 ...
- MongoDB安装及实战(整合springboot)
MongoDB简介 1.NoSQL简介 NoSQL(NoSQL = Not Only SQL),意即反SQL运动,指的是非关系型的数据库,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年 ...
- MongoDB实战系列之五:mongodb的分片配置
md01 10.0.0.11 md02 10.0.0.12 md03 10.0.0.14 2.启动三台机器的mongod实例 根据Replica Set.Sharding策略部署mo ...
- 【Kubernetes 企业项目实战】03、基于 Alertmanager 发送报警到多个接收方(下)
目录 一.promethues 采集 tomcat 监控数据 1.1 制作 tomcat 镜像 1.2 基于上面的镜像创建一个 tomcat 实例 1.3 采集数据 二.promethues 采集 r ...
最新文章
- Android调用远程Service的参数和返回值都需要实现Parcelable接口
- 算法_棋盘型高维动态规划
- iOS9定位获取经纬度 swift
- 含噪数据的有效训练,谷歌地标图像检索竞赛2020冠军方案解读
- 单链表删除指定范围内的元素
- Ubuntu 下 VirtualBox 调整vmdk虚拟硬盘分区
- 【英语学习】【WOTD】farouche 释义/词源/示例
- rust 死后不知道家在哪_女朋友问去哪吃饭别说不知道了,郑州这几家餐厅最适合情侣约会。...
- 晶振两端的谐振电容有特殊要求吗_“吃瓜群众”也能秒懂的晶振电路原理
- 不管你学的是什么专业,你都应该多少懂些管理学的...
- spring集合quartz获取所有定时任务的下次时间
- android 动画之漂移,Android之自定义Drawable实现灵动的红鲤鱼动画(上篇)
- 新电脑磁盘可存储信息数百年
- 迅雷极速与旋风的对比
- java web相对路径_java(Web)中相对路径,绝对路径问题总结
- WPF-StackPanel面板
- matlab 好看的颜色代码,科学网—什么是好的颜色表(colormap)? - 雷朝阳的博文...
- 系统默认声卡驱动没有均衡器的解决方法
- 计算机硕士学位论文要求,2020年计算机硕士论文格式有哪些要求?
- datav(datav)
热门文章
- 2015年第7本(英文第6本):纳尼亚传奇I–狮子、女巫、魔衣橱
- 语文文学常识。不转可惜!谁整理的?太佩服啦!
- html倒计时自动点击,JS脚本实现网页自动秒杀点击
- 使用NOWSMS搭建自己的彩信中心- -
- 一个无名前端的 10 年前端路
- 基于asp.net的办公公文管理审批系统的设计与实现
- 使用fairseq从头开始训练一个中英神经机器翻译模型
- Neural Collaborative Filtering(NCF) 代码实战(Keras)
- mac退出linux命令行,mac/Linux日常入门命令行使用
- 能取代90%人工作的ChatGPT到底牛在哪?