扩展数据库面临的挑战

扩展数据库的时候面临诸多挑战。

搜索

当搜索量很少的时候,搜索是简单的事。

当搜索量上来,比如达百万级的时候,可以把搜索内容按某种顺序排列。比如在字典中,按字母顺序排列。

并发

如果100万人需要同时用这本字典,这就是并发。

如何解决这个问题呢?

把这本字典复制100万份,专业术语叫"主从复制"。

再把100万份复制字典放到每个人的手头,专业术语叫"分布式策略"。

一致性

如果想修改字典,这时候100万人都在使用着字典,怎么办呢?

如果一本一本收回来修改,这就造成了一致性问题,有的修改了,有的还没有被修改。

如果全部收回来修改,造成了可用性问题,即在字典被收回阶段,人们无法使用字典。

还有一个方法,就是做一个"修改日志"或"附录",不修改原先的字典,把"修改日志"或"附录"分发给每个人。

死锁

在同一时间,有成百上千的人要修改数据库中的同一条数据,大家对这条数据都竞争。就像超市发礼品,越多的人争相拿同一个礼品,这就造成竞争,造成大家互相拥挤堵塞都拿不到礼品。而在数据库中,这叫"死锁"。

总结:在现实场景中,数据库分布在不同的地方,会出现很多人在同时修改同一条数据。这时候需要数据库设计,需要处理高并发避免死锁保持一致性,需要环环相扣的算法,这够很多数据库牛人忙活一阵子了。最终给用户的感觉或假象是:数据库只有一份拷贝,同一时间只有一个人在修改,用户看到是最新的数据,并且能立即响应。

参考资料:极客学院公众号

时间: 2024-11-06 11:07:39

扩展数据库面临的挑战的相关文章

Web开发面临的挑战主要有哪些?

摘要:要成为一名高效的Web开发者,这需要我们做很多工作,来提高我们的工作方式,以及改善我们的劳动成果.而在开发中难免会遇到一些困难,从前端到后端. 导读:要成为一名高效的Web开发者,这需要我们做很多工作,来提高我们的工作方式,以及改善我们的劳动成果.而在开发中难免会遇到一些困难,从前端到后端,近日,在问答网站知乎上,有人抛出了“Web前端开发面临的挑战主要有哪些?”和“后端开发主要的挑战有哪些?”话题,众技术大牛各抒己见,CSDN软件研发频道对本文内容进行了整理,方便大家学习与参考. 一.W

运营商网络采用SDN所面临的挑战(二)

