YMU技术架构及数据库系统设计原则

原创 2007年09月18日 18:11:00

YMU技术架构

YMUYouMonitor.Us网络是遍布全球的网站监测网络,它利用P2P技术提供新型的网站监测服务,网络参与者通过贡献YMU-Node来得到全球分布的、免费的24x7网站监测服务。YMU-Node指监测节点,是YMU网络中的一个节点,是成千上万的监测客户端之一。YMU网络体现了互联网时代“我为人人,人人为我”的共享精神。

 

YMU是互联网上的应用,它面临的是海量数据及高并发访问的环境,我们需要采用大规模分布式技术和工具来进行YMU的开发和运营。基于对现有技术、工具和网站等的考察,我们决定采用LAMJ(LAMP)架构来进行YMU的开发。LAMPLinux, Apache, MySQL, Php/Perl的缩写,是目前很多web应用的基础架构。LAMP是成为开源的、可靠的、低成本的,发展到今天,其已成为web应用开发平台的标准。我们使用JAVA来代替其中的Php/Perl,并增加Tomcat用作动态内容。

 

YMU数据库系统设计原则

一般来说,对大型网站系统,设计数据库系统时需要考虑到性价比、伸缩性和可靠性等关键指标。

性价比

从性能和性价比等各方面考虑,我们觉得MySQL应该可以满足YMU的需要。

伸缩性

伸缩性是很重要的指标,它指当数据量不断增大、并发访问量不断增加的情况下,数据库系统如何方便扩充以容纳海量数据,并保持高效访问的方案和能力。

 

一般来说,目前存在两种伸缩方式:Scale-upScale-out

 

Scale-up指通过提高硬件能力,如增加更快的硬盘、更多的内存和更多的处理器,来提高数据库处理能力。其好处是确实能提高数据库处理能力;而缺点是企业级别的服务器硬件,如小型机等的价格一般都很昂贵。

 

Scale-out则指通过把数据分布到不同的数据库服务器来提高数据库系统的总体处理能力。其好处是伸缩性更强,而且价格便宜,一般不需要企业级的服务器硬件,只要一般的PC服务器即可满足要求;而其缺点是需要应用程序的配合,程序的复杂性会增加,数据库维护的复杂性也会增加。

 

YMU采用Scale-out方案,采用PC服务器作为数据库服务器,根据客户数目来增加新的数据库服务器以支撑更多的数据及更多的并发访问。

可靠性

可靠性是另外一个重要指标。当WEB系统上线后,需要24x7小时的高效运行,系统DOWN机时间越低越好。

 

目前,YMU采用Replication机制来达到一定程度的可靠性。Replication配置成master-slave模式,正常情况下,WEB系统访问master数据库中的数据,master数据库中的数据被自动复制到slave数据库中。当master数据库出现问题时,我们需要转换slave数据库为master数据库供WEB系统访问。当master数据库修复后,需要从slave数据库中复制新数据,然后再切换为主数据库运行。另外,正常运行时,slave数据库也可作为只读数据库供WEB系统访问,以减轻master数据库的压力。

 

下一步,YMU会采用高可靠性(High Availability)方案,即DRBD+HB+REPLICATION

l         DRBD,即Distributed Replicated Block Device,是LINUX下的第三方工具,它在block层次实现数据的复制功能;

l         HB(Heart Beat):是LINUX下的第三方工具,它可监测服务器运行状态,当主数据库出现问题时,可自动切换到备份服务器;它与DRBD结合,可实现MySQL的自动切换功能;

l         REPLICATION:可配置为master-slave模式,此时slave数据库可作为只读数据库以减轻master数据库的压力。

  <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script>

SQL数据库一般设计原则(一)

要开发一个基于数据库的应用系统,其中最关键的一步就是整个系统所依据的数据库的建模设计,从逻辑的到物理的,一个环节疏于设计,整个的应用系统便似建立在危房之上,随着开发过程的不断深入,它要随时面临着各种难...
  • yiwuxun
  • yiwuxun
  • 2014年10月30日 18:18
  • 1653

分享《架构真经:互联网技术架构的设计原则(原书第2版)》序言中的一段话

下面的一段话摘自《架构真经:互联网技术架构的设计原则(原书第2版)》序言,很有感触,拿出来分享一下: 马尔科姆·格拉德威尔在《异类》一书中提出了著名的“一万小时定律”,也就是说,任何凡人要成为...
  • lengyuewusheng99
  • lengyuewusheng99
  • 2017年11月11日 15:49
  • 342

技术架构之设计原则

分享一下培训资料总结,关于技术架构中的设计原则与模式。
  • BeyondHaven
  • BeyondHaven
  • 2011年07月06日 08:53
  • 2038

实时大数据系统的设计原则

Big data的管理是一个Internet-scale软件的最热门问题,随着Hadoop stack的发展,慢慢趋于完善 目前,File system、DB、DW、BI等一系列的层次结构都有相当代...
  • jefferyyansap
  • jefferyyansap
  • 2012年01月11日 18:01
  • 366

数据库设计范式及原则

数据库设计三范式 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足...
  • edgar1989
  • edgar1989
  • 2016年03月22日 20:48
  • 3167

数据库系统原理总结

重新拿起数据库原理,感觉明显不一样了。重新学习,学到的东西多了很多,出来混总是要还的,上次不会的,这次都得重新学一次。 关于数据库系统原理,我来讲讲我自己的理解: 1.数据库基础 2.关系运算 ...
  • wangdan1030
  • wangdan1030
  • 2014年09月24日 19:14
  • 943

大型企业门户网站设计开发一般性原则和建议

[适用范围] 本文所述的原则、建议适用于大型企业信息门户网站的设计和开发,注意不是小型企业网站、一般企业电子商务网站、企业级Web应用系统。 [一般性原则] 一、网站设计原则 第一原则:内容丰富、明确...
  • kbh1983
  • kbh1983
  • 2007年10月19日 16:17
  • 660

架构设计的原则

本文是对《架构即未来》一书第12章的总结; 1. 书中总结了一个好的架构应该具备的特点,但是有些特点个人感觉是重复的,中间起来应该有以下3个特点: (1) 具体的、可执行的;好的架构不应有太多虚...
  • hjx_1000
  • hjx_1000
  • 2016年12月07日 20:39
  • 687

数据库系统构成

数据库系统是由数据库、软件、硬件和用户组成。   而软件由有数据库管理系统DBMS、操作系统OS以及数据库应用系统DBAS组成 数据库管理系统:操纵和管理数据库的大型软件,用于建立、使用和维...
  • zhangya_0824
  • zhangya_0824
  • 2012年08月15日 11:17
  • 2275

数据库系统原理——关系模式

关系模式设计
  • zhangmeihong2
  • zhangmeihong2
  • 2014年09月11日 20:50
  • 1227
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:YMU技术架构及数据库系统设计原则
举报原因:
原因补充:

(最多只允许输入30个字)