其实任何简单的问题,只要规模大了都会成为一个问题,就如中国人口多,很多小问题都会变成大问题一样。但处理这种海量数据的方法无非就是分治和”人海”战术。使用人海战术的前提是问题的划分能够支持这种人海战术,其手段无非是切割(纵向,横向)和负载均衡。纵向分隔主要是按业务(功能)来分,也就是所谓面向服务架构,横向分隔方式比较多,主要依赖于所处理的对象属性,比如时间属性或者特定业务数据属性划分(比如铁路客票的车次(每个车次的操作基本上是独立的));负载均衡则可以是镜像(部署)分布(同样的功能部署几份)和计算分布(一个问题分几个子问题在不同的机器上运行,然后合并结果)。当然,这些手段是可以综合利用的,最终可以做成多流水线分布式计算模式。另一方面,在海里数据面前,通用的数据处理方式会很困难,高效的方法基本都是有业务针对性和数据针对性的。
1)海量数据处理的基本思想:分治(这种思想在日常生活中无处不在,蚂蚁都知道,一次运不完,分多次运)
2)海量数据处理的基本手段:切割和负载均衡(切割是降低规模,负载均衡是人海战术,人多力量大,同样,机器多也计算能力强)
3)海量数据处理的可靠性保障:多存几份(再好的机器也会坏,鸡蛋不要放在一个篮子里)
4)海量数据处理的最高境界:多流水线并行作业(很多工厂都这样干,用在计算机也没问题)
5)海量数据处理的最好方法:没有最好,只有适合(什么都想做好,基本等于什么都做不好)
....
至于高并发处理,最好的解决办法是针对特定的需求采用特定的方法,基本的方法包括加锁,排队等等。另外一个关键就是要尽量简化事务和减少事务。
有这种意识,只要去想,总能解决,没必要把这些技术搞得很神,从技术上来讲,海量数据处理所涉及的思想和算法都不是很难。
PS:这些天很多人都在鄙视铁路网上售票系统,也有很多人在为其出主意,我觉得没必要,真的,这些思想和技术不是很难的,至少我都能想到,做网上售票的这般兄弟姐妹也一定可以想到,至于为什么是这个结果,他们也只是“被”没技术。铁路是讲政治的地方,何苦皇帝不急太监急呢?
数据划分补充:如果按时间划分,2种情况,分数据库(早期很多企业级级业务系统,特别是财务系统都是这样做),分表(这种一般只针对特定业务表来进行)。按时间划分的时候需要注意单笔业务跨时间段得问题(很多软件都是在通过关帐开账把这种数据转到新的时间段里)。
2012-1-11:补充数据划分,按特定属性划分,用得最多的是按数据归属来划分,比如原来的帐套,现在云计算下的多租赁用户ID(企业用户ID),这种方式可以在三种级别上(表级,数据库(Oracle分用户)级,物理级(多数据库实例))实现,注意点缓存的话,利用负载均衡,可以无限扩展。这种基于现有数据库的模式,可靠性保证只能用数据库本身来实现,虽然用软件也可以实现同一份数据多地方存储,但比较复杂。另外,利用数据库的链接也可以实现纵向分库存放,而且对应用透明,但这种方式维护起来比较麻烦,很多时候也没有必要。(Oralce和SQLServer都可以,而且不同库之间还可以Join,看起来很方便,但不建议,业务紧密联系的还是要放在一起,不同库之间还是不要采用链接上Join,直接在内存中参照还快些)
上面都是说,等过两天有时间,我把我做的架构demo放出来,当然正式版是不能放的(也还没有),那也是公司的版权。
补充两个图:
只需要通过配置文件在数据访问调度层和数据库访问层做好动态处理,就可以实现数据中心内部分数据库存放和跨数据中心进行数据访问的功能。
更多信息请查看 java进阶网 http://www.javady.com/index.php/category/thread
分享到:
相关推荐
大数据通常指无法在一定时间范围内用常规软件工具捕捉、管理和处理的数据集合,它包括结构化、半结构化和非结构化数据,其中非结构化数据正逐渐成为数据的主要部分。据IDC的调查显示,企业中的数据有80%为非结构化...
初中语文文摘历史关羽是如何被神化的
【被神化的ESB(上)】 1、ESB概述 ESB,即企业服务总线,是企业级IT架构中的关键组件,主要用于促进不同系统之间的通信和集成。它的核心理念是在分散的、异构的系统之间建立一个中介,允许服务的发布、查找和消费...
标题中的“要杀死一切APP,微信应用号是不是被神化了?”引发了一场关于微信应用号对移动应用市场可能带来的变革和影响的讨论。微信应用号是腾讯微信团队推出的一种新型服务,它允许开发者通过HTML5技术创建轻量级的...
总之,《人月神化》不仅是一部里程碑式的软件工程著作,也是每个程序员和项目经理必读的经典,它对理解软件开发的本质和管理策略有着深远的影响。通过阅读这本书,我们可以从中汲取经验,避免重蹈覆辙,提升软件开发...
超级鼠标.exe和神化浏览器.exe是主程序文件,负责启动和运行这个神奇的浏览器。taskmainProject1.exe可能是一个后台任务管理组件,用于管理浏览器的进程和服务。sbrowser.exe可能是一个备用的浏览器执行文件,而0....
【神化伴侣】是拼音输入法用户的福音,专业选择键盘将会带您轻松进入最佳选择魔法操作时代... ... ★ 最佳选择 为您喜爱的输入法及其它输入法增加轻松选择、翻页、修改功能,智能ABC输入法在按下空格后、其它输入法在...
《完美支持神化虚拟鼠键的WPS办公版本详解》 在现代办公环境中,高效便捷的工具对于提高生产力至关重要。WPS Office作为一款广受欢迎的办公软件,不断更新迭代以满足用户需求。其中,“完美支持神化虚拟鼠键的WPS...
【被神化的ESB(下)】:在企业系统集成中,ESB(Enterprise Service Bus,企业服务总线)作为一种中间件,起到了关键作用。它不仅处理技术层面的集成,还涉及非技术因素带来的变化。当接口被擅自修改,导致功能A...
神化十绝: 复制 粘贴 删除 恢复 切换 选择 轻拖 回删 迷你 滚翻 【1(迷你、选择、回删)===36键实现中英文、大小写快速混合输入编辑】 下列(0)-(3)的操作对象是上次点击或者按空格后输入的英文 (0) ;;首字母...
6. **多线程处理**:在高并发环境下,中间库接口需要处理大量并发请求。Java的并发编程模型,如线程池、同步机制(synchronized关键字、Lock接口)和并发容器(ConcurrentHashMap等),是确保系统稳定性的关键。 7....
初中语文文学讨论现当代文学钱理群:中学语文课本神化和庸俗化了鲁迅
- 实际应用:探讨在海量数据存储和查询、反垃圾邮件、去重等场景中如何利用布隆过滤器。 5. **5分钟大白话什么是CAP定理.pptx** - CAP理论:概述分布式系统中的一致性、可用性和分区容错性三个基本属性,以及它们...
神化十绝: 复制 粘贴 删除 恢复 切换 选择 轻拖 回删 迷你 滚翻 【1(迷你、选择、回删)===36键实现中英文、大小写快速混合输入编辑】 下列(0)-(3)的操作对象是上次点击或者按空格后输入的英文 (0) ;;首字母...
“数据时代”强调了信息的量化和分析,大数据技术的兴起使得企业、政府和个人能够从海量数据中挖掘价值,预测趋势,做出决策。但同时,数据的滥用和不透明性也引发了公众对个人隐私和数据主权的担忧。 在面对这些...
《人月神话》是软件工程领域的一本经典著作,由弗雷德里克·布鲁克斯(Frederick P. Brooks Jr.)所著,首次出版于1975...这本书至今仍然具有极高的实用价值,对于任何从事软件开发和项目管理的人都有极大的启示意义。