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应用介绍之前的更多相关文章

  1. MongoDB shell 介绍

    MongoDB shell 介绍 MongoDB自带javascript shell, 可在shell中使用命令行与MongoDB实列交互.shell可以执行管理操作,检查运行实列等等操作. 一:如何 ...

  2. MongoDb企业应用实战(一) 写在MongoDb应用介绍之前(i)

    故事背景: 本人有幸,经老友( 现为x知名快递公司技术总监 ) 推荐进入中国前三大民营快递公司之一工作,在此非常感谢他,在此也非常感谢我在第一家公司帮助我进步的兄弟(我在时的项目经理,现为 x  知名 ...

  3. MongoDb企业应用实战(一) 写在MongoDB应用介绍之前(ii)

    上一篇: MongoDb企业应用实战(一) 写在MongoDB应用介绍之前(i) 有段时间没跟大家去分享和探讨过一些问题,分享过一些经验了(失败过的,痛苦过的才最有看点啊,不知道各位同仁们怎么去看这个 ...

  4. MongoDB的介绍安装与基本使用

    MongoDB的介绍安装 关于MongoDB的介绍于安装可参考:https://www.cnblogs.com/DragonFire/p/9135630.html 除了官网下载,可以下载他人下载好分享 ...

  5. MongoDB入门(介绍、安装、增删改查)

    文章作者公众号bigsai,已收录在回车课堂,如有帮助还请不吝啬点个赞赞支持一下! 课程导学 大家好我是bigsai,我们都学过数据库,但你可能更熟悉关系(型)数据库例如MySQL,SQL SERVE ...

  6. Python MongoDB使用介绍

    MongoDB介绍 MongoDB是一个面向文档的,开源数据库程序,它平台无关.MongoDB像其他一些NoSQL数据库(但不是全部!)使用JSON结构的文档存储数据.这是使得数据非常灵活,不需要的S ...

  7. MongoDB(两)mongoDB基本介绍

    MongoDB介绍 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库其中功能最丰富,最像关系数据库的.他支持的数据结构很的松散,是类似json的bjson格式,因此能够存储比 ...

  8. MongoDB分片介绍

    本文简单介绍MongoDB的分片功能,对分片进行了概述,具体的功能详解,后续文章会陆续推出 分片是把数据分配到多个服务器上的一种方式,MongoDB使用分片实现大数据部署以及高吞吐操作. 大数据以及高 ...

  9. Mongodb简单介绍安装

    具体详细内容,请查阅 Mongodb官方文档 一.简单介绍 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. M ...

随机推荐

  1. Delegate,Action,Func,Predicate的使用与区别

    C#4.0推出后,类似Linq,Lamda表达式等许多新的程序写法层次不穷.与之相关的Delegate,Action,Func,Predicate的使用和区别也常常让大家迷惑,此处就结合实际的应用,对 ...

  2. Office转HTML

    /// <summary> /// word转成html /// </summary> /// <param name="path"></ ...

  3. C#将Excel数据导入数据库(MySQL或Sql Server)

    最近一直很忙,很久没写博客了.今天给大家讲解一下如何用C#将Excel数据导入Excel,同时在文章最后附上如何用sqlserver和mysql工具导入数据. 导入过程大致分为两步: 1.将excel ...

  4. 大话设计模式C++达到-文章16章-国家模式

    一.UML画画 二.概念 状态模式(State):当一个对象的内在状态改变时同意改变其行为.这个对象看起来像是改变了其类. 三.说明 以下是来自书本和网络的对状态模式的定义和分析: (1)状态模式同意 ...

  5. 使用Json让Java和C#沟通的方法

    原文:使用Json让Java和C#沟通的方法 最近很忙啊,新项目下来了,都没时间写博客了.频率降低点,但不能不总结跟大家分享啊. 我们在项目里经常要涉及到各模块间的通信,这其中又不可避免要碰到各类语言 ...

  6. 【百度地图API】建立全国银行位置查询系统(三)——如何在地图上添加银行标注

    原文:[百度地图API]建立全国银行位置查询系统(三)--如何在地图上添加银行标注 <摘要>你将在第三章中学会以下知识: 如何在地图上添加带银行logo的标注?(你也可以换成商场logo, ...

  7. C/S模式开发中如何利用WebBrowser控件制作导航窗体

    原文:C/S模式开发中如何利用WebBrowser控件制作导航窗体 转自: CSDN 相信不少同学们都做过MIS系统的开发,今天这里不讨论B/S模式开发的问题.来谈谈winform开发.用过市面上常见 ...

  8. outlook自动备份

    在 这里 下载 http://support.microsoft.com/kb/238782

  9. POJ 1637 Sightseeing tour(最大流)

    POJ 1637 Sightseeing tour 题目链接 题意:给一些有向边一些无向边,问能否把无向边定向之后确定一个欧拉回路 思路:这题的模型很的巧妙,转一个http://blog.csdn.n ...

  10. orleans开篇之hello world

    orleans开篇之hello world 什么是orleans Orleans是一个建立在.NET之上的,设计的目标是为了方便程序员开发需要大规模扩展的云服务.Orleans项目基本上被认为是并行计 ...