`
myreligion
  • 浏览: 205410 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

大型系统设计第1课--可扩展的数据库层架构设计 PDF分享

    博客分类:
  • guzz
阅读更多

《手把手,教你编写1个可以并行运行在5台数据库上的留言板》

前言:

对于大规模系统而言,最复杂,往往也是最大的性能瓶颈,主要都产生在数据层。对于大型系统数据层的设计,主要包括缓存系统和数据库的可扩展性两方面。缓存系统比较简单,网上讨论的也比较多,方案也相对成熟,一般来说只要部署一大堆memcached之类的缓存服务器就可以解决了,扩展性也好;但对于可扩展的数据库层架构设计,通用方案较少,网上资料更是寥寥无几。

这也有情可原,现在的主流通用数据库框架,如hibernate和ibatis基本上都只支持1个系统运行在1台数据库上。对应的,基于这些框架的系统,也基本上只能运行在单台数据库上了,框架对数据库扩展性的支持几乎没有,开发者也只能被迫接受。

这篇文档,主要补充“重要”却被主流遗失的“数据库层可扩展”架构设计,让你的系统在“需要”时,可以随时通过增加机器就能最简单的解决数据库的性能瓶颈。


分享到:
评论
12 楼 makemyownlife 2011-09-07  
朋友 看看guzz 上次看您的文章,讨论sns方面的问题 请问这方面有什么资料可以研究研究吗
11 楼 myreligion 2011-03-28  
C_J 写道
myreligion 写道
C_J 写道
JE的东西是不是都有点滞后了? 现在不都是集群数据库么?

什么是集群数据库?有通用的并且有实际案例的?给介绍下?



这个问题得问坛子里做web的大拿们了。

我06年就开始在JE待着,从没看到过这类东西出现。不过是个美好的梦想罢了。
10 楼 C_J 2011-03-28  
myreligion 写道
C_J 写道
JE的东西是不是都有点滞后了? 现在不都是集群数据库么?

什么是集群数据库?有通用的并且有实际案例的?给介绍下?



这个问题得问坛子里做web的大拿们了。
9 楼 phz50 2011-03-28  
zhang19841017 写道
JE的计数器是缓存的,到了一定的数量后才去update的

感觉好像是这样,不过为什么读取的时候不去读取缓存中最新计数呢
8 楼 myreligion 2011-03-28  
C_J 写道
JE的东西是不是都有点滞后了? 现在不都是集群数据库么?

什么是集群数据库?有通用的并且有实际案例的?给介绍下?
7 楼 samwalt 2011-03-27  
只支持java阿
6 楼 C_J 2011-03-26  
JE的东西是不是都有点滞后了? 现在不都是集群数据库么?
5 楼 shaomeng95 2011-03-26  
楼主精神可嘉啊!
4 楼 itstarting 2011-03-25  
恭喜,这个例子写的好,让guzz变得越来越有味道了
3 楼 zhang19841017 2011-03-25  
JE的计数器是缓存的,到了一定的数量后才去update的
2 楼 myreligion 2011-03-25  
JE的计数器不同步了吧?我刷了几遍,帖子阅读数怎么都是“浏览 16 次”?
1 楼 peterwei 2011-03-24  
我猜得没错的话,你在推guzz.

相关推荐

    系统设计规范和模板word+pdf版(架构设计、概要设计、详细设计和数据库设计)

    1. **架构设计**:这是整个系统设计的第一步,主要关注系统的整体结构和组织方式。架构设计包括选择合适的架构模式(如微服务、SOA、三层架构等)、定义系统组件及其相互关系、确定数据流和控制流的方向。它还涉及到...

    系统架构设计师教程(第4版)pdf.zip

    《系统架构设计师教程》第四版是一本针对IT专业人士,尤其是那些致力于系统架构设计领域的深度学习资料。这本书以清晰易懂的方式介绍了系统架构的基础知识、设计原则以及最佳实践,旨在帮助读者提升在复杂IT环境中的...

    数据库设计规范 数据库高效设计的好东西

    高效的数据库设计不仅关乎数据的准确性和完整性,还直接影响系统的性能和可扩展性。以下是关于数据库设计的一些关键知识点: 1. **需求分析阶段**: - 在这个阶段,主要任务是收集和分析用户的需求,包括信息需求...

    第一讲-大型互联网项目架构设计实践及架构优化思路.pdf

    在"第一讲-大型互联网项目架构设计实践及架构优化思路.pdf"中,我们重点关注了如何构建一个能够应对高可用性和高并发挑战的系统,以及如何通过一系列的技术手段进行性能优化。这里我们将深入探讨其中的关键知识点。 ...

    系统架构师教程.pdf

    架构师要能够根据系统需求选择合适的架构模式(如微服务架构、事件驱动架构、服务导向架构等),并考虑到系统的可扩展性、可用性、安全性、性能和成本等因素。设计软件架构时,还需要考虑到系统的部署环境(如云环境...

    软考系统架构设计师教程(第4版)+历年系统架构设计师考试试题分类精解(综合知识篇)+历年系统架构设计师考试试题分类精解_案例分析与论文篇 三本全集

    《软考系统架构设计师教程...这三本书的组合,为考生提供了系统性的学习资源,既有理论知识的讲解,又有实战经验的分享,有助于考生顺利通过系统架构设计师的考试,并在未来的工作中成为一名优秀的系统架构设计师。

    系统架构师第2版

    1. **系统设计基础**:书中详细介绍了系统设计的基本原则和方法,如模块化设计、分层架构、SOA(面向服务架构)等,帮助读者理解如何构建可维护、可复用的软件体系。 2. **技术选型与评估**:系统架构师需要根据...

    架构设计参考 高可用架构

    在IT行业中,架构设计是构建复杂系统的关键环节,它决定了系统的稳定性和可扩展性。"架构设计参考 高可用架构"这一主题旨在深入探讨如何构建能够承受高流量、确保服务连续性和提供优秀用户体验的系统。这是一份面向...

    数据库系统原理课程设计报告-图书管理系统.pdf

    系统设计阶段涵盖了用户界面设计、后端架构设计、数据访问层、业务逻辑层和安全控制等方面。用户界面需直观易用,后端架构需支持并发访问和高可用性,数据访问层负责与数据库交互,业务逻辑层处理业务规则,安全控制...

    系统架构设计师教程(第4版)-带目录.rar

    4. **架构原则**:架构原则指导整个系统设计,如可扩展性、灵活性、可维护性等。它们为决策提供依据,确保架构设计满足业务目标。 5. **架构分析与决策**:在设计过程中,架构师需要进行一系列分析,如性能分析、...

    系统架构师培训之应用架构设计.pdf

    - **策略**:为了满足这些目标,架构设计需要考虑如何通过合理的技术选型、冗余设计等方式来提高系统的稳定性和可扩展性。 #### 3. 架构的功能 - **技术职责**:包括识别重要的用例、指导架构原型的开发等。 - **...

    数据库设计指南-数据库设计教程

    10. **数据库扩展**:随着数据量的增长,可能需要考虑水平扩展(分布式数据库)或垂直扩展(硬件升级),了解如何设计可扩展的数据库架构。 11. **数据库设计原则**:如KISS(保持简单和愚蠢)、YAGNI(你不会需要...

    设计数据密集型应用.pdf

    本书适合数据库管理员、架构师、后端工程师、产品经理等相关专业人员阅读,也适合对数据系统设计感兴趣的读者。 书籍目录: 第一部分:数据系统的基石 * 第一章:可靠性、可扩展性、可维护性 * 第二章:数据模型...

    系统架构师32小时通关资料.zip

    2. **架构分析与设计**:系统架构师需要掌握如何分析业务需求,进行系统设计。这包括需求捕获、需求分析、功能分解、非功能需求考虑(如性能、安全、可靠性等)以及架构决策记录。 3. **技术选型**:如何根据项目...

    系统架构师教程.zip

    系统架构师是一个在IT行业中至关重要的角色,他们负责设计、规划和管理软件系统的整体结构,以确保系统的高效、稳定和可扩展性。本教程集合了多个版本和来源的资料,旨在为准备成为系统架构师或者正在提升自己在这个...

    银行业中的分布式数据库架构转型.pdf

    传统的集中式数据库架构,如大集中式系统,越来越难以满足业务需求,尤其是在数据处理能力、并发处理能力、系统弹性扩张、以及运维成本控制等方面。 1. 分布式数据库技术体系: 业界的分布式数据库产品大体上可以...

    大容量GPRS-HLR系统中内存数据库的数据结构组织模式.pdf

    为了适应这些需求,GPRS-HLR系统的设计方案中,采用了基于双PC服务器的高可用性(HA)平台,并使用了Oracle这样的大型商用数据库管理系统来管理大量用户数据。Oracle数据库运行在廉价冗余的共享磁盘阵列(Raid)上,...

    软考系统架构设计师教程和系统架构设计师考试全程指导

    在本教程中,读者将学习到如何从宏观层面把握整个系统的构建,包括硬件、软件、网络、数据库等各个组成部分的集成,以及如何设计出高效、可扩展、安全的系统架构。 教程首先会讲解系统架构的基础知识,涵盖计算机...

Global site tag (gtag.js) - Google Analytics