百科问答小站 logo
百科问答小站 font logo



2015年6月30日 闰秒 为什么世界多一秒钟会有这么大影响? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

关键是现在数据库里面存的时间的精度都是秒以下了,

而且,很显然的这个什么23:59:60这个时间是不存在的。


SQL Server的datetime2类型默认精度是7,也就是可以精确到0.0000001秒。


我们假设这一秒钟产生了1000条记录,那么这1000条记录存的时间应该是什么?

如果服务器时间没有对时,那么这1000条记录就会存到第二天的00:00:00.000000-00:00:01.0000000这个时间段里面,

然后过了这一秒后,时间应该跳到了00:00:01.0000000这个时间点了,结果这个时候服务器对时了,对时后发现现在还是00:00:00.0000000这个时间。

这样我们就会产生一堆超出当前时间的数据,譬如说00:00:00.0305742这种时间,这种数据事实上是上一秒钟产生的,但是我们的服务器不知道啊,我们的服务器只知道现在还是00:00:00.000000,这样一来记录的时间就会发生混乱。

最显而易见的就是自增标识字段和创建时间字段的排序可能会存在不等价的情况。

或者我们做统计数据,为啥这一秒的流量暴增两倍?

又或者我们按照时间戳增量更新数据,会不会把时间戳更新到了“未来”而导致数据丢失?

再比如我们记录轨迹,等等,这个数据为啥在这一秒钟呈现上下跳的情况?



很显然我们好吃懒做的程序员是不会考虑这种根本不可能发生的情况的,结果就是,,,,


===================================================================

我也是哔—了狗了,问题问的是为什么会有影响,那么影响的确是存在的,有可能出现在这几个方面。然后一群知乎政治正确的答案就来了,什么影响根本不大,最高票在瞎扯等等。

扯啥呢?

影响不大是不假,你家服务器一天的数据量连一万条都没有,有毛影响,你家服务器一天能漂移个一两秒,而某家的服务器一天数据量是几亿的级别,服务器一年对一次时都能保证没漂移。说的根本就不是一回事儿好不!

还有扯什么人为增加一个小时的,谁服务器里面存的是本地时间(local datetime)啊?


闰秒指的就是协调世界时(UTC)的调整,UTC时间是没有什么夏令时、时区等等一堆乱七八糟的标准时,所以闰秒才会带来问题。


其实要解决问题也跟简单,就是不要UTC时间就可以了,反正几年才差一秒根本无所谓的事情,其实大型系统都有自己的中心对时服务器,不要和UTC同步即可(或者同步但去除UTC闰秒误差)。

取消闰秒的呼声和放弃UTC时间的也不鲜见。

因为闰秒的唯一意义就是避免在几万年后UTC时间的正午12:00不是太阳直射0度经度线的时间,而这一点其实大家都不care,所以干脆就放弃UTC吧也挺好。


一秒钟产生的数据不超过两位数的,根本不用考虑这种问题,也随便你服务器漂移几十秒都可以,但是一秒钟数据几万,分布在几千台服务器的系统,时间漂移的耐受度就低得多。

没见过不代表没有




  

相关话题

  如何看待清华大学天文系教授、中科院院士李惕碚对广义相对论和大爆炸宇宙模型的批判? 
  「杀毒软件之父」75 岁约翰·迈克菲死于西班牙监狱中,他做出了哪些贡献,如何评价他的一生? 
  如何看待互联网大厂程序员因厌恶编程,辞去月薪2w+的工作去当司机? 
  如何看待美方认定中国无人机涉嫌窃取数据,大疆面临制裁?将产生哪些影响? 
  如何看待网络曝光多家公司网文「霸王合同」,网文行业还有哪些不为人知的内幕? 
  如何评价网易? 
  北京检察院发现微信青少年模式不符合法律规定,支持相关机关社会组织提起民事公益诉讼,哪些信息值得关注? 
  如何看待 3 月 1 日晚懂球帝发错新闻后却将指出错误的用户封号? 
  学编程一年,前两天到一家公司实习,今天主动提出离开,这两天是我第一次感觉到压力。我该怎么办? 
  如何理解百度公开的「可预测员工工作状态」专利?实际应用场景是什么,能发挥怎样的作用? 

前一个讨论
大三下学期了,比较熟悉C#但哪都看到JAVA薪资和发展都比.net好,想转学JAVA,还来得及吗?
下一个讨论
Windows里有什么程序或部件是从很早开始就沿用至今的?





© 2025-05-14 - tinynew.org. All Rights Reserved.
© 2025-05-14 - tinynew.org. 保留所有权利