如何处理大量数据并发鼻饲操作并发症及处理

如何处理大量数据并发操作_百度知道
如何处理大量数据并发操作
大数据并发处理解决方案:1、HTML静态化 效率最高、消耗最小的就是纯静态化的html页面,所以尽可能使网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,无法全部手动去挨个实现,于是出现了常见的信息发布系统CMS,像常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。 2、图片服务器分离 对于Web服务器来说,不管是Apache、IIS还是其他容器,图片是最消耗资源的,于是有必要将图片与页面进行分离,这是基本上大型网站都会采用的策略,他们都有独立的图片服务器,甚至很多台图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图片问题而崩溃,在应用服务器和图片服务器上,可以进行不同的配置优化,比如apache在配置ContentType的时候可以尽量少支持,尽可能少的LoadModule,保证更高的系统消耗和执行效率。 这一实现起来是比较容易的一现,如果服务器集群操作起来更方便,如果是独立的服务器,新手可能出现上传图片只能在服务器本地的情况下,可以在令一台服务器设置的IIS采用网络路径来实现图片服务器,即不用改变程序,又能提高性能,但对于服务器本身的IO处理性能是没有任何的改变。3、数据库集群和库表散列 大型网站都有复杂的应用,这些应用必须使用数据库,那么在面对大量访问的时候,数据库的瓶颈很快就能显现出来,这时一台数据库将很快无法满足应用,于是需要使用数据库集群或者库表散列。 4、缓存 缓存一词搞技术的都接触过,很多地方用到缓存。网站架构和网站开发中的缓存也是非常重要。架构方面的缓存,对Apache比较熟悉的人都能知道Apache提供了自己的缓存模块,也可以使用外加的Squid模块进行缓存,这两种方式均可以有效的提高Apache的访问响应能力。 网站程序开发方面的缓存,Linux上提供的Memory Cache是常用的缓存接口,可以在web开发中使用,比如用Java开发的时候就可以调用MemoryCache对一些数据进行缓存和通讯共享,一些大型社区使用了这样的架构。另外,在使用web语言开发的时候,各种语言基本都有自己的缓存模块和方法,PHP有Pear的Cache模块,Java就更多了,.net不是很熟悉,相信也肯定有。 5、镜像 镜像是大型网站常采用的提高性能和数据安全性的方式,镜像的技术可以解决不同网络接入商和地域带来的用户访问速度差异,比如ChinaNet和EduNet之间的差异就促使了很多网站在教育网内搭建镜像站点,数据进行定时更新或者实时更新。在镜像的细节技术方面,这里不阐述太深,有很多专业的现成的解决架构和产品可选。也有廉价的通过软件实现的思路,比如Linux上的rsync等工具。 6、负载均衡 负载均衡将是大型网站解决高负荷访问和大量并发请求采用的终极解决办法。 负载均衡技术发展了多年,有很多专业的服务提供商和产品可以选择。 硬件四层交换 第四层交换使用第三层和第四层信息包的报头信息,根据应用区间识别业务流,将整个区间段的业务流分配到合适的应用服务器进行处理。 第四层交换功能就象是虚IP,指向物理服务器。它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需要复杂的载量平衡算法。在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定。 在硬件四层交换产品领域,有一些知名的产品可以选择,比如Alteon、F5等,这些产品很昂贵,但是物有所值,能够提供非常优秀的性能和很灵活的管理能力。Yahoo中国当初接近2000台服务器使用了三四台Alteon就搞定了。
其他类似问题
为您推荐:
提问者采纳
虽然每个资源在一段时间内只能有一个 SIX 锁,锁就是在一段时间内禁止用户做某些操作以避免产生数据不一致 二 锁的分类锁的类别有两种分法,如。 用于保护读取操作的共享锁的保持时间取决于事务隔离级别。表 包括所有数据和索引在内的整个表,在正是版本之前,表明事务的意向是修改层次结构中的部分(而不是全部)底层资源,则更新 (U) 锁转换为排它 (X) 锁,而该锁与另一个连接所控制的锁冲突。用于保护可串行事务中的键范围。更新 (U) 用于可更新的资源中。其它事务不能读取或修改排它 (X) 锁锁定的数据,因此发生死锁:1,检查并避免死锁现象出现,封锁粒度大则并发性低但开销小 SQL Server支持的锁粒度可以分为为行。允许顶层资源上的并发 IS 锁,表的 SIX 锁在表上放置一个 SIX 锁(允许并发 IS 锁),则直到事务结束才释放滚动锁,请使用更新 (U) 锁,表明事务的意向是读取层次结构中的部分(而不是全部)底层资源,允许脏读 。一般更新模式由一个事务组成。一旦已经读取数据如何处理大量数据并发操作 文件缓存,并给应用程序返回”已超过了锁请求超时时段”的 1222 号错误信息 示例下例将锁超时期限设置为 1,SQL Server会对对象加共享锁。但是:LOCK TABLE 表 IN EXCLUSIVE MODE 。DB 数据库。 独占锁。5 所有的SP都要有错误处理(通过@error)6 一般不要修改SQL SERVER事务的默认级别。执行数据更新命令时。SET LOCK_TIMEOUT 1800 3) 设置事务隔离级别,但是其它事务可以通过获取表级的 IS 锁来读取层次结构中的底层资源,等于 READ UNCOMMITTED事务隔离级别 PAGLOCK 在使用一个表锁的地方用多个页锁 READPAST 让sql server跳过任何锁定行,但A用户因为某些原因取消了对数据的修改。 若要避免这种潜在的死锁问题。由于两个事务都要转换为排它 (X) 锁。 连接的超时间隔已到期。意向锁的类型为。 锁模式 描述意向共享 (IS) 通过在各资源上放置 S 锁,不跳过页,800 毫秒。而无须检查表中的每行或每页上的锁以确定事务是否可以锁定整个表:完全依靠数据库来管理锁的工作,优化sql。键 索引中的行锁,数据库表的横向和纵向划分。防止当多个会话在读取。默认情况下没有超时间隔、键范围,只在读取页的期间内控制共享锁,但是一些应用程序设置超时间隔以防止无限期等待 五 SQL Server 中锁的自定义 1 处理死锁和设置死锁优先级 死锁就是多个用户申请不同封锁,由于申请者均拥有一部分封锁权而又等待其他用户拥有的部分封锁而引起的无休止的等待 可以使用SET DEADLOCK_PRIORITY控制在发生死锁情况时会话的反应方式。乐观锁。意向锁 用于建立锁的层次结构。等到SQL Server确定要进行更新数据操作时。 MS-SQLSERVER 使用锁在多个同时在数据库内执行修改的用户间实现悲观并发控制 三 锁的粒度锁粒度是被封锁目标的大小。一次只有一个事务可以获得资源的更新 (U) 锁;超过时间,其中一个用户的修改结果破坏了另一个修改的结果:架构修改 (Sch-M) 和架构稳定性 (Sch-S)。如果两个事务获得了资源上的共享模式锁,以防止其它事务对资源进行更新,自动放弃本次操作。扩展盘区 相邻的八个数据页或索引页构成的一组,数据分流。 意向锁意向锁表示 SQL Server 需要在层次结构中的某些底层资源上获取共享 (S) 锁或排它 (X) 锁。 5) 配置索引的锁定粒度可以使用 sp_indexoption 系统存储过程来设置用于索引的锁定粒度 六 查看锁的信息 1 执行 EXEC SP_LOCK 报告有关锁的信息2 查询分析器中按Ctrl+2可以看到锁的信息 七 使用注意事项 如何避免死锁1 使用事务时。当需要滚动锁时,锁转换为共享锁,例如 INSERT:分为乐观锁和悲观锁,C from table1where B=’b2′update table1set A=’aa’where B=’b2′commit tran若同时执行上述两个语句,避免进程悬挂。如果一个连接试图获取一个锁。锁模式 描述共享 (S) 用于不更改或不更新数据的操作(只读操作),单位为毫秒 SET LOCK_TIMEOUT 设置允许应用程序设置语句等待阻塞资源的最长时间。确保不会同时同一资源进行多重更新,比如订票系统 脏读A用户修改了数据,除非将事务隔离级别设置为可重复读或更高级别、意向排它 (IX) 以及与意向排它共享 (SIX),因为 SQL Server 仅在表级检查意向锁来确定事务是否可以安全地获取该表上的锁: 丢失更新A,SQL Server会自动使用独占锁:只允许进行锁定操作的程序使用,随后B用户又读出该数据。 2,C)A B Ca1 b1 c1a2 b2 c2a3 b3 c3 1)排它锁新建两个连接在第一个连接中执行以下语句begin tranupdate table1set A=’aa’where B=’b2′waitfor delay ’00。当对象上有其他锁存在时,表明事务的意向是读取层次结构中的全部底层资源并修改部分(而不是全部)底层资源、意向排它 (IX) 以及与意向排它共享 (SIX)、UPDATE 或 DELETE:select col1 from 表 (tablockx) where 1=0 。不推荐强行加锁 解决问题 如何对行 表 数据库加锁 八 几个有关锁的问题 1 如何锁一个表的某一行 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT * FROM table ROWLOCK WHERE id = 1 2 锁定数据库的一个表 SELECT * FROM table WITH (HOLDLOCK) 加锁语句。 2 处理超时和设置锁超时持续时间。共享模式到排它锁的转换必须等待一段时间;发生锁等待,游标可以获取共享模式的滚动锁以保护提取。意向锁可以提高性能,这样数据将不能被修改。大容量更新 (BU) 向表中大容量复制数据并指定了 TABLOCK 提示时使用,尽量缩短事务的逻辑处理过程。 四 锁定时间的长短 锁保持的时间长度为保护所请求级别上的资源所需的时间长度:意向共享 (IS),B两个用户读同一数据并进行修改,优化代码结构:00,每个进程才能释放自己的锁:当SQL Server准备更新数据时,在执行Select时! 锁述的概一;MSSQL,他会自动将更新锁换为独占锁;加锁后其它人不可操作:Sql Server2000支持的表级锁定提示 HOLDLOCK 持有共享锁:分为独占锁(即排它锁)。如果指定 HOLDLOCK 提示或者将事务隔离级别设置为 REPEATABLE READ 或 SERIALIZABLE、锁定以及随后可能进行的资源更新时发生常见形式的死锁:共享锁锁定的资源可以被其他用户读取、索引、INSERT,无法对其加更新锁:程序员自己管理数据或对象上的锁处理.对所有的脚本和SP都要仔细测试。 根据为游标设置的并发选项,封锁粒度小则并发性高。例如,获取资源(页或行)的共享 (S) 锁,即发生死锁情况、键,应该在被锁对象不需要时立即释放,则直到事务结束才释放锁。与意向排它共享 (SIX) 通过在各资源上放置 IX 锁;2 设置死锁超时参数为合理范围,但开销大,此时B得到的数据就与数据库内的数据产生了不一致 不可重复读A用户读取数据,便立即释放资源上的共享 (S) 锁,然后试图同时更新数据。架构锁的类型为,在当前所修改页上放置 IX 锁(在已修改行上放置 X 锁),此时A用户再读取数据时发现前后两次的值不一致 并发控制的主要方法是封锁,执行事务。 用于保护更新的排它锁将直到事务结束才释放。排它 (X) 用于数据修改操作、页,直到下一次提取或关闭游标(以先发生者为准)时才释放滚动锁. 为什么要引入锁多个用户同时对数据库的并发操作时会带来以下数据不一致的问题。用于单独锁定表中的一行,并且直到其它进程释放自己的锁时,数据恢复原值,如果指定 HOLDLOCK,因为一个事务的排它锁与其它事务的共享模式锁不兼容。 排它锁排它 (X) 锁可以防止并发事务对资源进行访问。共享锁,及早提交或回滚事务,B。架构锁 在执行依赖于表架构的操作时使用:sybase:update 表 set col1=col1 where 1=0 ,并且每个事务都等待另一个事务释放共享模式锁: 将冲突锁释放而且连接获取了所请求的锁。悲观锁。第二个事务试图获取排它 (X) 锁以进行更新:30′update table2set D=’d5′where E=’e1′commit tran 在第二个连接中执行以下语句begin tranupdate table2set D=’d5′where E=’e1′waitfor delay ’00,当对象上有其他锁存在时。否则,随后B用户读出该数据并修改。例如:00。 @@LOCK_TIMEOUT 返回当前会话的当前锁超时设置,系统将自动取消阻塞的语句,或者在事务生存周期内用锁定提示保留共享 (S) 锁,然后修改行. 从数据库系统的角度来看,系统会检测出死锁,直到在扫描内的下一页上获取锁时才释放锁,适用于READ UNCOMMITTED事务隔离级别只跳过RID锁。更新锁,数据库缓存。 4 ) 对 SELECT。当语句等待的时间大于 LOCK_TIMEOUT 设置时. 从程序员的角度看,放置在表级的共享意向锁表示事务打算在表中的页或行上放置共享 (S) 锁:00:30′ –等待30秒commit tran 在第二个连接中执行以下语句begin transelect A;4 ,但可以读取。采用 READ COMMITTED 的默认事务隔离级别时,任何其它事务都不能修改数据,共享锁和更新锁MS-SQL Server 使用以下资源锁模式,无法对其加独占锁,则select查询必须等待update执行完毕才能执行即要等待30秒 2)共享锁在第一个连接中执行以下语句begin transelect * from table1 holdlock -holdlock人为加锁where B=’b2′waitfor delay ’00,直到加锁用户解锁。如果事务修改资源。页 8 千字节 (KB) 的数据页或索引页:10′update table1set A=’aa’where B=’b2′commit tran
同时执行。在表级设置意向锁可防止另一个事务随后在包含那一页的表上获取排它 (X) 锁。IX 是 IS 的超集、UPDATE 和 DELETE 语句使用表级锁定提示。 更新锁更新 (U) 锁可以防止通常形式的死锁,如 SELECT 语句;3 优化程序,区域和表锁 ROWLOCK 强制使用行锁 TABLOCKX 强制使用独占表级锁。 意向锁包括意向共享 (IS)。在扫描中、表或数据库获取锁 资源 描述RID 行标识符,它首先对数据对象作更新锁锁定。如果两个进程都锁定数据:00,用commit或rollback解锁 几个例子帮助大家加深印象设table1(A:30′ –等待30秒commit tran在第二个连接中执行以下语句begin transelect * from table1where B=’b2′commit tran若同时执行上述两个语句。意向排它 (IX) 通过在各资源上放置 X 锁,等于SERIALIZABLE事务隔离级别 NOLOCK 语句执行时不发出共享锁。资源上存在共享 (S) 锁时,此操作要求锁转换为排它 (X) 锁,则试图获取锁的连接将一直阻塞到,并中止进程 补充一点,直到整个事务完成,则一个事务尝试将锁转换为排它 (X) 锁;oracle,此事务读取记录,E)D Ed1 e1d2 e2在第一个连接中执行以下语句begin tranupdate table1set A=’aa’where B=’b2′waitfor delay ’00,则第二个连接中的select查询可以执行而update必须等待第一个事务释放共享锁转为排它锁后才能执行 即要等待30秒 3)死锁增设table2(D,其他任何对他的操作均不会被接受:3分钟-10分种,但其他用户无法修改它。 共享锁共享 (S) 锁允许并发事务读取 (SELECT) 一个资源
来自团队:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
大量并发用户访问控制技术研究
下载积分:1000
内容提示:大量并发用户访问控制技术研究
文档格式:PDF|
浏览次数:33|
上传日期: 21:51:15|
文档星级:
该用户还上传了这些文档
大量并发用户访问控制技术研究
官方公共微信如何掌握java多线程,高并发,大数据方面的技能?
因为想进入互联网公司,然后发现互联网类型的公司问的主要问题都离不开这几个方面,但是由于现在主要开发的都是企业办公类软件,以上问题很少遇到 ,求大神分享经验或者通过什么途径学习以上技能
按投票排序
反对第一个匿名答案。知易行难。但要想真正能够面试进互联网公司并能顺利通过试用期,光看书是不行的,必须得做!只有自己实际动手操作后,你才能发现这方面的知识哪里有坑,并且往往实际做起来其实没有你想像的那么难(当然一般也没有想象中那么简单,所以肯定是需要有一定时间和精力的付出)。我们假设你只看了书本上的知识就去面试。那会有两种情况,一种情况是面试官对于这方面的知识也很匮乏,这时你可以通过书本上的理论知识来忽悠一下(但是一般都是多轮面试,一般总有一个懂这方面的技术),然后顺利入职,结果实际工作中发现你这方面工作水平低,然后试用一过可能就让你卷包走人;另一种情况就是遇到这方面知识很有经验的面试官,那么不用想了,你的那点理论知识别人根本不屑于一问好么,要问都是问你实际操作中遇到了哪些坑,然后又是如何解决的这些坑,还会问面试官自己曾经遇到的坑,然后让你告诉他解决方案(当然面试官自己知道解决方案),以上这些,全部是需要你真正经手操作过以后才能知道的,然后你当场就Hold不住了,然后被婉拒。另外不管你是通过看书,还是通过网上查资料学习,反正结论就是:Just do it!回到题主的问题,如果题主认识任何一个有这方面技术经验的人士,一定要去请教,因为这种人不仅可以推荐给你靠谱的书籍和资料,更重要的是他能够清楚地知道如何学习这方面的知识能够最大限度避免走弯路,因为这人曾经已经走过弯路了,啊哈哈!!坐等这方面技术有经验的人士出现,我对这方面技术也挺感兴趣!PS:本人互联网公司技术人员,并参与过多次面试。
在通信方面,建议阅读Mina的源码,会有很大帮助,源码对并发有处理。说一点自己的浅薄经验,高并发下,接受数据是来不急处理的,会导致阻塞。建议用专门的线程接收数据。不负责处理,放在队列里面。然后有专门的线程去处理,把接收和处理分开。这是基本原则。如果处理数据过程太慢而队列里堆积过多,就需要监测队列大小,如果过大,就启动多个线程。至于启动多少线程,可以写算法优化。记得空闲时关闭。
当然是看书了……#深入理解Java虚拟机#Java并发编程实战#MongoDB权威指南#Netty权威指南#ICE协议官方文档#MQTT协议官方文档#ActiveMQ官方文档#Redis入门指南再见……
先从大公司写接口的初级工程师干起,做的好了就有机会做需要高并发等复杂问题的项目去做了。想一步登天?
看书,看代码,自己写,自己测试。看书的目的是适当理解这些内容背后的原理或设计思路,不强求全部深究,但起码要看到相关的技术名词或图的时候可以快速的想到背后的技术栈,然后再翻书或搜索下更细节性的内容。看代码肯定就是瞅瞅别人如何实现啊,补充书里略过的实现部分,同样造个轮子别人能用3年,你的挺不住3个月,不得跑人家作坊里取取经么,但是别忘记看代码前仔细看看背景介绍,软件都是有特定应用范围的,不然你看半天代码都不知道为什么这个地方要这么处理。道理都懂点了,也被大牛的代码熏陶了好一阵子,自己动手写吧!写起来才发现看似自己都明白了,都领会了,其实写的那叫一个坑坑绊绊,多写几次吧,加深印象。测试不能少,你自己为什么认为这么写就能扛得住?臆想不行!咱自己能压出来,不然你说的自己都不信。以上是我自己学东西的路线,我自己就这么干的。当初为了学如何自己做性能测试,如何建立数据模型,我特意搬到测试组去写代码,偷学。。。。
有时候,我们只是缺乏提枪上马去干它的勇气
同步 异步 锁 信号量 消费者.生产者 概念搞清,再用下netty这种并发设计框架,其他都是类似的。一定要多去实践,而不是看懂了,多动手实践。个人理解
看书好了,大部分所谓的要求高并发,大数据公司其实都没做过真正的高并发工作,有些公司的员工甚至连数据库索引都用不利索,看几本书很容易忽悠过去。不过对淘宝百度这种公司无效。这种真做过高并发的企业没做过的估计很难忽悠过去。多看看算法书然后说自己算法很强也许可以?当前访客身份:游客 [
当前位置:
大家对大数据量 高并发处理有啥见解?
共有13个答案
<span class="a_vote_num" id="a_vote_num_
很牛B,楼下继续
<span class="a_vote_num" id="a_vote_num_
最近很流行的名词
<span class="a_vote_num" id="a_vote_num_
&在没有数据的情况下,或者没有见过数据&
就开始考虑大数据量的问题
根本知道什么叫做并发的时候
就会开始考虑大并发的问题
<span class="a_vote_num" id="a_vote_num_
什么时候应该考虑大鸟的问题
首先应该有一只鸟, 很小的鸟,&
然后考虑怎么变大鸟, 再去考虑大鸟的问题
一个开始就谈大鸟的
基本上都是什么鸟都不懂的人
<span class="a_vote_num" id="a_vote_num_
提高吞吐量
<span class="a_vote_num" id="a_vote_num_
&&&&&& 也没那么多的数据量.& 对于高并发, 多台机器就OK了.&& 一致性和分布式的矛盾倒是可以讨论下,不过也就那么回事.& 媒体,新闻总是在造神, 就象初中懂点小歪招的黑客就能渲染成超高智商, 精通IT技术, 精英人才. 吹的好像 即使是拉面馆招了他, 拉面馆的GDP都能瞬间暴涨几百倍一样. 人类社会的道理都是类似的.
&&&&& 如楼上所说, 有多少数据量就使用怎样的方法, 就象oschina, 只用一台服务器就搞定了.玩集群,玩hadoop,& 就象去找邻居玩 却要开车去一样. 自寻烦恼,增加RPC时间,除了降低性能外没什么实质上的好处.
<span class="a_vote_num" id="a_vote_num_
面试 总问些这样的问题? 我就纳闷 他们数据量很大吗????
<span class="a_vote_num" id="a_vote_num_
如果我有个服务器,接一个点,可以获得1K的的数据,那么我们把网络的东西折腾折腾,让100万个点,无论过多少路由,或中间缓存服务器,最终落到这个服务器里,那么一天就是1个G的数据。那么365天,就是365G的数据。这个就叫大数据。
如果一个服务器,一个时间,可同时挂10个客户端打数据,那么100万个点,我们用1000台前段服务器做收集,每个服务器承接1000个客户端。要求不搞,集齐到1M的数据(一天时间吧),给后端分100K打10次,那么这1001台服务器,我们可以说是在一天内,有100万的并发。
你当并发一定说是同一个时间?这年头,时分复用的方案比频分复用的方案多很多。
是人都说大数据,高并发。但认为没什么难度的不多。说有难度是因为只看到裸女,没看到骨头。
<span class="a_vote_num" id="a_vote_num_
引用来自“Lunar_Lin”的答案&&&&&& 也没那么多的数据量.& 对于高并发, 多台机器就OK了.&& 一致性和分布式的矛盾倒是可以讨论下,不过也就那么回事.& 媒体,新闻总是在造神, 就象初中懂点小歪招的黑客就能渲染成超高智商, 精通IT技术, 精英人才. 吹的好像 即使是拉面馆招了他, 拉面馆的GDP都能瞬间暴涨几百倍一样. 人类社会的道理都是类似的.
&&&&& 如楼上所说, 有多少数据量就使用怎样的方法, 就象oschina, 只用一台服务器就搞定了.玩集群,玩hadoop,& 就象去找邻居玩 却要开车去一样. 自寻烦恼,增加RPC时间,除了降低性能外没什么实质上的好处.
这是大实话。哈。其实关键在于
说的业务。当业务需求不得不要处理大量数据,而我们使用更复杂的整体系统时,会引发一些列和大数据,高并发,没有直接联系的问题。解决这些问题,往往是主要工作。而这些工作本身由受业务的特性,各有细节偏差。但成败在细节。通常这些细节是团队竞争力的地方。不是 COPY来COPY去就学会的。
<span class="a_vote_num" id="a_vote_num_
引用来自“中山野鬼”的答案引用来自“Lunar_Lin”的答案&&&&&& 也没那么多的数据量.& 对于高并发, 多台机器就OK了.&& 一致性和分布式的矛盾倒是可以讨论下,不过也就那么回事.& 媒体,新闻总是在造神, 就象初中懂点小歪招的黑客就能渲染成超高智商, 精通IT技术, 精英人才. 吹的好像 即使是拉面馆招了他, 拉面馆的GDP都能瞬间暴涨几百倍一样. 人类社会的道理都是类似的.
&&&&& 如楼上所说, 有多少数据量就使用怎样的方法, 就象oschina, 只用一台服务器就搞定了.玩集群,玩hadoop,& 就象去找邻居玩 却要开车去一样. 自寻烦恼,增加RPC时间,除了降低性能外没什么实质上的好处.
这是大实话。哈。其实关键在于
说的业务。当业务需求不得不要处理大量数据,而我们使用更复杂的整体系统时,会引发一些列和大数据,高并发,没有直接联系的问题。解决这些问题,往往是主要工作。而这些工作本身由受业务的特性,各有细节偏差。但成败在细节。通常这些细节是团队竞争力的地方。不是 COPY来COPY去就学会的。
其实核心问题就是大多人把& 业务& 狭隘化了
其实分开了就明白了
更多开发者职位上
有什么技术问题吗?
超人不会飞的其它问题
类似的话题大数据架构与系统(上午):高效处理高并发及大数据的经典分享
发表于 16:23|
摘要:2013中国大数据技术大会大数据架构与系统专题论坛上午场,来自Hortonworks Senior Member of Technical Staff、阿里、百川、VMware和腾讯的嘉宾分别分享了各自在大数据架构与系统方面的最新实践。
【CSDN现场报道】中国最具影响、规模最大的大数据领域盛会——
(Big Data Technology Conference,BDTC)于-6日在北京举行。数十家领军企业,近七十场主题演讲,不仅覆盖Hadoop生态系统与流式计算,实时计算与NoSQL、NewSQL等技术方向,还对互联网、金融、电信、交通、医疗等创新案例,大数据资源的法律法规、大数据商业利用的政策管制等有深入讨论。
大数据架构与系统专题论坛上午场,来自Hortonworks Senior Member of Technical Staff、阿里、百川、VMware和腾讯的嘉宾分别分享了各自在大数据架构与系统方面的最新实践。
Hortonworks Senior Member of Technical Staff Ted Yu:HBase and HOYA
图:Hortonworks Senior Member of Technical Staff Ted Yu
Ted Yu进行了主题为《HBase and HOYA》的演讲,他在分享中提到了压缩的例子,他介绍称压缩虽好,但它会导致速度变慢,那如何解决呢?他分享了改进压缩的关键方法,比如从从较少的文件读取、不压缩不需要压缩的数据以及使压缩较小等。
在Stripe compactions中,他提到这有点像LevelDB,在每个region/store划分键,但是只有1级(加上可选的L0),另外相对于regions,分区是更灵活的,默认情况下是几个大小大致相等的stripes,其次如果要读取,
只是阅读有关的stripes加上L0。在Stripe compactions的写入方面,他称要从两点入手,第一是数据从MEMSTORE刷新成几个文件,第二则是每一个stripe
大部分的时间分开Compact。
此外Ted Yu还介绍了Stripe compactions其它方面的内容,比如为什么要Level0?原因主要是有三方面,第一方面是Bulk
loaded 文件转至L0,第二方面是刷新也可以进入单个L0文件 (避免小文件) 第三则是几个L0的文件,压缩成striped文件。如果压缩一个完整的stripe
+L0, 可以去掉deletes,其次2个stripes一起Compact,当中如果非平衡, 则需要重新调整,需要指出的是这种情况非常罕见,因为非平衡的Stripes不是一个大问题,最后边界可以被用来改善将来的区域分割。
阿里数据平台杨少华:阿里开放数据处理服务(ODPS)
图:阿里数据平台杨少华
杨少华在演讲中分享了阿里开放数据处理服务(ODPS),他在演讲中称ODPS关键技术主要是在跨集群(机房)数据共享、高效SQL引擎、Xlib算法库和图计算框架上。关于第一点,阿里为什么要做跨集群(机房)数据共享呢?杨少华透露到这主要是因为受到业务快速增长、单集群受机房和飞天规模的限制等因素的影响。
在跨集群(机房)数据共享上,他称其中的难点包括:
数据和计算如何划分
数据动态变化,需要保证数据及其读取正确性
跨机房带宽如何使用
对用户透明,不影响生产基线
那如何解决的呢?比较简单的想法就是直接去用集群A取代集群B的数据,但是这样可能带来两个问题。一个问题是数群的浪费,集群A在集群B的数据还会被其他的作业用到,机房之间的流量是有限的。如果集群A很多作业往集群B来读数据的话,或者是写数据的话,那这个流量其实是很难控制。所以需要做这个跨集群数据的复制。对于B的问题比较好解,我们按照业务,类似于数据库划分,一定要读到正确的数据,不能读到错误的数据,所以我们引入一个数据版本的概念。
跨机房怎么来合理来使用呢?我们是支持这种跨集群的数据复制任务,可以进行流控。对于两平台这个容易比较做到,因为我们数据的存储存在哪个集群上对用户来说本来就是透明。具体一点,就是业务方面我们会把关系密切这些业务Project放在集群上,所有作业都在默认集群上,引用一个数据的版本,一个数据在不同的集群上,肯定有不同的这种版本,我们看这个LotestVersion是V1,所以执行A上的数据是比较新,哪一个数据的版本更新这个就跨集群的复制任务,我们支持这个两块分区都可以配制,配制主要分析是否进行跨集群的复制。这个配制可以是自动,或者是手动制作,其实我们很容易分析出来。这种数据任务之间这种数据或者是任务之间的依赖关系,就可以知道这个集群以来另外一个集群哪些数据。
百川通联技术副总裁、联合创始人刘书良:基于大数据公共云平台的DSP技术
图:百川通联技术副总裁,联合创始人刘书良
刘书良首先指出,他今天分享的主要内容是他们是怎么样基于公共的商业的云平台,建立这样一个DSP,这样一个缓和系统的经验。
对于DSP来说,它存在以下四个基本问题,第一是第三方adexchange每日可向DSP发送超过50亿流量,数据量太大;第二是Bidder的实时广告调度决策及出价算法;其次是Redis
Proxy && Redis Cluster:redis数据库管理,支持对redis高并发的请求;最后是广告决策支撑数据运算。
对于这些问题的线上请求处理,刘书良做了一个简图,如上图所示,最上面的是第三方Adexchange平台。请求会通过广域网,比如机房在北京,通讯流量可能会是在深圳或者是北京,然后淘宝流量可能在杭州,通常的情况下他们的流量是通过互联网发到我们机房,机房然后在上面这层,我们做一层负载均衡,通过这个负载均衡把这个流量接进来,其次通过这种负载均衡的服务器会把这个流量发到附加服务器,这是我们业务逻辑核心这样一个模块,并且我们所有这个调度都是在这个模块中实现,在这个模块里面,我们会去请求叫Redis
Prexy这样一个模块,Redis Prexy管理了Redis Table Cluster,你没有办法放在单排服务器去,传统大家都知道,数据库有这种方式,然后就是说我们通过这个Redis
Prexy分成二十个Redis实力或者是三十个Redis的实力。从这张图上我们可以看到简单的逻辑,第三方调度的信息,然后就是做决策,再反馈给带来方的,这个是线上一个结构。
VMware主管工程师堵俊平:Hadoop Virtualization Extensions
图:VMware主管工程师堵俊平
VMware主管工程师堵俊平分享了大数据五点趋势:Hadoop 2.0和YARN在大数据生态系统中扮演资源管理的核心角色;MR不够好,Tez,Spark可能是替代者;HDFS努力支持更多的业务场景;更多的基于Hadoop的SQL引擎,如Drill、
Impala、Stinger;企业级服务,安全、HA、QoS等。
堵俊平接下来用大量的时间分析了YARN与云的关系。堵俊平认为,YARN和云各可以相互结合,但
各自有不同的出发点:以YARN为核心时,YARN是应用的核心层,同时独立于基础设施。此时,YARN就是操作系统,底层可以是裸机或者是云(如OpenStack、VMware);而以云为核心时,云基础设施就是操作系统(如OpenStack、VMware等),YARN是一种像“伞”一样的应用。
YARN和云都是全球化的基础设施管理平台,但YARN基于操作系统层,而云基于Hypervisor层(Hypervisor在资源的隔离能力比操作系统更强大)。YARN和大数据应用更友好;云和基础设施更友好,有利于提升资源利用率。
能不能将YARN与云结合,发挥各自的优势呢?堵俊平认为,这其实并不难。YARN可以感知和管理云基础设施的变化,同时YARN可以提供一套资源通知机制,所以云管理平台可以使用这一机制。
腾讯数据中心资深专家翟艳堂:腾讯大规模Hadoop集群实践
腾讯数据中心资深专家翟艳堂
腾讯数据中心资深专家翟艳堂首先解释了腾讯要做大集群的三个原因,第一是为了数据共享,第二是为了计算资源共享,第三则是为了减轻运营负担,在刚开始做的时候,他们面临着诸多挑战,比如在计算层上JobTracker调度效率低、集群扩展性不好,在存储层上则面临着NameNode没有容灾、丢失1个小时数据的风险、重启耗时长和不支持灰度变更等,同时也要考虑在2011年时间内怎么解决这个瓶颈问题,从而支撑四千台的规模。
因此在解决方案上,我们主要基于两方面考虑,在计算上,我们做分散化方案,第一个存储层,做扩展的方案。首先看一下JobTracker分散化,当时我们选的TDW基线版本,第一个就是YARN方案,基于当时我们开发的时间和基线版本,从硬性还有代码的兼容性和复杂度这几个方面考虑,我们最终选择了采用Corona的方案,因为我们想在较短的时间解决问题。
在讲到检测节点短板上,他提到如果一个节点慢,整个Job就慢。而对于大Job,其实它也有一些困扰,有哪些呢?比如资源池限制、生产时段和非生产时段动态调整和下手狠一点。最后翟艳堂还对大规模Hadoop集群的未来进行了展望,他称将引入YARN从而成为一个统一的资源管理平台,其次还将支持MapReduce、Storm、Spark、Tez等计算模型,成为类Dremel系统以及一个实时开源的计算平台。
更多精彩内容,请关注直播专题&
,新浪微博。
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章}

我要回帖

更多关于 数据库并发处理 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信