两文说透MySQL里的各种锁(下篇)
在上篇中,我们介绍了MySQL中的全局锁和表锁。今天,我们专注于介绍一下行锁,这个在日常开发和面试中常常困扰我们的问题。1.行锁基础由于全局锁和表锁对增删改查的性能都会有较大影响,所以,我们自然会想到,只需要对有修改的行加锁就行了,这就是行锁。在事务中,事务1更新了一行主键为1的数据行,那么,在这个
两文说透MySQL里的各种锁(上篇)
【MySQL系列相关】1.聊一聊关于MySQL的count(*)2.为什么MySQL分库分表后总存储大小变大了?0.前言MySQL按照加锁的范围,分为全局锁、表级锁、行级锁。本文作为上篇,主要介绍MySQL的全局锁和表级锁。重要的实战总结为,如何安全地变更一个表的表结构。搞个图做封面1.全局锁定义:
为什么MySQL分库分表后总存储大小变大了?
【MySQL系列相关】1.聊一聊关于MySQL的count(*)1.背景在完成一个分表项目后,发现分表的数据迁移后,新库所需的存储容量远大于原本两张表的大小。在做了一番查询了解后,完成了优化。回过头来,需要进一步了解下为什么会出现这样的情况。与标题的问题的类似问题还有,为什么表数据内容删除了而表大小
聊一聊关于MySQL的count(*)
1.背景自从大家对于MySQL数据库的稳定性有了更高的追求后,经常有小伙伴有这样的疑问,对于count(*)这样的操作,有没有正确的姿势,或者有没有可以优化的地方?但答案比较残酷,如果已经使用了正确的索引,那么基本上没有可以优化的地方。一旦出现慢查询了,它就是慢查询了,要改,只能自己计数或者通过其他
R语言可解释机器学习:利用控制变量法进行敏感度分析
作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量、机器学习、数据可视化、应用统计建模、知识图谱等,著有《R语言数据高效处理指南》。知乎专栏:R语…
ggplot2的辅助工具:ggThemeAssist与eoffice
作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量、机器学习、数据可视化、应用统计建模、知识图谱等,著有《R语言数据高效处理指南》。知乎专栏:R语…
R语言可解释机器学习:LIME简介
作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量、机器学习、数据可视化、应用统计建模、知识图谱等,著有《R语言数据高效处理指南》。知乎专栏:R语…
手把手教你用 Docker 部署网站[Docker 系列-8]
本文以jpress这样一个开源网站的部署为例,向读者介绍docker-compose的使用。jpress是Java版的wordPress,不过我们不必关注jpress的实现,在这里我们只需要将之当作一个普通的应用即可,完成该项目的部署工作。准备工作这里我们一共需要两个容器:TomcatMySQL然后
Docker,Docker Compose,Docker Swarm,Kubernetes之间的区别
最近在总结Docker容器,像是Kubernetes,Docker-compose,DockerSwarm,他们之间的区别,特意去研究了一下,分享一下,适合刚入门学习容器的同学了解。后期文章会首发于本专栏,也会不定时发放福利,欢迎关注,点赞JAVA高级进阶zhuanlan.zhihu.comDco
部署docker swarm集群监控
前提Docker前言现在DockerSwarm已经彻底输给了K8S,但是现在K8S依然很复杂,上手难度较DockerSwarm高,如果是小规模团队且需要容器编排的话,使用DockerSwarm还是适合的。目前DockerSwarm有一个问题一直没有解决,如果业务需要知道用户的请求IP,则Docker
震惊 | 只需3分钟!极速部署个人Docker云平台
1DockerSwarm极速部署(5分钟极速部署)一、介绍系统环境1)服务器环境节点名称IP操作系统内核版本注意:部署这些编排工具的时候服务器数量不定,1台服务器也行,所以读者可以自由增减服务器。2)前提条件Docker版本1.18+集群节点之间保证TCP2377、TCP/UDP7946和UDP47
不容错过的 Docker 集群自建方案
前言嗯,这其实是一篇弃坑文。原先打算针对小白用户搞一系列博文,由浅入深地讲解如何玩转Docker,但考虑到时间和精力实在有限,放弃了这个念头。当然也不排除,后面有时间和精力的时候,会用readthedocs再实现这个想法。不过,本文也不能一点干货都没有,思考了一番,决定把自己自建Docker集群的一
使用Docker Swarm搭建分布式爬虫集群
在爬虫开发过程中,你肯定遇到过需要把爬虫部署在多个服务器上面的情况。此时你是怎么操作的呢?逐一SSH登录每个服务器,使用git拉下代码,然后运行?代码修改了,于是又要一个服务器一个服务器登录上去依次更新?有时候爬虫只需要在一个服务器上面运行,有时候需要在200个服务器上面运行。你是怎么快速切换的呢?
一次HBase读超时的调优
现象:因为系统实时性要求比较高,HBase超时时间设置为2秒。偶尔会出现(几个小时)出现一波超时的情况,看了监控IO、CPU等并没有出现明显大波动。不过集群是高读写的,每秒几万的请求。就开始参与协助帮忙集群的排查、调优工作。汗,最关键的是集群都用上了SSD,这是开大的节奏。先来看看HBase主要的几
1-游走HBase的Block Cache
算下来在Hbase的研发、调优、小工具的专利上己经有好几年的历史了,其中也经历过很多痛苦的过程,解决高负载下hbase各种性能问题。回过头看看,大多都是零碎的记录,个人认为还是非常重要的,不积洼步,无以至千里。想想,应该拿点东西来记录下,今天就聊聊BlockCache,因为它比较重要,作为hbase
5-Hbase Rowkey设计
HBase是采用Key-Value形式的列存储,rowkey是HBase的key-value存储中的key,所以rowkey的设计是非常重要,直接影响到HBase的性能。HBase按单个Rowkey检索的效率是很高的,耗时在1毫秒以下就可以完成,下面就来说说rowkey的设计原则:1、RowKey的
2-Hbase最佳实战:Region数量与大小的重要影响
1、Region数量的影响通常较少的region数量可使群集运行的更加平稳,官方指出每个RegionServer大约100个regions的时候效果最好,理由如下:1)Hbase的一个特性MSLAB,它有助于防止堆内存的碎片化,减轻垃圾回收FullGC的问题,默认是开启的。但是每个MemStore需
4-Hbase复制表方法(导入导出、跨集群)
第一种:使用CopyTable命令复制表1.集群1创建表create'test_table','f'2、初始化测试数据put'test_table','1','f:q1','test1'put'test_table','2','f:q1','test2'3.在集群2创建表create'test_ta
中国HBase技术社区第一届Meetup资料大合集
2018年6月6号,由中国HBase技术社区组织,阿里云主办的中国第一次HBaseMeetup在北京望京阿里中心举行,来自阿里、小米、滴滴、360等公司的各位HBase的PMC、committer共聚一堂,共同探讨HBase2.0的技术革新以及HBase在国内各个大型企业内的应用价值,并一起见证HB
HBase 集成 Phoenix 构建二级索引实践
Phoenix在HBase生态系统中占据了非常重要的地位,本文主要包括以下几方面内容:Phoenix介绍CDHHBase集成Phoenix使用Phoenix创建HBase二级索引Phoenix索引类型介绍Phoenix介绍Phoenix是构建在HBase之上的高效的SQL引擎,同时具备OLTP和OL