当前位置:380元网站建设 虎网站 > 网站维护 > 正文

什么是有把握的网站数据库架构?

发布日期:2020-02-02
下面的数据库架构,以我的经验,是比较有把握的。
 
单主服务器,多从服务器。

对于主要是读操作的应用,传统的伸缩方法是对数据进行复制一一有的时候是多个复制这时候的伸缩可以很好地工作。使用复制从服务器分担主服务器的负载,并在从服务器上执行那些CPU耗时的操作。

对于从服务器,要比你执行例行运维任务所需要的数量要多加一台,将这台服务器用于特定任务。从这台服务器上做备份,然后再将备份恢复回去,测试看有没有问题。在这台服务器上运行耗时的cron作业,以对数据进行汇总,将这些汇总数据用于数据分析的查询,然后将结果导出,再批量导人到主服务器。使用基于会话的读写分离策略,以分担主服务器的 SELECT查询。这些事情要在应用程序生命周期的早期就开始做。假如一台从服务器失效了,将这台从服务器的工作转到另一台从服务器即可,因为从服务器之间并没有什么区别。对这种简单的失效转移,可以使用各种负载均衡器来实现。

什么是有把握的网站数据库架构?

虽然这种架构很好,但仍然存在一些令人头痛的问题:不容易实现离线的数据库模式更新,因为通常数据库模式更新是在主服务器上完成的,在更新时会阻塞对正在进行更新的表的访问。而在 ALTER TABLE命令复制到从服务器上时,复制可能会延迟,这样所分担的主服务器负载的数据就会过期或延迟。这种主-从架构很难自动实现主服务器的故障转移,因为主服务器和从服务器的配置是不一样的,所以,一旦主服务器失效,则必须手工进行失效转移。不过,这种单一故障点实际上并不那么脆弱,随着从服务器越来越多,从服务器的失效会比主服务器的失效更为常见。

主服务器一主服务器复制,外加从服务器。

这种方式实际上与ー台主服务器加多台从服务器的架构一样,但这时候主服务器本身也成为了从服务器。这种架构的主要优点是,在协同同的主服务器之间更容易实现失效转移和失效转回。这解决了那些令人头痛的问题,如在线更新数据库模式。主要的缺点是,向两台主服务器进行写人存在风险,会导致数据存在某种不一致性,这种不一致很难防范,出现了不一致也很难解决。除非你特别小心,并使用特权级别进行限制,否则,简直就是期待着导致这种不一致的错误的发生。

功能分区。

随着应用的增长,这倒是个好主意。将应用中成本最高的那些部分移到特定的服务器或特定服务器的集群上,例如,将会话存储从主服务器上分离。我经常看到“会话”表吃掉了与其作用不成比例例的大量时间。为分析查询另外建立一个集群,如果需要的话,使用同样的导出导人策略,将汇总结果导入主应用程序集群。将 Sphinx或Solr集群用于搜索。时间以及测量工具会告诉你,应用中哪些部分的成本最高,如果预先不清楚,则造成延迟的那部分就是了。这种架构对应用的支持会比较长久。

除了前面列出的有把握的架构之外,我想下面的建议更有把握。同任何事情一样,一旦你了解了规则,就会常常发现规则被破坏的情况,但我认为,除非有很好的理由,否则,这些想法不应该被丢弃。

失效转移和负载均衡。

使用负载均衡器,或者浮动的虚拟P地址。就像你知道的,失效转移是很难实现的。如果有高级的负载均衡器,就用上,或者使用对等的解决方案,即在服务器之间转移IP地址,如果做得合适的话,这种方案很好,而且也不贵。

不用使用DNS或应用程序逻辑。一开始好像很合理,但马上就会变成梦魇。使用DNS查询P地址是没问题的,但不要使用DNS去实现失效转移。换言之,将DNS作为静态的系统对待,不要依赖于更新DNS、配置文件、应用程序中的代码或诸如此类的任何东西。

不要自动化得太多,只读服务器很容易实现失效转移,而可写的服务器就难得多。不要试图构建自动化的失效转移。有些事情应该由人来完成。凌晨3点被叫醒做失效转移,总比6点的时候被叫醒,然后在接下来的3天没日没夜地试图恢复数据,要好得多。

ACID仍然是有意义的。

从一开始就使用全事务型系统。非事务型系统的假设可能已经深深地植入了应用程序的代码中,很难查找与解决了。而后期再切换为事务型系统,会导致很多麻烦,如死锁、锁等待超时,以及其他预想不到的行为。

高可用性要求快速而可靠的灾难恢复,所以在 MYSQL中,要使用 INNODB作为存储引擎,但不要用外键、触发器、视图或存储过程,因为这些东西会导致复制问题、性能问题、备份以及其他很多问题。不要将 MYISAM用于读写数据,因为会导致灾难,而恢复起来则需要相当长的时间。

使用正确的工具。

对每颗钉子来说,数据库都可能成为锤子。这可不是个好主意。不要使数据库处于关键路径上,如不要将其用于队列(队列不能很好地映射到数据库中,而且也是我看到的最常见的麻烦之一)。不要将应用程序的静态信息放入数据库中,如配置信息、可以放人缓存或应用程序代码中的静态查找信息、存储映像。数据库应该存储数据,而非应用程序本身。

