上一页 1 ··· 45 46 47 48 49 50 51 52 53 ··· 73 下一页
摘要: 为什么要主从设置 做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。 架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。 读写分离,使数据库能支撑更大的并发。在报表中尤其重要。 阅读全文
posted @ 2022-02-17 22:48 残城碎梦 阅读(820) 评论(0) 推荐(0) 编辑
摘要: MySQL的逻辑架构 redo log日志 redo log(重做日志):redo log是InnoDB存储引擎层的日志,用于记录事务操作的变化,记录的是数据修改之后的值,不管事务是否提交都会记录下来。在实例和介质失败(media failure)时,redo log文件就能派上用场,如数据库掉电, 阅读全文
posted @ 2022-02-17 22:47 残城碎梦 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 既然谈到优化,一定想到要从多个维度进行优化。 这里的优化维度有四个:SQL语句及索引、表结构设计、系统配置、硬件配置。 其中SQL语句相关的优化手段一定是最为重要的。 硬件配置 硬件方面的优化可以有对磁盘进行扩容、将机械硬盘换为SSD等等。这个优化手段成本最高,带来的成本却是最高的,见效也较小。 系 阅读全文
posted @ 2022-02-17 08:32 残城碎梦 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 数据结构概述 数据结构是计算机存储、组织数据的方式;通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构的优良将直接影响着我们程序的性能;常用的数据结构有:数组(Array)、栈(Stack)、队列(Queue)、链表(Linked List)、树(Tree)、图(Graph)、堆 阅读全文
posted @ 2022-02-16 22:17 残城碎梦 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 先上图 查询请求的执行流程 众所周知在MySQL数据库应用中查询请求是使用最多的,假设我们输入下面的SQL,通过客户端请求MySQL服务器,会得到一个包含user的结果集。但是,其中MySQL的处理过程我们并不了解,那么下面就让我们一起看看在查询请求前后MySQL服务端发生了些什么吧。 select 阅读全文
posted @ 2022-02-16 13:06 残城碎梦 阅读(1025) 评论(0) 推荐(0) 编辑
摘要: 最近的业务中,有这样一个需求:如果数据存在就更新,不存在就写入,一般情况下是需要先查询,后判断是更新还是写入的,需要进行两次IO操作。所以为了减少同步时间,第一个思路是使用并发,第二种思路就是应该尽量减少请求MySQL的次数,这里将讲讲第二种思路。 正常情况下实现:如果存在就更新,不存在就写入的伪代 阅读全文
posted @ 2022-02-16 12:55 残城碎梦 阅读(582) 评论(0) 推荐(0) 编辑
摘要: 聚簇索引并不是一种单独的索引类型,而是一种数据存储方式,具体细节依赖于其实现方式。 MySQL数据库中innodb存储引擎,B+树索引可以分为: 聚簇索引(也称聚集索引,clustered index) 辅助索引(有时也称非聚簇索引或二级索引,secondary index,non-clustere 阅读全文
posted @ 2022-02-16 08:44 残城碎梦 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。 索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。 索引在 MySQL 数据库中分三类 阅读全文
posted @ 2022-02-16 08:20 残城碎梦 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 首先排序算法可以分为内部排序算法和外部排序算法:在内存中进行的称为内部排序算法,也就是这里所说的这十种算法;相应的,当数据量很大时无法全部拷贝到内存需要使用外存,称为外部排序算法。接下来我们可用如下表来简单概括这十种算法: 表中数据说明: 稳定:如果A原本在B前面,而A=B,排序之后A仍然在B的前面 阅读全文
posted @ 2022-02-15 16:15 残城碎梦 阅读(267) 评论(0) 推荐(1) 编辑
摘要: 一个优秀的程序员要想成为一名优秀的架构设计师,就改变编程的思维,学会使用架构设计的思维方式。 架构设计的思维方式有以下几种: 分而治之的思维方式 分而治之,是把一件笼统模糊的事项变得清晰,把复杂的事项变得简单的思维方式。而这正是我们进行架构设计首要达成的目标。 架构设计师必须要学会架构分解,将软件的 阅读全文
posted @ 2022-02-15 15:44 残城碎梦 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。 阅读全文
posted @ 2022-02-15 12:52 残城碎梦 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 背景知识 1、正向代理和反向代理 2、CDN(Content Delivery Network):内容分发网,基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够 阅读全文
posted @ 2022-02-15 11:55 残城碎梦 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 架构中五个重要的核心指标:分别是性能、可用性、伸缩性、扩展性和安全性。 性能 性能就是核心要素之一,不然我为什么架构设计?随随便便一个很low的系统上线就好了。所以性能优化是很多小公司迈不过去的坎。当然优化网站性能的手段也非常多: web前端性能优化 浏览器访问优化 包括浏览器缓存、页面压缩传输、合 阅读全文
posted @ 2022-02-15 08:46 残城碎梦 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 如何设计出一个好的架构,不像数据公式或者定律,很难一概而就。很多时候是设计者(架构师)的各种设想,各种权衡折中而符合系统需求的智慧输出。但我们掌握前人总结的经验,让我们站在巨人的肩膀上高山远瞩。一些好的架构设计原则可以确保设计决策在一定程度上能够满足需求。 形成架构原则的过程 形成架构原则的过程 架 阅读全文
posted @ 2022-02-14 22:56 残城碎梦 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 为什么要有Java内存模型 可见性,由缓存导致的可见性问题。 有序性,由编译优化导致的有序性问题。 原子性,由线程切换导致的原子性问题。 Java内存模型就是为了解决可见性和有序性问题。 什么是Java内存模型(JMM) 注意:JVM内存模型与Java内存模型是两个不一样的东西。 JVM内存模型:具 阅读全文
posted @ 2022-02-14 18:41 残城碎梦 阅读(267) 评论(0) 推荐(0) 编辑
摘要: Lua简介 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 从 2.6版本 起, Redis 开始支持 Lua 脚本 让开发者自己扩展 Redis。 Redis中使用Lua的好处: 减少网络开销,在 L 阅读全文
posted @ 2022-02-14 16:22 残城碎梦 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 服务器性能查看 CPU性能查看 查看物理CPU个数: cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l 查看每个物理CPU中的core个数: cat /proc/cpuinfo |grep "cpu cores"|wc -l 逻辑CPU的个数 阅读全文
posted @ 2022-02-14 13:29 残城碎梦 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 作为一名后端程序员,和Linux打交道的地方很多,不会看Linux日志,非常容易受到来自同事和面试官的嘲讽,所以掌握一种或者几种查看日志的方法非常重要。 Linux查看日志的命令有多种:tail、cat、tac、head、echo等,本文只介绍几种常用的方法。 grep命令 Linux 文本操作的三 阅读全文
posted @ 2022-02-14 13:11 残城碎梦 阅读(2799) 评论(0) 推荐(0) 编辑
摘要: 基础概念 在mongodb中是通过数据库、集合、文档的方式来管理数据,下边是mongodb与关系数据库的一些概念对比: SQL 术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数 阅读全文
posted @ 2022-02-14 12:43 残城碎梦 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 数据库管理系统 数据的定义:文字、图像、地理位置信息(坐标、经纬度)等。 数据库管理系统的定义:建立、存取和管理数据,保证数据安全和完整性的软件。 常见的数据库管理系统: 关系型:MySQL、Oracle、SQL Server、Db2等 非关系型:MongoDB、Redis、HBase等 NOSQL 阅读全文
posted @ 2022-02-14 11:38 残城碎梦 阅读(138) 评论(0) 推荐(0) 编辑
上一页 1 ··· 45 46 47 48 49 50 51 52 53 ··· 73 下一页