## 1. 什么是事务事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位(不可再进行分割),由一个有限的数据库操作序列构成(多个DML语句,select语句不包含事务),要不全部成功,要不全部不成功。如 A 给 B 要划钱,... 一个请求语句可能是某个事务的一部分,也就是对于服务器来说可能同时处理多个事务。在上面我们说过事务有一个称之为隔离性的特性,理论上在某个事务对某个数据进行访问时,其他事务应该进行排队,当该事务提交之后,其...
# 简介众所周知,在数据库存储引擎侧通常有两类存储模型,行式存储NSM(N-ary Storage Model)和列式存储DSM(Decomposition Storage Model),两种存储模型各有其特定的擅长场景。在以前,主流存储设备是机械磁盘的情况... 理论上不存在读写放大,如处理一个query,通过使用table索引,可以快速寻址到页,然后根据页尾的索引能快速寻址到行首,将数据返回,这个特点非常符合OLTP的workload场景,所以在OLTP场景主要使用行存;但是行存不是完美的...
对数据库的需求和使用场景差异很大,可选择的数据库系统也是几十上百种,如此一组合下来,对于非数据库专业人士,选择复杂度非常高。本文的目的就是要尝试回答这个重要且复杂的问题。如果您计划将IT业务系统部署在火山引擎之上,可以参考本文的思路,选择合适的火山引擎云数据库服务,为业务应用打造坚实的数据库底座。## 1.2、数据库发展与类型简介数据库系统在上世纪70年代初出现,至今已经发展了半个多世纪,其理论、技术与产品已...
## 分布式数据库架构简介![image.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9ca5ef2ef9af4cedb544547a86a09a3e~tplv-k3u1fbpfcp-5.jpeg?)相信对数据库感兴趣的同学对上面这张图也不会陌生。这... 但只要是基于 log 和 Page 这种机制的数据库,我们理论上都是可以支持的。背后的原理其实是我们在存储层做了一层统一泛化的抽象,基于 log is the database 的思想,做了很多从 log 到 Page 转化的通用接口。基于这些...
对数据库的需求和使用场景差异很大,可选择的数据库系统也是几十上百种,如此一组合下来,对于非数据库专业人士,选择复杂度非常高。本文的目的就是要尝试回答这个重要且复杂的问题。如果您计划将 IT 业务系统部署在火山引擎之上,可以参考本文的思路,选择合适的火山引擎云数据库服务,为业务应用打造坚实的数据库底座。**数据库发展与类型简介**数据库系统在上世纪 70 年代初出现,至今已经发展了半个多世纪,其理论、技术与...
Redis 拥有高性能的数据读写功能,被我们广泛用在缓存场景,一是能提高业务系统的性能,二是为数据库抵挡了高并发的流量请求,[点我 -> 解密 Redis 为什么这么快的秘密](https://mp.weixin.qq.com/s/z4VjDaDDbspFz1rIB... 可以去做到 BASE 理论中说的**最终一致性**。其实一旦在方案中使用了缓存,那往往也就意味着我们放弃了数据的强一致性,但这也意味着我们的系统在性能上能够得到一些提升。所谓 tradeoff 正是如此。**最后,大家...
作者:王佳毅|火山引擎存储&数据库解决方案负责人> 本文整理自火山引擎开发者社区技术大讲堂第三期演讲,主要为大家介绍了 NoSQL 的前世今生和发展脉搏,以及字节跳动 NoSQL 的实践。## NoSQL 应用的现状什么是 NoSQL?我们知道关系型数据库强调 CAP 理论:Consistency,Availability 和 Partition Tolerance,这三者不可兼得。谈到 NoSQL,我们会引入 BASE 概念:- **Basically Available**:分布式系统在出现故障时允许损失部分...
分布式数据库架构简介 ![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/4880b517a7794b5bbfba24c6cbdf7121~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d... 但只要是基于 log 和 Page 这种机制的数据库,我们理论上都是可以支持的。背后的原理其实是我们在存储层做了一层统一泛化的抽象,基于 log is the database 的思想,做了很多从 log 到 Page 转化的通用接口。基于这些...
> 本文整理自火山引擎开发者社区技术大讲堂第三期演讲,主要介绍了 NoSQL 的前世今生和发展脉搏,以及字节跳动 NoSQL 的实践。**作者:王佳毅|火山引擎存储&数据库解决方案负责人**## NoSQL 应用的现状什么是 NoSQL?我们知道关系型数据库强调 CAP 理论:Consistency,Availability 和 Partition Tolerance,这三者不可兼得。谈到 NoSQL,我们会引入 BASE 概念:- Basically Available:分布式系统在出现故障时允许损失部分可用性,...
## 前言我们不管是基于 Hadoop 的数据仓库(如 Hive ),还是基于传统 MPP 架构的数据仓库(如Teradata ),抑或是基于传统 Oracle 、MySQL 、MS SQL Server 关系型数据库的数据仓库,其实都面临如下问题:- 怎么组织数据仓库中的数据?- 怎么组织才能使得数据的使用最为方便和便捷?- 怎么组织才能使得数据仓库具有良好的可扩展性和可维护性?> **Ralph Kimball 维度建模理论很好地回答和解决了上述问题。**维度建模理论和技术也是...
当某个数据源数据库中的 API 请求量比较大,超数据库性能负载时;或当数据库出现抖动异常,影响 API 查询性能时,数据服务可为您提供数据源切流操作,快速切换至另一个目标集群查询,自定义切流比例,来保障 API 查询性能... 部分表上游切流后会认为是在将不同集群的两张表 join,从而报错。 解决方案:理论上可 join 的表都来自同一个物理集群,所以建议通过同一个数据源新建物理表,并在逻辑表上修改字段映射到新的物理表上。 切流比例 ...
# 1 前言得物 App 从创立之初,关系型数据库一直使用的开源数据库产品 MySQL。和绝大部分互联网公司一样,随着业务高速增长、数据量逐步增多,单实例、单库、单表出现性能瓶颈和存储瓶颈。从选型和架构设计角度来看... 所以理论上通过加机器就能扩展计算能力,从我们实际使用的场景来看也是如此,这部分的能力就要优于 MySQL。具体的效果在本文最后的章节会有体现。关于优化器。这个是大家对 TiDB 一直以来吐槽的点之一,有时候统计信...
HyperLogLog(HLL) 算法是一种估算海量数据基数的方法,被广泛用于各个数据库产品中。与精确的基数统计算法相比,HLL 具备**可合并性 (mergeability)** ,因而可以方便地对海量数据进行并行计算,被广泛地用于大数据多... 这就是利用概率论来估算基数所依据的基本原理。在上述过程中涉及了一个重要步骤,就是将每个待观察的数据进行 hash 操作。为什么需要 hash 操作,而不是直接观察数据本身对应的二进制串呢?这是因为游戏要求每次取...