美国公路系统对IT系统的借鉴

本人于12年5月到美国出了两周的公差,在此期间美国公路系统的发达高效给我留下了深刻的印象。

我们常听说美国是车轮上的国家,从某种意义上来说,公路系统的效率直接影响了国民的劳动生产率,而公路网的健全也促进了城乡之间的均衡。

这里我试图从性能的角度出发,记录几点美国公路系统对IT系统的借鉴。

一、读写分离

美国公路主要分州际公路、州内公路、乡村公路3个级别,大致对应中国的高速公路、国道、省道。

其中州际公路是卡车物流的要道,公路的两个方向之间有很宽的隔离带。州内公路虽然不一定设置隔离带,但是至少通过划线的方式区分行进方向。而乡村公路由于车流量小,往往只有一个车道,因此就没必要区分和标注了。

用IT的语言解读,这个设计相当于读写分离。

从需求的角度出发,读和写的操作都是正常流程的一部分,从逻辑上来理解并没有什么特殊性。但是如果读和写针对同一个数据库对象,那么我们就必须考虑并发性的影响:写操作造成的锁表会导致读操作的等待。

按照面向对象的方法论,如果读和写针对的是同一个对象,那么对象经过映射之后,所有操作针对的属性都应该放在同一个表中,那么这种映射关系的逻辑是最简洁的。

比如对于对象A,要读属性1,要写属性2,那么经过映射,相当于读表A的字段1,写表A的字段2。由于这两个属性放在同一个表中,那么对字段2的写操作会造成表A中这一行数据的锁保护,一直要等到锁保护解除(COMMIT/ROLLBACK)才能进行此行数据的读操作。因此这种设计可能会对性能造成影响。

举一个生产系统的例子。

比如工单这个对象,有工单的元信息如计划生产日期、产品号、数量等,此外还有工单当前所在制造工位和库位等信息。

一旦进入制造环节,那么工单的元信息就不会有变动,对它的操作只有读操作,但是很频繁,因为每个工位都会读取。

而工单的当前工位和库位会不断地变动,因此会不断地写,而每次的写操作都会造成数据行的锁保护,因此影响元信息数据读取。

因此从性能的角度出发,我们应该将工单的元信息放在一个表里,而将当前工位和库位等不断更新的属性放在另一个或若干个表里,从而实现了读写分离,这样写的操作不会影响读的操作。

二、冗余

美国公路系统中有3个例子,可以参照IT系统中冗余的概念进行理解。

1、城市公路中央隔离带

城市公路的2个走向之间有很宽的隔离带,当道路有转向时,隔离带区域缩小,留出一个车位的面积供左转向车等待时停泊。

这样设计的好处是转向车不会影响直行车,毕竟直行车对总体流量的影响是最大的,因为直行车道的畅通是优先级最高的。

2、小路等待区域

行驶在大路上的车辆,如果是绿灯,即使要经过路口,车辆的速度保持在正常行驶速度,司机不会减速行驶,因为大家都认为主路的行驶优先级高。

那么行驶在小路上的车辆,在驶入大路之前,可能会经过较长时间的等待,以避免和主道车辆争抢。因此小路在接入大路之前,所设计的区域应允许较多车辆的临时停留。

3、STOP牌

车辆行驶在住宅或办公区时,在与人车可能交汇的路口设置STOP停车警示牌,司机必须在此牌前将汽车减速停车(即使路口无人),确认安全后再通过。

这个举措表面上看起来是个明显的冗余,因为很多路口人车交汇的概率并不高,但是法律规定司机必须在此牌前停车,其意义何在呢?

这是因为事故出现的概率尽管很低,但是作为黑天鹅事件,是很难预测的,并且一旦出现事故就会造成堵塞交通的瓶颈。

因此尽管大家都增加了道路停留时间,但是恶性事故出现的概率降低了,因此这个冗余是合理的。

对于IT系统来说,冗余设计通常也是提升性能的有效方法。

以数据库查询性能来说,通常影响数据库查询的有以下3种情况:

1、分组查询

按照数据库的设计原理,当进行分组查询的时候,查询的字段类型为整型时效率是最高的,如果用字符型字段进行分组,则查询消耗时间会达成百上千倍之多。

因此当业务需要进行分组查询的时候,首先我们要在数据库里增加冗余字段,将要分组的字符型数据映射成整型数据,将数据按照整型字段汇总,然后将数据集与映射表关联,最终得到我们需要的业务数据。

从业务的角度出发,这个增加的整型字段就是冗余数据,但是它对提升性能是不可或缺的。

2、全表扫描

全表扫描是一个经常碰到的场景,会消耗大量的查询时间,解决方法很简单,是建立索引。

对于业务来说,索引也是冗余数据,但是效果立竿见影。

3、递归查询

对于递归的处理是数据库的弱项,即使数据库有一些处理递归的内置函数,但是往往还是会产生大量的查询时间。

一个常见的例子是BOM的结构。通常BOM采用多级父-子件关系来建立完整的结构,因此在还原时会有大量的递归查询,随着查询数量和层级的增加,查询时间会变得相当长。

对于此类查询,一个常见的解决办法是提前做数据处理,在业务发生之前,将BOM的结构查询出来,并且以展开的平表格式存储到表或物化视图中,这样业务发生时直接查询平表或物化视图即可。

也将是说,利用业务发生前的冗余时间,利用与业务逻辑无关的冗余数据,提前处理从而减少业务发生时的查询时间。