运营商网络采用SDN所面临的挑战(二) Babak Samimi 在向电信级SDN演进的进程中,我们需要一起来深入研究一下MPLS-TP OAM以及OpenFlow所需的新扩展功能.MPLS-TP对故障监测和保护倒换提出了明确要求,而OpenFlow目前则尚未对故障监测或出错恢复提供明确支持. 故障监测 故障监测从NNI到UNI方向进行.然后,从MPLS-TP流中抽取OAM包,重新转送至合适层级的监测实体,如区段.LSP和PW等.Y.1731提供的故障监测利用的是名为RMEP(远端MEP或者维护

网络分流器-LTE面临的挑战

网络分流器-戎腾网络分流器-LTE面临的挑战移动互联网采集器10G和100G 移动互联网采集器支持10G和100G 无线资源的深度挖掘 频域扩展: 大宽带解决方案 不同带宽,统一处理 空域扩展 真正的自适应MIMO 全面的模式,统一框架 LTE发展面临的困境 网络结构的简化 层次简化--网络对用户来说:更近.更快.更简单.更透明. 横向灵活互联--全IP路由,移动性操作层面下放 ,更优化的局域漫游切换. 网络分流器 LTE面临的挑战 LTE标准定义了比3G标准具备更强的能力,但同时也对设备研发带

调试64bit程序所面临的挑战-part1

调试64bit程序所面临的挑战 如果到目前为止,你还没有调试过优化后的64bit代码,为了不落后于时代,那就赶紧去尝试吧.由于64bit下fastcall调用方式和大量通用寄存器的存在,找出任意栈帧中局部变量的值将会变得非常棘手. 本文,我将详述一些我非常喜欢的调试64bit代码的技巧.但在此之前,我们先对64bit下函数的调用方式做一个了解. X64调用约定 如果你熟悉32位平台下的fastcall调用约定,那么对64位平台的fastcall你也会觉得很熟悉.在32位平台下,你需要掌握多种函数

运营商网络采用SDN所面临的挑战(一)

运营商网络采用SDN所面临的挑战(一) Babak Samimi 将数据平面.控制平面与管理平面分隔开来所实现的软件定义网络(SDN)改善了OPEX及CAPEX,并且使得网络资源的集中调配和管理成为可能--SDN的这些优点广为人知.由于SDN带来的网络资源的集中化创建出了易于管理.易于自动化以及灵活度高的平台,运营商得以按需分配资源,并随着对网络内容的增添或使用的不断变动,实时地定义适当的业务.但是,在运营商网络上实现SDN的最大障碍在于,目前的SDN标准(包括业界钟爱的OpenFlow在内)都

运营商网络採用SDN所面临的挑战(一)

运营商网络採用SDN所面临的挑战(一) Babak Samimi 将数据平面.控制平面与管理平面分隔开来所实现的软件定义网络(SDN)改善了OPEX及CAPEX,而且使得网络资源的集中调配和管理成为可能--SDN的这些长处广为人知.因为SDN带来的网络资源的集中化创建出了易于管理.易于自己主动化以及灵活度高的平台,运营商得以按需分配资源,并随着对网络内容的增添或使用的不断变动,实时地定义适当的业务.可是,在运营商网络上实现SDN的最大障碍在于,眼下的SDN标准(包含业界钟爱的OpenFlow在内

移动APP支付面临巨大挑战,安全成发展“命门”

依据<中国第三方网络支付安全调研报告>,现如今移动互联网的飞速发展,网络支付为人们带来极大便利,APP的安全性也一直备受关注.山寨APP一方面,用户的身份.银行财产等相关数据和手机应用的绑定越来越紧密,另一方面,伺机而动的黑客们也抓住了这送上门的机会,在移动支付领域兴风作浪,将黑手伸进手机钱包甚至银行账户里面,移动支付安全面临巨大挑战. 据业内人士表示,当前阶段移动支付安全问题,已经成为整个行业的痛点,甚至是制约整个行业良性发展的绊脚石.据有关数据显示,目前在网民面临的各类安全问题中,&quo

医疗保健系统的网络安全 面临严峻挑战

作为致力于建立良好网络安全的厂商,趋势科技一直以来都扮演着安全产业内的两个角色.一个是日以继夜.不眠不休地努力让世界各地企业.政府和消费者免于最新威胁所害:另一个则是致力于让个人和组织都能更加认识威胁情势的变化,以打造一个更为安全的数字信息交流的世界. 而医疗保健是我们这两个身份目前都在努力中的目标.一方面,有越来越多网络犯罪分子将其当作目标,另一方面,也有部分组织对于病患健康数据(PHI)的外泄威胁反应迟缓. 医疗保健方面的资料入侵外泄占美国资料入侵外泄事件的43%  医疗保健记录对网络犯罪分

OC中并发编程的相关API和面临的挑战

OC中并发编程的相关API和面临的挑战(1) 小引 http://www.objc.io/站点主要以杂志的形式,深入挖掘在OC中的最佳编程实践和高级技术,每个月探讨一个主题,每个主题都会有几篇相关的文章出炉,2013年7月份的主题是并发编程,今天挑选其中的第2篇文章(Concurrent Programming: APIs and Challenges)进行翻译,与大家分享一下主要内容.由于内容比较多,我将分两部分翻译(API和难点)完成,翻译中,如有错误,还请指正. 目录 1.介绍 2.OS