高可扩展性数据库架构设计方法
23页1、高可扩展性数据库架构设计方法时宜 雅迅网络股份有限公司摘要:软件系统的规模化运作对数据库存取性能提出了越来越苛刻的要求,本文在目前流行数据库软件自身尚不能提供包含分布式管理、存储、负载均衡的综合解决方案的条件下,研究如何从应用层面解决目前用户群体庞大的软件系统在数据库存取性能方面的瓶颈问题。本文分析了仅仅依赖数据库软件本身解决性能瓶颈问题的困难和局限性,利用分而治之的思想,在应用层引入了Sharding的概念,切实地分析解决了数据库的扩展问题。本文认为横向向外扩展方案优于垂直向上扩展,隐含“分而治之”思想的水平分割、垂直分割能有效解决数据库性能扩展问题,从而为大规模用户容量、高并发访问的软件系统的建设提供了一种切实可行的性能扩展方法。关键词:数据库、性能扩展、Sharding、水平分割、垂直分割一、 引言不管是通过终端零售,抑或是通过与实力雄厚的中间运营商进行合作,面向社会大众的个人消费类 IT 产品,想要形成利润,必须通过规模化运作才能完成。掌握着能够从单宗商品交易中获取高额利润的高端、重量级 IT 解决方案的厂商实在是为数不多。而规模化运作对 IT 技术提出了越来越苛刻的要求。虽然
2、,在这个时代,已经有许多人提出了 NoSQL 数据库的概念,就是所谓的“去 SQL 化” 。如 Google 提出的 BigTable 等技术。但对于许多系统而言,旧式的关系型数据库软件,依然是不可或缺的重要法宝。可是,数据库不是银弹!简单地使用数据库软件,无法满足百万级、千万级用户的快速响应需求。许多声称精通数据库编程的人们,他们所能做的只是:1、 在一台物理服务器上安装一个数据库软件2、 按照数据库理论设计一些符合范式要求的数据表3、 更进一步可能他们还会建立一些索引、存储过程、视图4、 使用 ADO、ADO.NET、JDBC 或更高级的技术去读写这个数据库只是这些,受过正规训练的 IT 工作者在 12 年内应该能彻底掌握这些技术,他们可以用它来完成许多功能,但是这是最初级的层次。对于正式的商用系统的架构设计者,千百万级的用户对系统性能的要求会迫使他们在数据库软件的使用方式上思考更多。二、 设计理念(一) 向上扩展和向外扩展在计算机的世纪里,如果谈到软件运行缓慢,性能不足,最容易联想到的方法是增加投入,提高硬件的配置,似乎性能问题便可得到解决。业内,我们把这个解决方法叫做“向上扩展
3、” 。向上扩展即扩展到更大更强、也更昂贵的服务器上。需要特别指出的是,高端服务器极其昂贵,是购置同样处理能力和内存速度的多台服务器总和的很多倍。向上扩展的成本非常高,同时它仍然无法回避下面这个问题。中国有句古语云:“人力有时而穷” 。事实上, “机”力也有时而穷。按照目前的技术,无法不计成本、无止境地提高单台服务器的性能。就像 Intel 在冲击 4GHz 主频后,选择了转向“多核”技术一样。一般来说,大型系统倾向于向外扩展,因为从长期来看,即便是巨型数据库,最后也会不堪重负,向外扩展将让它们得以保留通过增加服务器以提升系统能力的后路,就像多核一样。向外扩展即部署大量相对便宜的服务器来分担数据库压力。最后用一句话来总结,只要增长趋势存在,我们最后无论如何都要走上向外扩展的道路。(二) 分而治之数据库的向外扩展,其本质是“分而治之”的思想。对于大型问题的求解,往往是将其分解为多个小问题,从而保证每个小问题都是更容易解决的,并且是可以同时解决的。这一点容易在传统行业中得到验证,这就像建造一座 50 层楼高的摩天大厦,工作量自然是相当大的。如何完成这个任务,我们需要的是一支分工明确的建筑队伍
4、,而不是一个超人。在数据库的使用上,一样的,这里的大用户容量和高并发相当于一座50层楼高的摩天大厦,每一个数据库服务器就相当于一个建筑工人,我们需要的是分工明确的数据库集群,而不是一个超级、巨型的数据库。三、 数据库集群技术(一) 常见数据库产品的集群技术1. SQL Server 系列1) 官方集群技术严格地说来,微软的 SQL Server 系列有个非常大的弱点,它的集群技术主要是针对高可用性的,对负载均衡没有太大的作用。用户在实际中遇到性能问题时,如果向上扩展不能解决问题,没有合适的集群方案解决,就意味着要移植到其他平台上,如 Oracle,采用 RAC 来解决。这将是一个即费财力、物力、人力,同时还要面临很大风险的一个艰难过程。但是又不得不走这条路,没有办法。SQL Server Cluster相对于单点来说 Microsoft Cluster Server(MSCS)是一个可以提升可用性的技术,Microsoft 称之为故障转移集群。 从硬件连接上看,很像 Oracle 的 RAC,两个节点,通过网络连接,共享磁盘;事实上 SQL Server 数据库只运行在一个节点上,当出
《高可扩展性数据库架构设计方法》由会员飞***分享,可在线阅读,更多相关《高可扩展性数据库架构设计方法》请在金锄头文库上搜索。
人教版一年级下册数学第二单元20以内的退位减法测试卷精品【考试直接用】
人教版一年级下册数学第二单元20以内的退位减法测试卷(实用)word版
人教版一年级下册数学第二单元20以内的退位减法测试卷及答案(夺冠)
人教版一年级下册数学第二单元20以内的退位减法测试卷(典型题)
人教版一年级下册数学第二单元20以内的退位减法测试卷精品(a卷)
人教版一年级下册数学第二单元20以内的退位减法测试卷及答案【精品】
部编版二年级上册道德与法治期中测试卷 (考试直接用)
部编版二年级上册道德与法治期中测试卷 带答案(培优)
部编版二年级上册道德与法治期中测试卷 含答案(精练)
部编版二年级上册道德与法治期中测试卷 及答案【各地真题】
部编版二年级上册道德与法治期中测试卷 及完整答案【名校卷 】
部编版二年级上册道德与法治期中测试卷 【考点精练】
部编版三年级上册道德与法治期末测试卷 (重点)
部编版三年级上册道德与法治期末测试卷 (模拟题)word版
部编版三年级上册道德与法治期末测试卷 附答案(预热题)
部编版三年级上册道德与法治期末测试卷 附参考答案(b卷 )
部编版三年级上册道德与法治期末测试卷 答案下载
部编版三年级上册道德与法治期末测试卷 含答案【夺分金卷 】
部编版三年级上册道德与法治期末测试卷 含完整答案【网校专用】
部编版三年级上册道德与法治期末测试卷 及答案(最新)
2023-06-28 10页
2023-11-07 3页
2024-01-01 4页
2022-08-12 3页
2022-08-18 16页
2023-10-15 5页
2022-09-26 34页
2023-10-14 7页
2023-09-16 3页
2022-10-23 21页