广告
返回顶部
首页 > 资讯 > 数据库 >如何进行数据库的架构整体分析
  • 273
分享到

如何进行数据库的架构整体分析

2024-04-02 19:04:59 273人浏览 泡泡鱼
摘要

这期内容当中小编将会给大家带来有关如何进行数据库的架构整体分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  很少谈架构方面的事情,主要是因为这确实是个对知识面和知识深

这期内容当中小编将会给大家带来有关如何进行数据库架构整体分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

  很少谈架构方面的事情,主要是因为这确实是个对知识面和知识深度要求很高的领域,无论是开发语言的选择、代码的架构,服务器的搭配、网络的架构、数据库的架构还是第三方软件的选用等,每一方面都是个很大的方向,每个方向都值得一个人去研究一辈子;每每看到某某网站的首席架构师之类的人(不过很多是海绵派),总觉得那就是乐于做技术的人的终极目标,总是有种崇拜感。

  限于工作和知识的局限性,以及抱着对各位朋友负责的态度,本文谈论的架构仅限于数据库方面,而且是基于sqlserver数据库来谈的,以免误导各位。

SQLServer

  SQLServer经过这些年的发展,其实已经有很多很好的技术可以使用,如Replication、SSB、Cluster、Mirroring等(可以参考我在SQLServerDBA三十问和SQLServer高可用、高性能和高保护延伸中的一些技术方面的知识),而且这些技术在可靠性方面已经通过了市场的认可,有很多公司在为提高其程序的可靠性、安全性和高效性等方面或多或少的采用了其中的某些技术,以下就我接触过的这些技术方面的应用,主要针对网站这种流量很大,读多写少的应用,就数据库架构方面做些探讨,希望对各位有所帮助,如有不对的地方,欢迎大家指正和交流。

数据库架构需要考虑的问题:

  数据可靠和一致性;

  数据容灾;

  当数据量和访问压力变大时,方便扩充;

  高度可用,出问题时能及时恢复,无单点故障;

  不应因为某一台机器出现问题,导致整网性能的急剧下降;

  方便维护;

关于下面架构的说明:

  核心服务器采用Cluster,还采用了SSD做磁盘阵列(SSD可存放索引等数据);

  核心服务器的数据变更通过SSB,分发到两台Replication的主机中(这一步可以先对数据进行粗加工,加工成方便用户查询的数据形式,然后再通过SSB包装后分发),使用了两台SSB分发机,既可以分担压力,也可以实现无单点故障;SSB可用保证核心库的数据和Replication主机数据一致;当然这一步也可以直接使用Replication来实现,但对核心服务器的压力会有所增加;

  接下来将Replication主机的数据通过分发服务器分别分发到三台订阅机,也就是QUERYDB服务器;

  六台QUERYDB通过F5控制访问,同时在前段加了台MemoryCache的服务器,增加缓存,减少查询的压力(这一部分很多公司使用了搜索引擎方面的技术,将数据库中的数据生成XML文件,再通过索引文件来查找数据);

  B3和B4两台SSB的作用是做QUERYDB到核心服务器的SSB消息转发,SSB消息既能从QUERYDB发送到核心服务器,同时也能从核心服务器发送到QUERYDB;这样有啥用呢?用处大了,因为核心服务器只有一台,我们如果把网站的所有操作都集中到核心服务器处理,那在业务高峰时期,数据变更非常频繁,核心服务器压力必定非常大,很可能抗不住,为预防这样的问题,我们势必要把部分压力分担出去,于是我们可以在用户做注册、下单等操作时,先将操作放到QUERYDB中,再通过SSB把消息发送给核心服务器,核心服务器接受到SSB消息后,会先放到队列中,然后一个个处理,这样核心服务器就不会因为同时处理过多的请求,而产生当机的风险,同时核心服务器处理完信息后,会将这些数据的变动通过Replication分发到每台QUERYDB中去,这样QUERYDB的数据还是会和核心服务器保持一致,实现了通过QUERYDB来记录操作,然后运用SSB技术来分压的效果;因为QUERYDB有六台(还可以扩展),QUERYDB上SSB压力都分散了,所以也不会给QUERYDB带来很大的压力(可能消息会有小的延时,应该尽量在SSB通道上使用光纤网络);即便核心服务器当机了,还是可以进行查询数据、注册和下订单等操作,SSB会一直保留消息。

上述就是小编为大家分享的如何进行数据库的架构整体分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: 如何进行数据库的架构整体分析

