
数据库
文章平均质量分 82
uiuan00
程序驱动人生
展开
-
数据库使用系列文章
数据库在互联网应用中占据着不可或缺的作用,本系列文章旨在针对数据库从背景、基本应用到高效使用作出一定总结。数据库从字面上的理解就是数据的仓库,其实我们平时说的数据库是指数据库管理系统(Database Management System),它是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。严格来说数据库是数据库管理系统的实例,一个数据库管理系统可以有多个数据库实例。...原创 2019-11-07 15:19:57 · 313 阅读 · 0 评论 -
分布式唯一ID生成方案
目录一、前言二、分布式ID的几种生成方案2.1、UUID2.2、MySQL主键自增2.3、MySQL多实例主键自增2.4、雪花snowflake算法2.5、Redis生成方案2.6、小结三、一线大厂是如何设计的呢?3.1、改造数据库主键自增3.2、竞争问题3.3、突发阻塞问题3.4、双buffer方案四、总结一、前言分布式系统中我们会...转载 2019-12-09 09:26:33 · 256 阅读 · 0 评论 -
数据库分库分表永不迁移数据和避免热点
目录一、前言二、分库分表传统方案1、hash取模方案2、range范围方案3、总结三、方案思路四、方案设计五、核心主流程六、如何扩容七、系统设计一、前言中大型项目中,一旦遇到数据量比较大,小伙伴应该都知道就应该对数据进行拆分了。有垂直和水平两种。垂直拆分比较简单,也就是本来一个数据库,数据量大之后,从业务角度进行拆分多个库。如下图,独立的拆分出订...转载 2019-12-09 09:25:49 · 379 阅读 · 1 评论 -
数据库设计三大范式和五大约束
一、三大范式什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,规范的的数据库是需要满足一些规范的来优化数据数据存储方式。在关系型数据库中这些规范就可以称为范式。范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法,以下就是对这三个范式的基本介绍:第一范式(1NF)1、数据表中的每一列(字段),必须是...转载 2019-11-20 17:37:05 · 259 阅读 · 0 评论 -
MySQL InnoDB 行记录格式
1 行记录格式的分类和介绍在早期的InnoDB版本中,由于文件格式只有一种,因此不需要为此文件格式命名。随着InnoDB引擎的发展,开发出了不兼容早期版本的新文件格式,用于支持新的功能。为了在升级和降级情况下帮助管理系统的兼容性,以及运行不同的MySQL版本,InnoDB开始使用命名的文件格式。官网关于InnoDB 行格式介绍1. Antelope: 先前未命名的,原始的InnoDB文...原创 2019-11-20 17:07:57 · 368 阅读 · 0 评论 -
MySQL事务隔离级别测试实例
数据库使用系列专栏:数据库使用系列文章前面介绍了数据库事务的概念及其实现原理,为了提升系统的并发性能SQL标准定义了不同的事务隔离级别,从低到高依次是:读未提交(READ UNCOMMITTED) 读已提交(READ COMMITTED) 可重复读(REPEATABLE READ) 串行化(SERIALIZABLE)不同隔离级别可能导致的并发异常:事务隔离级别 可能导致的...原创 2019-11-20 12:27:33 · 333 阅读 · 0 评论 -
数据库分类及主流数据库对比
数据库使用系列专栏:数据库使用系列文章目录1 数据库分类1.1 关系型数据库1.2 非关系型数据库2 数据库对比1 数据库分类数据库根据数据结构可分为关系型数据库和非关系型数据库。非关系型数据库中根据应用场景又可分为键值(Key-Value)数据库、列存储数据库、面向文档数据库、搜索引擎数据库等。1.1 关系型数据库这种类型的数据库是最古老的数据库类型,关系型数...原创 2019-11-11 11:48:09 · 14781 阅读 · 0 评论 -
不同类型数据库应用场景对比
数据库使用系列专栏:数据库使用系列文章目录1 NoSql与关系型数据库应用场景对比2 非关系型数据库(NoSql)应用场景对比1 NoSql与关系型数据库应用场景对比Nosql1.适合存储非结构化数据存储,数据量且不可预期。如:评论,文章2.排行榜数据获取,实时更新的数据。如:游戏榜排名,用户投票3.限时抢购活动。如:淘宝抢购活动4.反垃圾系统。如:敏感词...原创 2019-11-11 15:35:13 · 2268 阅读 · 0 评论 -
MySQL数据库基本操作
数据库使用系列专栏:数据库使用系列文章MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。1 RDBMS术语在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语:数据库:数据库是一些关联表的集合。 数据表...原创 2019-11-11 17:29:10 · 237 阅读 · 0 评论 -
MySQL索引原理及BTree(B-/ Tree)结构详解
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第...转载 2019-10-23 16:39:56 · 663 阅读 · 0 评论 -
数据库事务的概念及其实现原理
目录 前言 1. 认识事务 1.1 为什么需要数据库事务 1.2 什么是数据库事务 1.3 事务如何解决问题 1.4 事务的ACID特性以及实现原理概述 2.并发异常与并发控制技术 2.1 常见的并发异常...转载 2019-11-12 11:13:44 · 362 阅读 · 0 评论 -
缓存设计:提高缓存命中率
目录缓存命中率的介绍如何监控缓存的命中率影响缓存命中率的几个因素1.业务场景和业务需求2.缓存的设计(粒度和策略)3.缓存容量和基础设施4.其他因素提高缓存命中率的方法缓存命中率的介绍命中:可以直接通过缓存获取到需要的数据。不命中:无法直接通过缓存获取到想要的数据,需要再次查询数据库或者执行其它的操作。原因可能是由于缓存中根本不存在,或者缓存已经过期。...原创 2019-10-28 17:45:42 · 512 阅读 · 0 评论 -
数据库分库分表的应用场景及解决方案
现实业务场景中,为了保障客户体验并满足业务的线性增长。会对数据量巨大,且业务会始终进行的产品进行分表分库策略。但是如何合理的根据业务采取争取的分表分库策略至关重要。下面以具体实例来进行分析。• 场景一:用户中心,单key业务如何进行数据库切分• 场景二:订单中心,多key业务如何进行数据库切分场景一:用户中心数据库切分架构实践|场景介绍 用户中心是一个十分常见的业务系统,涵盖...转载 2019-10-23 17:35:02 · 377 阅读 · 0 评论 -
数据库分库分表后”跨库分页“查询方案
目录分库需求(数据库分库分表解决方案)分页需求问题的提出”跨库分页“查询方案1、全局视野法2、业务折衷法3、终极武器-二次查询法总结分库需求(数据库分库分表解决方案)高并发大流量的互联网架构,一般通过服务层来访问数据库,随着数据量的增大,数据库需要进行水平切分,分库后将数据分布到不同的数据库实例(甚至物理机器)上,以达到降低数据量,增加实例数的扩容目的。...转载 2019-10-24 10:00:22 · 6197 阅读 · 4 评论