1.太多的列: mysql的存储引擎api工作时需要在服务器层和存储引擎层之间通过行缓冲格式拷贝数据,然后在服务器层将缓冲内容解码成各个列。从行缓冲中将编码过的列转换成行数据结构的操作代价是非常高的。 2.太多的关联 mysql限制了没哥关联操作最多只能有61张表,单个查询最好在12个表以内做关联。 ...
分类:
其他好文 时间:
2020-04-04 22:46:36
阅读次数:
63
前面,我们已经打下了很多关于HBase的理论基础,今天,我们主要聊聊在实际开发使用HBase中,需要关注的一些最佳实践经验。 1.Schema设计七大原则 1)每个region的大小应该控制在10G到50G之间; 2)一个表最好保持在 50到100个 region的规模; 3)每个cell最大不应该 ...
分类:
其他好文 时间:
2020-03-14 16:26:44
阅读次数:
47
SaaS是Software-as-a-Service(软件即服务)的简称,这边具体的解释不介绍。 多租户的系统可以应用这种模式的思想,将思想融入到系统的设计之中。 一、多租户的系统,目前在数据库存储上,一般有三种解决方案: 1.独立数据库 2.共享数据库,隔离数据架构 3.共享数据库,共享数据架构 ...
分类:
数据库 时间:
2020-02-22 00:18:45
阅读次数:
113
Schema:表的模式; 设计数据的表,索引,以及表和表的关系 关系模型图: Schema关系到应用程序功能与性能 满足业务功能需求 同性能密切相关 数据库扩展性 满足周边需求(统计,迁移等) 关系型数据库修改Schema经常是高危操作 Schema设计要体现一定的前瞻性 完全由开发者主导的Sche ...
分类:
其他好文 时间:
2019-05-02 12:05:12
阅读次数:
142
谨记红字: 1. 表中谨防太多列: MySQL 的存储引擎API 工作时需要在服务器层和存储引擎层之间通过行缓冲格式拷贝数据,然后在服务器层将缓冲内容解码成各个列。从行缓冲中将编码过的列转换成行数据结构的操作代价是非常高的。MyISAM 的定长行结构实际上与服务器层的行结构正好匹配,所以不需要转换。 ...
分类:
数据库 时间:
2018-08-13 12:24:32
阅读次数:
232
HBase 和 Schema 设计 一份关于各种非关系型数据库的优点和缺点的通用介绍,就是 Ian Varley的博士论文, No Relation: The Mixed Blessings of Non-Relational Databases。它的作成时间距今有一点长,但如果你有时间去了解HBa ...
分类:
其他好文 时间:
2017-09-10 19:48:43
阅读次数:
145
聊聊MySQL配置。大多数开发者可能不太会关注MySQL的配置,毕竟在基本配置没有问题的情况下,把更多的精力放在schema设计、索引优化和SQL优化上,是非常务实的策略。这时,如果再花力气去优化配置项,获得的收益通常都比较校更多的时候,基于安全因素的考量,普通开发者很少能够..
分类:
数据库 时间:
2017-08-06 11:01:42
阅读次数:
242
审核 什么是业务审核 类似与code review 评审业务Schema和SQL设计 偏重关注性能 是业务优化的主要入口之一 审核提前发现问题,进行优化 上线后通过监控或巡检发现问题,进行优化 Schema设计审核 表和字段命名是否合规 字段类型,长度设计是否适当 表关联关系是否合理 主键,更新时间 ...
分类:
数据库 时间:
2016-07-22 23:04:42
阅读次数:
231
Mysql schema设计中有些陷阱,这里仅仅是讲Mysql的实现中出现的问题。 1 太多的列 Mysql存储引擎与服务器层通信是通过行缓冲格式拷贝数据,然后在服务器层将缓冲内容解码成各个列。解码的速度依赖于列是否为定长字段以及行中列的数量。为了解决一行中出现太多的列,因此需要将实体多个属性拆分成 ...
分类:
数据库 时间:
2016-04-04 22:26:27
阅读次数:
229
基准測试的目的 基准測试是为了找出系统的瓶颈,包含: 硬件 磁盘、内存、网络等。 操作系统 文件系统、内存管理、驱动、调度等。 RDBMS SQL层、存储引擎层。 Schema设计 索引、表结构、数据类型。 Query Query写的不好、逻辑错误。 应用程序问题 系统各部分之间的交互 磁盘IO、R ...
分类:
数据库 时间:
2016-04-04 16:18:43
阅读次数:
217