将数据库简单化,因为这是最难于伸缩,也是最昂贵的资源。尽可能使用文件和cron作业。例如,在存入数据库之前,将数据预先进行汇总。用简单的脚本或GNU命令行工具

做汇总,比用网站建设数据库快几个数量级!要仔细研究UNIX的核心工具,如sed、awk、sort和unqo这种做法,跟从 Oracle或 SQL Serverl的世界中学到的做法比起来,简直就是对着干。在 Oracle或 SQL Server的世界中,应用程序只是一种建立在大规模的数据库之上的表现逻 辑,而数据库充满了表、视图、触发器、存储过程以及每一项细小的业务逻辑。对于复杂的业务应用,这种集中化的做法有时候是合适的,而且我自己就在这样的环境中工作过。但是,对于Web应用,我还是坚持我的观点:分离应用程序和数据库,将数据库仅用来存储和检索数据。

从西安到越南芽庄旅游,攻略大汇总

    越南芽庄是越南的旅游城市之一,拥有美丽的海滩、蓝天、白云和大量的旅游景点。越南芽庄是一个充满活力和热情的城市,吸引了大量的游客前来探索。如果你计划从西安到越南芽庄旅游,那么这篇攻略大汇总将为你提供有用的信息和建议,帮助你更好地享受这个美丽的城市。 部分前往越南芽庄 1. 飞行从西安到越南芽庄的方式是乘坐飞机。芽庄机场拥有国际航班,从中国到芽庄的航班通常需要转机。建议提前预订机票,以获得更好的价格...

       网页的色彩处理 色彩处理   色彩是人的视觉最敏感的东西。网页的色彩处理得好,可以锦上添花,达到事半功倍的效果。色彩总的应用原则应该是'总体协调,局部对比',也就是:网页的整体色彩效果应该是和谐的,只有局部的、小范围的地方可以有一些强烈色彩的对比。在色彩的运用上,可以根据网页内容的需要,分别采用不同的主色调。因为色彩具有象征性,例如:嫩绿色、翠绿色、金黄色、灰褐色就可以分别象征着春、夏、秋、冬。其次还有职业的标志...

       东莞长安镇敏思电线电缆跟虎网站签下做网站项目 敏思是经东莞市长安镇工商局审核的正规企业,统一社会信用代码:91441900304062331Q。敏思坐落于东莞市长安镇沙头社区靖海西路69号A栋二楼203。敏思选用虎网站网络实用型网站案例,此案例比经济型多了些功能,如动漫广告图片、在线客服QQ/MSN等聊天工具、顶部侧部二级分类导航、走马灯等功能。   虎网科技是一家集研发、生产、销售与服务为一体的热流道电热配件企业,主要生产:热流道弹簧圈、钢...

       网站优化建设firefox小工具(一) 我们将在本文中介绍一些关于页面构建常用的一些小工具,大部分是基于firefox的插件,通过这些小工具可以让我们在页面构建中事半功倍.    一、页面构建必备工具 — Firebug   相信每个页面构建的同学都有这个工具吧?如果没有的话,你赶紧安装(点击此处安装),Firebug就像它的名字一样,帮你找到虫子,烧掉它!同时有一些firefox的页面调试工具也是基于Firebug的,比如Yslow...

       企业建设网站之前要弄明白哪些问题? 很多企业随着互联网络的发展,纷纷开始了自己的 企业网站建设 ,但是由于对于网站建设知识的缺乏,不少企业选择盲目的随从网站建设企业,如果网站服务企业不靠谱的话,就会对企业造成时间跟金钱的浪费,那么企业建设网站前要了解明白哪些问题,才能让自己的网站建设更完美呢? 网站的性质 一般企业建设自己的网站最为重要的目的便是宣传,长春星宿科技认为通过互联网的传播能力为自己宣传,然更多的用户知道企业的存在,...

       如何做好企业电子邮箱推广? 在互联网迅速发展的今天,如何利用互联网的资源进行网站推广成为当前企业最关注问题,目前据 天津网站建设 - 虎网科技 的小编观察发现在互联网的众多的推广方式中,企业邮箱推广似乎成了炙手可热的热门推广方式,而传统的一些互联网推广方式,好像淡出了公众的视野。企业电子邮件推作为网站推广中最主要的手段,其优点诸多,如:覆盖范围广,覆盖人群多等。那么,如何才能做好企业电子邮件推广工作呢? 一、控制邮件的发送...

最新模板
少儿英语培训机构网站建设 培训公司网站建设
成人自考网站建设 成人培训网站制作设计版面
智能家居摆设设计网站建设 智能家居装修企业网站建设
铜螺母,铜螺丝,螺栓,螺钉工厂网站建设
废气处理设备,如活性炭吸附箱、RTO蓄热式氧化处理设备、光氧等离子复合设备 低温等离子设备 光氧催化设备等网企业网站建设
图文阅读