时间: 2024-10-11 23:57:38

美国公路系统对IT系统的借鉴的相关文章

Linux中断(interrupt)子系统之一:中断系统基本原理

这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于ARM这一体系架构,其他架构的原理其实也差不多,区别只是其中的硬件抽象层.内核版本基于3.3.虽然内核的版本不断地提升,不过自从上一次变更到当前的通用中断子系统后,大的框架性的东西并没有太大的改变. /*****************************************************************************************************/ 声明:本博内容

Node.js 的模块系统

Node.js的模块系统是借鉴 CommonJS 的 Modules 规范实现的,因此,下面我们需要先了解 CommonJS 的 Modules 规范,希望对大家学习Node.js有所帮助. CommonJS 的 Modules 规范 CommonJS 对模块的定义非常简单,主要分为 模块引用.模块定义和模块标识三个部分. 1. 模块引用 - require() 方法 2. 模块定义 - module.exports 对象 3. 模块标识 - 传递给 require() 方法的参数 通过 Com

远景能源如何搞定美国的第一个客户?亚马逊AWS你一定知道底细吧

提到能源企业,你脑海里最先浮现的影像是什么?笨重的设备.恶劣的现场操作环境--这都是老黄历了.记者在与远景能源IT总监龚迅交流后发现,虽然远景能源是目前国内装机量最大的智能风机设备提供商之一,传统的风机研发和制造业务仍占据相当重要的地位,但远景能源最擅长的还是风场的全生命周期监控和管理.从业务思路.IT建设.对云服务的理解和使用等角度来衡量,远景能源更像是一家能源领域的互联网公司. 远景能源位于美国硅谷,其全球数字能源创新中心总裁是原思科公司的高管,员工平时工作中可自由地使用云服务,其风电系统的

银行业自助缴费模式对物业行业的借鉴作用分析

在现今社会的银行网点窗口,我们经常可以看到一排排的银行ATM机展示在窗口处方便百姓存取款,这几年大家也会有一个发现,就是银行的人工柜台的窗口越来越少了,有时只有2-3个工作人员在柜台处理业务,而大多数存取款业务都让在ATM机上进行操作了.这是为什么呢? 答案是显而易见的,因为可以节省大量的人工费用,而且更快捷并减少了错误率.随着中国社会的进步,人员工资近几年随着增高,在公司企业中的成本也随之提高,特别是物业行业中,人员成本的费用支出占有很大一部分的份额,如何减少人员成本的支出也是各个物业公司企业

燃气壁挂炉综合性能测试系统

燃气采暖炉综合性能测试系统一.产品简介HX-101B型燃气采暖热水炉性能综合测试系统,是根据国际上此类产品的先进标准:欧盟协调标准EN483: 1999<中央燃气采暖炉额定热输入小于70KW的C型炉>和EN625—1996<集中供热燃气炉额定热输入不超过 70kW的技术要求>及我国GB-6932-2007,CJ/T228-2006标冷,采用进口及国内先进的器件及测试技术而开 发的.主要用于70kW以下(可根据用户要求调整)燃气采暖热水炉以及燃气快速热水器的性能综合测试.二.产品优点

Linux中断(interrupt)子系统之一:中断系统基本原理【转】

转自:http://blog.csdn.net/droidphone/article/details/7445825 这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于ARM这一体系架构,其他架构的原理其实也差不多,区别只是其中的硬件抽象层.内核版本基于3.3.虽然内核的版本不断地提升,不过自从上一次变更到当前的通用中断子系统后,大的框架性的东西并没有太大的改变. /***************************************************

北斗系统基础知识2(北斗一代定位原理详述)

需求说明:知识储备 内容       :北斗系统起源及工作原理 来自       :时间的诗 原文:http://bbs.tianya.cn/post-funinfo-3117078-1.shtml 1 定位系统中的老大(GPS的定位原理) 2003年5月25日,随着第三颗"北斗"1号导航定位卫星发射升空,我国自行研制的"北斗"(一代)卫星导航定位系统正式建成.这使我国成为世界上为数不多的自主建立卫星导航定位系统的国家之一.那么,这个系统有什么功能?它与我们熟悉的美

美国SK高防服务器|美国100G高防服务器|美国大带宽高防服务器

防御新阶段,美国sk100高硬防服务器,对美国高防服务器有需求的人来说,选择美国sk机房最合适. 美国SK机房是全美抗DDOS能力最强的机房之一, 该机房分布于芝加哥.丹佛两地,单台默认15G的DDOS防护. 默认每台服务器提供多达29个免费的固定IP地址.不限流量的大带宽等 单ip防御可达100G高防,并提供7*24小时的售后服务 美国SK部分配置: X3110 /4G /1.5T         100M独享    950元/月 I3-2100 /8G /1.5T      100M独享  

美国要建太空军?人类离星际争霸还有多远

今日导读 近日,美国政府提出要在 2020 年前完成太空军的组建计划.如果该计划得以实现,太空军将成为美国历史上的第六个军种.对此,外界惊呼美国或通过打造"星球大战 2.0 版"来实现"统治太空"的宏伟计划.组建太空军的提议并非一帆风顺,美国国防部长马蒂斯去年就曾公开批评这项提议.然而今年 8 月以来,马蒂斯本人对该提议的态度有了 180 度的转变.美国高层对于该计划最初的顾虑是什么?又是什么促成了他们态度的转变? 带着问题听讲解 Q1: 新闻的大标题暗含了哪些信息