MongoDB应用介绍之前
MongoDb企业应用实战(一) 写在MongoDB应用介绍之前
故事背景:
本人有幸,经老友( 现为x知名快递公司技术总监 ) 推荐进入中国前三大民营快递公司之一工作,在此非常感谢他,在此也非常感谢我在第一家公司帮助我进步的兄弟(我在时的项目经理,现为 x 知名自动识别行业企业部门高级经理)。
下面介绍6年后和6年前的两个单表大数据故事。
(1) 6年后 单表大数据 之故事(一)
来之前老友告之现在核心运营系统 Oracle数据库中单表数据半年过10亿了,使用传统T-Sql不论如何优化,查询客户信息速度也提升不上去。
需要使用企业级搜索引擎(Solr)来解决本部门其余两大辅助业务系统去查询客户信息。如果我过去的话,先把这块带肉的骨头啃了。
当时一听很开心,不就10亿数据吗?不就单表吗?6年前就遇到过。还是使用成熟企业级的开源软件(Solr),这有何难啊,老友说项目开发周期大概2个月,最长尽量不要超过3个半月,我自信满满的说没问题。
(2) 6年前 单表大数据 之故事(二)
还记得大概5年半前的一个项目,确切的说现在应该是成熟产品了。上次听那兄弟(当时为项目经理,现在已经为该公司的系统集成部的部门经理)说:该系统全国大概已经400多家企业级用户了,不乏跨国大企业用户。当时遇见的那个问题应该是今天这个问题的缩微版了,那是也是个单表数据每天100w的量,SqlServer2005下。
当时的情景是这样的:笔者当时正在山西一家企业做软件项目的实施,突然接到上海总部公司电话,让赶紧处理完就奔赴河南一家企业处理系统瘫痪的问题。当时也没多想,实施完了就赶紧买张去河南焦作的汽车票。还没下车,就不断接到客户公司老总的电话,询问车已经到何地了。已经备好了车,老总带着专职司机奔着高速收费站那边等着我了(那一刻,我才深深知道自己的价值,才觉着自己对于这个社会还是可以做些贡献的。)。
客户公司老总也没多说,就简单告知系统瘫痪了,整个生产车间的已经不能正常运转了,停了一个星期了。大量的药品都堆在生产车间中了。一路上,我们飞奔,路上我简单的吃了口烩面,然后我们就直奔厂区的生产车间。
去了以后发现有个单表数据量已经堆积几千万(具体的记不清楚了),当时看完就懵了。堆积了这么多数据量,系统查询怎么会不慢呢,生产不停下来那才怪呢?当时客户方老总以为抓住了我问题马上就能解决,我在他们车间里待多久就陪多久,每天还点了不少好菜。中间我有打电话求助过总部项目经理,在客户现场Google,百度了N篇解决方案的稿子,索引删了重建,CPU升级到4核,内存单条8g,又升级到16g,系统在重启的那几十分钟,速度飞快,但是过不了多久,系统又现之前的死相。前前后后总共折腾了3天2夜,期间睡眠时间严重不足,终于在第三天的下午,我也崩溃了。
紧接着我就给总部老板打电话,向他报告了这边的惨状,以及我所遇见的困境,让他赶紧派项目经理过去。那时我的项目经理采取了一套救急的方案:
(i) 将该上传到国家机构的数据全部上传。
(ii) 将现有的生产任务结束,并上传相应的数据到国家机构。
(iii) 重新创建新的生产库,将未生产的未使用的原生产库数据全部导入新生产库,并重建索引。
(iv) 将原来的生产库全部分离备份。
前前后后我们又花去了2天一夜,掐指一算这前后已经让客户公司停产了2个周。
那时才知道一个好的企业级应用的产品的系统架构是有多么重要。
这忙完后我在宾馆睡了10多个小时才缓过气来。
这就是我这几年职业生涯中遇见的两组大数据案例。欲知后事如何且听下回分解。
下回预告:
1. 6年前,我和我的项目经理回到上海总部后对系统改进解决方案。
2. 6年后,我遇见比当年更为庞大的数据,我的解决方案。
3. 对于产品级别系统和企业内部系统我大数据方案心得。
4. 大数据应用我们还有哪些杀手锏。
MongoDB应用介绍之前的更多相关文章
- MongoDB shell 介绍
MongoDB shell 介绍 MongoDB自带javascript shell, 可在shell中使用命令行与MongoDB实列交互.shell可以执行管理操作,检查运行实列等等操作. 一:如何 ...
- MongoDb企业应用实战(一) 写在MongoDb应用介绍之前(i)
故事背景: 本人有幸,经老友( 现为x知名快递公司技术总监 ) 推荐进入中国前三大民营快递公司之一工作,在此非常感谢他,在此也非常感谢我在第一家公司帮助我进步的兄弟(我在时的项目经理,现为 x 知名 ...
- MongoDb企业应用实战(一) 写在MongoDB应用介绍之前(ii)
上一篇: MongoDb企业应用实战(一) 写在MongoDB应用介绍之前(i) 有段时间没跟大家去分享和探讨过一些问题,分享过一些经验了(失败过的,痛苦过的才最有看点啊,不知道各位同仁们怎么去看这个 ...
- MongoDB的介绍安装与基本使用
MongoDB的介绍安装 关于MongoDB的介绍于安装可参考:https://www.cnblogs.com/DragonFire/p/9135630.html 除了官网下载,可以下载他人下载好分享 ...
- MongoDB入门(介绍、安装、增删改查)
文章作者公众号bigsai,已收录在回车课堂,如有帮助还请不吝啬点个赞赞支持一下! 课程导学 大家好我是bigsai,我们都学过数据库,但你可能更熟悉关系(型)数据库例如MySQL,SQL SERVE ...
- Python MongoDB使用介绍
MongoDB介绍 MongoDB是一个面向文档的,开源数据库程序,它平台无关.MongoDB像其他一些NoSQL数据库(但不是全部!)使用JSON结构的文档存储数据.这是使得数据非常灵活,不需要的S ...
- MongoDB(两)mongoDB基本介绍
MongoDB介绍 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库其中功能最丰富,最像关系数据库的.他支持的数据结构很的松散,是类似json的bjson格式,因此能够存储比 ...
- MongoDB分片介绍
本文简单介绍MongoDB的分片功能,对分片进行了概述,具体的功能详解,后续文章会陆续推出 分片是把数据分配到多个服务器上的一种方式,MongoDB使用分片实现大数据部署以及高吞吐操作. 大数据以及高 ...
- Mongodb简单介绍安装
具体详细内容,请查阅 Mongodb官方文档 一.简单介绍 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. M ...
随机推荐
- LeetCodeOJ. Maximum Depth of Binary Tree
见问题: https://oj.leetcode.com/problems/maximum-depth-of-binary-tree/ 主题概述 Given a binary tree, find i ...
- Thinking in UML 学习笔记(四)——UML活动图来看核心
在UML活动图的性质是一个流程图,它需要描述为完成活动的特定目标的描述来完成,这些交互运行顺序. UML有两个级别的活动图,的用例场景的叙述性描述,还有的对象用来描述交互的描述. 工具.它不是我们的分 ...
- Sky数 2097
Problem Description Sky从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,这个数,它的十进制数表示,其四位数字之和为2+9+9+2=2 ...
- jg-table 过程2 ( jgTable )
jg-table ( jgTable ) 添加一些新的功能,这是多行表头支持,要添加到,现在支持拖放多行表来改变头部的宽度, 假设设置cloneTheadToFoot 能够自己主动翻转多行表头,这也 ...
- 教你一步一步部署.net免费空间OpenShift系列之一------帐号注册和验证
前几天有博友发布了一篇文章<一键部署mono 免费空间支持ASP.NET MVC 再也不担心伙食费换空间了>,支持MVC3和域名绑定,觉得不错,于是自己实践了一下,发现自己实际遇到的问题真 ...
- The Swift Programming Language-官方教程精译Swift(8)闭包 -- Closures
闭包是功能性自包含模块,可以在代码中被传递和使用. Swift 中的闭包与 C 和 Objective-C中的 blocks 以及其他一些编程语言中的 lambdas 比较相似. 闭包可以捕获和存储其 ...
- PL/SQL联系oracle成功可以sql解决的办法是检查表的名称无法显示
有时,因为机器突然断电或其他原因PL/SQL它甚至不能在数据库表后显示.序列和其它元素.使用SQL Windows运行查询一般查询,登录或同样的现象再次. 我是不是可以解决因重复登录的猜测是,PLSQ ...
- php中utf8 与utf-8
原文:php中utf8 与utf-8 相信很多程序员刚开始也会有这样的疑惑,如题,我也是. 其实,他们可以这样来区分. 一.在php和html中设置编码,请尽量统一写成“UTF-8”,这才 ...
- Struts2和Struts1的主要区别(完整版)
Struts1和Struts2的区别和对比: Action 类: • Struts1要求Action类继承一个抽象基类.Struts1的一个普遍问题是使用抽象类编程而不是接口,而struts2的Act ...
- 使用gson和httpclient呼叫微信公众平台API
吐槽:微信api很无语.有一部分xml.有一部分json. 最近看如何调用微信公众平台json有关api更方便.终于找到了httpcliect和gson对. 假设你有一个更好的办法,请告诉我. 了解如 ...