-
数据库分库分表,何时分?怎样分?
所属栏目:[MySql教程] 日期:2019-02-01 热度:112
一. 数据切分 关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在[详细]
-
为什么企业依赖于NoSQL
所属栏目:[MySql教程] 日期:2019-02-01 热度:146
如果你关注大数据科技动向,你对 NoSQL 一定不陌生,NoSQL 是一个分布式数据库。在过去时间,数据存储一直关系型数据库天下,有着良好的控制并发操作、事务功能。虽然 RDBMS 很优秀,但是随着时间的推移就出现了两个关系数据库解决不了的问题:快速增长的[详细]
-
值得收藏:一份非常完整的MySQL规范
所属栏目:[MySql教程] 日期:2019-02-01 热度:182
一、数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 临时库表必须以tm[详细]
-
高吞吐低延迟的 NoSQL 数据库——Scylla 3.0 发布
所属栏目:[MySql教程] 日期:2019-02-01 热度:104
开源 NoSQL 数据库 Scylla Open Source 发布第 3 个主要版本更新,这个版本提高了查询效率并减少存储的容量需求,尽可能降低维护时间,同时也还加强了整体数据库的执行效率,官方表示,Scylla 是目前性能最高的 NoSQL 数据库,包括布署于生产环境的 Apache[详细]
-
苹果 FoundationDB 开源 CloudKit 使用的数据层
所属栏目:[MySql教程] 日期:2019-02-01 热度:141
苹果公司旗下的 FoundationDB 今天宣布,将开源 FoundationDB 数据记录层,它提供了基于 FoundationDB 的关系数据库语义,具有模式管理,索引功能和丰富的查询功能集。 苹果使用数据记录层为数亿用户提供应用程序和服务,并与 FoundationDB 相结合,构成了[详细]
-
是否值得付费?Oracle,Open JDK等四大JVM性能全面对比
所属栏目:[MySql教程] 日期:2019-02-01 热度:89
市面上可供选择的JVM发行版还是有不少的。选择合适的JVM需要考虑不同的因素。性能是其中一个重要的因素。靠谱的性能研究是很困难的。在本文中,我创建了一个测试,在不同的JVM上执行对比测试。测试程序包括Spring Boot REST应用,使用Prometheus监控JVM并[详细]
-
实用排坑帖:SQL语句性能优化操作策略大全
所属栏目:[MySql教程] 日期:2019-02-01 热度:130
本文会提到52条SQL语句性能优化策略。 1、对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引。 2、应尽量避免在where子句中对字段进行null值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特[详细]
-
Redis实现分布式锁的正确姿势
所属栏目:[MySql教程] 日期:2019-02-01 热度:79
一、前言 在我们日常工作中,除了Spring和Mybatis外,用到最多无外乎分布式缓存框架Redis。但是很多工作很多年的朋友对Redis还处于一个最基础的使用和认识。所以我就像把自己对分布式缓存的一些理解和应用整理一个系列,希望可以帮助到大家加深对Redis的理[详细]
-
数十个SQL审核项目后,我总结出了这样一套经验
所属栏目:[MySql教程] 日期:2019-02-01 热度:61
多行业SQL审核落地总结 近年来落地了数十个行业(包含银行、制造业、保险等)的SQL审核项目,在项目对接需求,直到后期验收,完成优化目标的过程中,有一些感悟和总结,本文做一个分享。 首先要明确一下SQL审核的对象范围是针对数据库层面的,涉及性能、安全[详细]
-
大牛出招|分分钟解决MySQL查询速度慢与性能差
所属栏目:[MySql教程] 日期:2019-02-01 热度:71
一、什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素 1.2 风险分析 QPS:Queries Per Second意思是每秒查询率,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 TPS:是TransactionsPer[详细]
-
B+树 | MySQL索引使用原则
所属栏目:[MySql教程] 日期:2019-02-01 热度:89
MySQL一直了解得都不多,之前写sql准备提交生产环境之前的时候,老员工帮我检查了下sql,让修改了一下存储引擎,当时我使用的是Myisam,后面改成InnoDB了。为什么要改成这样,之前都没有听过存储引擎,于是网上查了一下。 事实上使用不同的存储引擎也是有[详细]
-
分库分表,读写分离后,数据库中间件扮演了一个怎样的角色?
所属栏目:[MySql教程] 日期:2019-02-01 热度:121
分库分表,读写分离会带来哪些问题? 前面一篇文章图解分布式系统架构(看推荐阅读)大概讲了一下分库分表,以及读写分离出现的场景,分库分表为了解决高并发和海量数据的问题。 分库后会出现新的问题 1、跨库join问题 如有2个库,订单库,用户库,要查询[详细]
-
MySQL性能突发事件问题排查技巧
所属栏目:[MySql教程] 日期:2019-02-01 热度:195
经过多年的实际经验,整理了一些材料,已Linux环境下MySQL性能突发事件问题排查技巧分享给大家。 作为DBA在面对性能上突发问题的时候,是否出现过束手无策,无从下手的经历。 其实性能无非问题点在于存储、操作系统, 应用程序,数据库 等方面。 性能分析[详细]
-
阿里巴巴数据库分库分表的实践
所属栏目:[MySql教程] 日期:2019-02-01 热度:148
1、阿里巴巴分布式数据层平台发展和演变 业务数据从原来的单库单表模式变成了数据被拆分到多个数据库,甚至多个表中,如果在数据访问层做一下功能的封装和管控,所有分库分表的逻辑和数据的跨库操作都交给应用的开发人员来实现,则对开发人员的要求变得相[详细]
-
英国《卫报》是如何不停机从MongoDB迁移到Postgres?
所属栏目:[MySql教程] 日期:2019-01-31 热度:121
这篇文章介绍了英国《卫报Guardian》为什么和如何从Mongo迁移到Postgres,英国卫报大部分内容 - 包括文章,实时博客,画廊和视频内容 - 都是内部CMS工具Composer中制作的。直到最近一直得到了在AWS上运行的Mongo DB数据库的支持。这个Mongo DB数据库是Guar[详细]
-
日均5亿查询量的京东到家订单中心,为什么舍MySQL用ES?
所属栏目:[MySql教程] 日期:2019-01-31 热度:70
京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调用量都非常大,造成了订单数据读多写少的情况。 我们把订单数据存储在MySQL中,但显然只通过DB来支撑大量的查询是不可取的。同时对于一些复杂的查询,MySQL[详细]
-
巧用这19条MySQL优化,效率至少提高3倍
所属栏目:[MySql教程] 日期:2019-01-31 热度:197
本文我们来谈谈项目中常用的MySQL优化方法,共19条,具体如下: 1、EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。 下面来个简单的示例,标注(1、2、3、4、5)我们要重点关注的数据: type列,连接类型。一个好的SQL语句至少要达到range级别。杜[详细]
-
数据库大师成长日记:SQL Server如何防止开发人员获取敏感数据
所属栏目:[MySql教程] 日期:2019-01-31 热度:82
朋友们,我们在使用SQLServer数据库的时候,数据库表的字段值都是公开的。如果您是项目负责人,知道所有实际数据无可厚非,但如果这些数据比较敏感,您并不希望开发团队的其他人员知道该怎么办呢? 在上一篇《SQL Server如何进行元数据底层加密》中,我详[详细]
-
如何在MySQL 8中重置root密码
所属栏目:[MySql教程] 日期:2019-01-31 热度:189
MySQL中的用户密码存储在用户表中,密码重置实际上是改变该表中记录的值。 要在忘记密码的情况下更改密码,我们的想法是绕过MySQL的身份验证进入系统并使用SQL命令更新记录密码值。 在MySQL 5中,可以使用--skip-grant-tables选项启动MySQL服务,此选项将[详细]
-
你真的了解数据库工程师吗?写给想从事数据库方面工作的朋友
所属栏目:[MySql教程] 日期:2019-01-31 热度:129
每当我给别人介绍我的职位是数据库工程师的时候,别人都会用疑惑的眼睛看着我。总会抛出一个问题:数据库工程师是做什么的? 对于经常听到数据库管理员(DBA),数据分析师,数据库开发工程师,数据挖掘工程师,数据架构师,ETL工程师等这些职位,之前我也是[详细]
-
浅谈SQL Server内部运行机制
所属栏目:[MySql教程] 日期:2019-01-31 热度:67
对于已经很熟悉T-SQL的读者,或者对于较专业的DBA来说,逻辑的增删改查,或者较复杂的SQL语句,都是非常简单的,不存在任何挑战,不值得一提,那么,SQL的哪些方面是他们的挑战 或者软肋呢? 那就是sql优化。然而,要想成为一个好的Sql优化高手,首先要做的[详细]
-
数据库的“行式存储”和“列式存储”
所属栏目:[MySql教程] 日期:2019-01-31 热度:112
传统的关系型数据库,如 Oracle、DB2、MySQL、SQL SERVER 等采用行式存储法(Row-based),在基于行式存储的数据库中, 数据是按照行数据为基础逻辑存储单元进行存储的, 一行中的数据在存储介质中以连续存储形式存在。 我们知道,当今的数据处理大致可分为[详细]
-
2019年1月数据库流行度排行: PostgreSQL蝉联2018年度冠军
所属栏目:[MySql教程] 日期:2019-01-31 热度:116
在 DB-Engines 网站,2018年度数据库评选已经出炉,PostgreSQL以其卓越表现,蝉联年度数据库容誉。 该网站这样评价: PostgreSQL在去年的DB-Engines排名中比任何其他343个受监控系统更受欢迎。 因此,我们将PostgreSQL声明为2018年的DBMS。 或许这将是Post[详细]
-
数据库大师成长日记:将数据库SQL查询结果直接转为JSON
所属栏目:[MySql教程] 日期:2019-01-31 热度:102
JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 SQL与Json SQLServer对从2016开[详细]
-
Redis是如何写代码注释的?
所属栏目:[MySql教程] 日期:2019-01-11 热度:93
许多人认为,如果代码写得足够扎实,注释就没什么用了。在他们看来,当一切都设计妥当时,代码本身会记录其作用,因此代码注释是多余的。我对此持不同意见,主要出于两个原因: 1、许多注释并未起到解释代码的作用。 2、注释使读者不必凭空想象太多细枝末[详细]