本文链接: https://www.lsjlt.com/news/68805.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何进行数据库的架构整体分析
    这期内容当中小编将会给大家带来有关如何进行数据库的架构整体分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  很少谈架构方面的事情,主要是因为这确实是个对知识面和知识深...
    99+
    2022-10-19
  • 如何进行jQuery源码的整体框架分析
    这篇文章将为大家详细讲解有关如何进行jQuery源码的整体框架分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。先附上jQuery的代码结构。JS代码(fu...
    99+
    2022-10-19
  • 如何进行数据库高可用架构的思路分析
    这篇文章将为大家详细讲解有关如何进行数据库高可用架构的思路分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。数据库高可用架构对于我们这些应用端开发的人来说是...
    99+
    2022-10-19
  • 如何进行ADO.NET实体数据模型的分析
    本篇文章为大家展示了如何进行ADO.NET实体数据模型的分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ADO.NET经过长时间的发展,很多用户都很了解ADO.NET了,这里我发表一下个人理解,和...
    99+
    2023-06-17
  • 如何进行NewSQL数据库TiDB的分析
    本篇文章给大家分享的是有关如何进行NewSQL数据库TiDB的分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。下面要介绍的是数据库领域的后起...
    99+
    2022-10-19
  • 如何进行.NET Framework架构链接库释放后的变化分析
    这篇文章给大家介绍如何进行.NET Framework架构链接库释放后的变化分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。.NET Framework架构链接库即将会向大众进行开源。那么在它实现了开源后会给开发人员...
    99+
    2023-06-17
  • 如何进行Spring AOP框架实现的结构分析
    如何进行Spring AOP框架实现的结构分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。从实现的角度来认识SpringAOP框架。观察的角度:从外部接口,内部实现,组成部分...
    99+
    2023-06-17
  • 如何进行数据库三大范式的分析
    这篇文章将为大家详细讲解有关如何进行数据库三大范式的分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一: 引言     &n...
    99+
    2022-10-19
  • 如何调整2000运行中的数据库结构
    如何调整2000运行中的数据库结构,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。开发过程中的数据库结构结构,不可避免的会需要反复的修改。最麻烦...
    99+
    2022-10-19
  • 怎样进行mysql数据库的分析
    怎样进行mysql数据库的分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、数据库是什么?数据库是管理数据的一类软件。对数据的管理体现在两个方面,第一是描述数据,即一条...
    99+
    2023-06-22
  • 使用Apache Doris自动同步整个 MySQL/Oracle 数据库进行数据分析
    Flink-Doris-Connector 1.4.0 允许用户一步将包含数千个表的整个数据库(MySQL或Oracle )摄取到Apache Doris(一种实时分析数据库)中。 通过内置的Flink CDC,连接器可以直接将上游源的表...
    99+
    2023-09-27
    Doris hadoop mysql oracle
  • 如何进行JavaScript重构的分析
    本篇文章为大家展示了如何进行JavaScript重构的分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。通常我们的团队中,开发人员在Java语言层面具备相当的技术素...
    99+
    2022-10-19
  • 如何使用Python中的数据分析库进行数据处理
    如何使用Python中的数据分析库进行数据处理人们越来越重视数据处理和分析的重要性。随着电子设备的不断普及和互联网的发展,我们每天都会产生大量的数据。要从这些海量的数据中提取有用的信息和洞察,就需要使用强大的工具和技术。Python作为一种...
    99+
    2023-10-22
    Python 数据分析 数据处理
  • 如何进行ADO.NET访问数据库技术分析
    如何进行ADO.NET访问数据库技术分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。着重解释ADO.NET访问数据库的步骤,在介绍ADO.NET访问数据库技术之前,首先让大家...
    99+
    2023-06-17
  • 如何理解数据库读写分离架构?
    如何理解数据库读写分离架构?,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。RD:数据量太大,数据库扛不住了,帮忙申请一个从库,读写分离。D...
    99+
    2022-10-19
  • 如何进行大数据平台架构的设计
    本篇文章为大家展示了如何进行大数据平台架构的设计,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  关于大数据平台架构的设计探究。麦肯锡全球研究所给出的定义是:一种规模大到在获取、存储、管理、分析方面...
    99+
    2023-06-02
  • 如何进行图数据库Nebula Graph 的数据模型和系统架构设计
    本篇文章为大家展示了如何进行图数据库Nebula Graph 的数据模型和系统架构设计,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。下面主要介绍 Nebula Gr...
    99+
    2022-10-19
  • 如何进行生产数据库性能优化的分析
    这期内容当中小编将会给大家带来有关如何进行生产数据库性能优化的分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。需求:在钉钉群个人简介页面需要显示钉钉群名称和简介,每个群...
    99+
    2022-10-19
  • 如何用python进行数据分析
    Python是一个非常强大的数据分析工具,它提供了丰富的库和函数来处理、分析、可视化数据,并在各个领域得到了广泛应用。本文将介绍如何使用Python进行数据分析。以下按照流程简述如下: 数据预处理 数据预处理通常是数据分析的第一步,这个过程...
    99+
    2023-09-08
    信息可视化
  • 如何进行数据库中间件 MyCAT 源码分析
    这篇文章将为大家详细讲解有关如何进行数据库中间件 MyCAT 源码分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 概述可能你在看到这个标题会小小的吃...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作