202009-23 gearman + mysql方式实现持久化操作示例 本文实例讲述了gearman+mysql方式实现持久化操作。分享给大家供大家参考,具体如下:1、为什么要持久化?gearman的jobserver中的工作队列存储在内存中,一旦服务器有未处理的任务时重启或者宕机,那么这些任务就会丢失。持久化存储队列可以允许添加后台任务,并将其存储在外部的持久型队列里(比如MySQL数据库)。2、关于gearman的持久化的文章,建议可以看官方文档http://gearman.org/manual/job_server/#persistent_queues3... 继续阅读 >
202009-23 MySQL的DML语言操作实例 补充说明,外键:不要使用外键,一切外键概念都在应用层解决。补充说明,数据库的列,也就是字段名,尽量带上飘符号`数据库存在的意义:数据存储和数据管理。数据库:行(数据),列(字段)注意:本页是解决了行的数据问题。上一页是解决列的字段问题。DML语言:数据操作语言1、添加(insert)2、更新(update)3、删除(delete)1.添加insert(往行里添加数据)--插入语句(添加)--格式:INSERTINTO`表名`(`字段名1`,`字段名2`,`... 继续阅读 >
202009-23 MySQL全文索引、联合索引、like查询、json查询速度哪个快 查询背景有一个表tmp_test_course大概有10万条记录,然后有个json字段叫outline,存了一对多关系(保存了多个编码,例如jy1577683381775)我们需要在这10万条数据中检索特定类型的数据,目标总数据量:2931条SELECTCOUNT(*)FROMtmp_test_courseWHERE`type`=5ANDdel=2ANDis_leaf=1我们在限定为上面类型的同时,还得包含下面任意一个编码(也就是OR查询)jy1577683381775jy1577683380808jy1577683379178jy1577683378676jy1577... 继续阅读 >
201810-19 携程实时用户行为系统实践 携程实时用户行为服务作为基础服务,目前普遍应用在多个场景中,比如猜你喜欢(携程的推荐系统),动态广告,用户画像,浏览历史等等。以猜你喜欢为例,猜你喜欢为应用内用户提供潜在选项,提高成交效率。旅行是一项综合性的需求,用户往往需要不止一个产品。作为一站式的旅游服务平台,跨业务线的推荐,特别是实时推荐,能实际满足用户的需求,因此在上游提供打通各业务线之间的用户行为数据有很大的必要性。携程原有... 继续阅读 >
201808-02 MySQL并行复制的深入浅出 一、并行复制的背景首先,为什么会有并行复制这个概念呢?1.DBA都应该知道,MySQL的复制是基于binlog的。2.MySQL复制包括两部分,IO线程和SQL线程。3.IO线程主要是用于拉取接收Master传递过来的binlog,并将其写入到relaylog4.SQL线程主要负责解析relaylog,并应用到slave中5.不管怎么说,IO和SQL线程都是单线程的,然后master却是多线程的,所以难免会有延迟,为了解决这个问题,多线程应运而生... 继续阅读 >
201803-20 提高MySQL性能的7个技巧 译者注:随着尺寸和负载的增长,MySQL的性能会趋于下降。记住这些诀窍,便可保持MySQL的流畅运行。测量应用程序的方法之一是看性能。而性能的指标之一便是用户体验,通俗的说法就是“用户是否需要等待更长的时间才能得到他们想要的东西”。这个指标在不同的应用场合而有所改变。对于移动购物应用,响应时间不能超过几秒钟。对于员工的人力资源页面,可能需要多花几秒钟的时间。有很多关于性能如何影响用户行为... 继续阅读 >
201802-21 MySQL 统计信息以及执行计划预估方式初探 数据库中的统计信息在不同(精确)程度上描述了表中数据的分布情况,执行计划通过统计信息获取符合查询条件的数据大小(行数),来指导执行计划的生成。在以Oracle和SQLServer为代表的商业数据库,和以开源的PostgreSQL为代表的数据库中,直方图是统计信息的一个重要组成部分。在生成执行计划的时候,通过统计信息以及统计信息的直方图来预估符合条件的数据行数,从而影响执行计划的生成。统计信息对执行计划的影响... 继续阅读 >
201801-16 由FTWRL导致的MySQL从库死锁分析及参数深究 最近线上执行备份的从库时出现复制卡死现象,分析以后发现是两个死锁,showfullprocesslist的状态如图1所示,其中,数据库版本是官方5.7.18版本,我们内部做了些许修改,但与此次死锁无关。图一先说一下结论,图一中:162线程是执行innobackup执行的flushtableswithreadlock;144是SQL线程,并行复制中的Coordinator线程;145/146是并行复制的worker线程,145/146worker线程队列中的事务可... 继续阅读 >
201801-11 全面Docker化之后,京东弹性数据库的最新实践与突破! 京东弹性数据库不是一个单一的产品,而是京东在对数据库的使用、运维和开发过程中遇到的一系列问题的解决方案,和运维经验的总结升华进而形成的一套产品系列,主要包括三大功能模块:核心功能模块:JED,提供数据查询和写入的自动路由、自动弹性伸缩、自动FailOver、自动负载调度和数据库服务智能自治的功能。实时数据发布与订阅模块:BinLake,完全自助、无状态、自动负载、完全自治、可横向扩展的集群化Binlog... 继续阅读 >
201712-06 项目中常用的19条MySQL优化 声明一下:下面的优化方案都是基于“Mysql-索引-BTree类型”的一、EXPLAIN做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式key_len列,索引长度rows列,扫描行数。该值是个预估值ex... 继续阅读 >
201711-25 MySQL · 最佳实践 · SQL Server三种常见备份 已认证的机构 摘要本期月报是SQLServer数据库备份技术系列文章的开篇,介绍三种常见的SQLServer备份方法的工作方式、使用T-SQL语句和使用SSMSIDE创建备份集三个层面,介绍SQLServer的三种常见备份的工作原理和使用方法。三种常见的备份包括:数据库完全备份(FullBackup)数据库日志备份(TransactionLogBackup)数据库差异备份(DifferentialBackup)备份的重要性在开始分享之前,我们首先来看看数据... 继续阅读 >
201711-25 Twitter 架构如何支持上亿用户 谈到设计Twitter,我们首先要问一个本质问题:设计Twitter的基本方法论是什么?其实是我们计算机设计最基本的方法:分治法(DivideandConquer)。什么是分治法呢?就是把问题不断的拆解,拆解到你可以解决为止,它的艺术在于,从哪个维度来拆解非常考验我们能力。如果要求一周开发出Twitter,你会怎么做?你的架构是什么样的呢?相信你一定不会给出复杂的架构。前端是各种各样的业务逻辑,后端... 继续阅读 >
201711-20 MyFlash——美团点评的开源MySQL闪回工具 由于运维、DBA的误操作或是业务bug,我们在操作中时不时会出现误删除数据情况。早期要想恢复数据,只能让业务人员根据线上操作日志,构造误删除的数据,或者DBA使用binlog和备份的方式恢复数据,不管那种,都非常费时费力,而且容易出错。直到彭立勋首次在MySQL社区为mysqlbinlog扩展了闪回功能。在美团点评,我们也遇到过研发人员误删主站的配置信息,从而导致主站长达2个小时不可用的情况。DBA同学当时使用了技术团队自研... 继续阅读 >
201708-22 拆解 MySQL 的高阶使用与概念 前面我们主要分享了MySQL中的常见知识与使用。这里我们主要分享一下MySQL中的高阶使用,主要包括:函数、存储过程和存储引擎。对于MySQL中的基础知识,可以参见《与MySQL的零距离接触》1函数函数可以返回任意类型的值,也可以接收这些类型的参数。字符函数函数名称描述CONCAT()字符连接CONCAT_WS()使用指... 继续阅读 >
201708-22 用 Node + MySQL 处理 100G 数据 通过这个Node.js和MySQL示例项目,我们将看看如何有效地处理数十亿行占用数百GB存储空间的数据。本文的第二个目标是帮助你确定Node.js+MySQL是否适合你的需求,并为实现此类解决方案提供帮助。本文章使用的实际代码可以在GitHub上找到。为什么使用Node.js和MySQL?我们使用MySQL来存储我们的Node.js监控和调试工具用户的分布式跟踪数据Trace。我们选择了MySQL,因为在决定的时候... 继续阅读 >
201708-01 10个提升MySQL性能的小技巧 从工作量分析到索引的三条规则,这些专家见解肯定会让您的MySQL服务器尖叫。在所有的关系数据库中,MySQL已经被证明了完全是一头野兽,只要通知停止运行就绝对不会让你多等一秒钟,使你的应用置于困境之中,你的工作也承受极大的风险。不过事实是,普通的错误都在MySQL性能错误的射程之内。所以为了使你的MySQL服务器能够高速运转,提供稳定且持续的服务,消除这些错误是非常有必要的,但是这可能常常会被你的繁忙... 继续阅读 >