03 2020 档案

摘要:提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关。 而事务的ACID(即原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability)可以说涵盖了事务的全部知识点,所以,我 阅读全文
posted @ 2020-03-27 22:20 阿丸 阅读(1175) 评论(1) 推荐(4) 编辑
摘要:设计模式不应该停留于理论,跟具体业务结合,它才会变得更香~ 1.前言 设计模式我们多少都有些了解,但是往往也只是知道是什么。 在真实的业务场景中,你有用过什么设计模式来编写更优雅的代码吗? 我们更多的是每天从产品经理那里接受到新需求后,就开始MVC一把梭,面向sql编程了。 我们习惯采用MVC架构, 阅读全文
posted @ 2020-03-23 22:43 阿丸 阅读(2486) 评论(2) 推荐(0) 编辑
摘要:最近很多同学咨询关于校招准备的问题,沟通下来发现发现了很多共性的问题,因此,今天总结一下这些问题,为希望进入互联网研发岗位的同学提供一些参考建议。 1.专业有决定性影响吗? 答案是否定的。 最近几年经常负责面试社招和校招,校招也面试过很多非计算机专业的同学。实际上,能拿到offer的同学跟专业本身有 阅读全文
posted @ 2020-03-21 10:38 阿丸 阅读(1004) 评论(0) 推荐(0) 编辑
摘要:1.前言 随着业务的发展,MySQL数据库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作的开销也会越来越大;另外,无论怎样升级硬件资源,单台服务器的资源(CPU、磁盘、内存、网络IO、事务数、连接数)总是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。 分表、分库和读写分 阅读全文
posted @ 2020-03-16 20:15 阿丸 阅读(855) 评论(0) 推荐(2) 编辑
摘要:前面,我们已经打下了很多关于HBase的理论基础,今天,我们主要聊聊在实际开发使用HBase中,需要关注的一些最佳实践经验。 1.Schema设计七大原则 1)每个region的大小应该控制在10G到50G之间; 2)一个表最好保持在 50到100个 region的规模; 3)每个cell最大不应该 阅读全文
posted @ 2020-03-14 15:43 阿丸 阅读(303) 评论(0) 推荐(0) 编辑
摘要:HBase拥有出色的扩展性,其中最依赖的就是region的自动split机制。 1.split触发时机与策略 前面我们已经知道了,数据写入过程中,需要先写memstore,然后memstore满了以后,flush写入磁盘,形成新的HFile文件。 当HFile文件数量不断累积,Region serv 阅读全文
posted @ 2020-03-13 21:59 阿丸 阅读(279) 评论(0) 推荐(0) 编辑
摘要:先给结论吧:HBase利用compaction机制,通过大量的读延迟毛刺和一定的写阻塞,来换取整体上的读取延迟的平稳。 1.为什么要compaction 在上一篇 HBase读写 中我们提到了,HBase在读取过程中,会创建多个scanner去抓去数据。 其中,会创建多个storefilescann 阅读全文
posted @ 2020-03-11 19:47 阿丸 阅读(426) 评论(0) 推荐(0) 编辑
摘要:在了解HBase架构的基础上,我们需要进一步学习HBase的读写过程,一方面是了解各个组件在整个读写过程中充当的角色,另一方面只有了解HBase的真实请求过程,才能为后续的正确使用打下初步基础,毕竟,除了会使用api,你还得知道怎么能写得更快,怎么查得更快。 1.首次读写的基本过程 在上一篇 深入H 阅读全文
posted @ 2020-03-10 21:24 阿丸 阅读(416) 评论(0) 推荐(0) 编辑
摘要:最近公司正好准备投入HBase,因此做了一些基础学习准备,所以先暂时停止MySQL的更新,把HBase的学习心得跟大家分享一下,接下来一段时间都会发布HBase相关内容。 在学的过程中,发现跟MySQL相互对比,能更深入地了解存储组件的设计。有任何问题或者想看的知识点,欢迎留言跟我沟通。 1.前言 阅读全文
posted @ 2020-03-10 21:22 阿丸 阅读(380) 评论(1) 推荐(0) 编辑
摘要:在网上看过很多HBaes架构相关的文章,内容深浅不一,直到发现了一篇MapR官网的文章https://mapr.com/blog/in-depth-look-hbase-architecture/#.VdMxvWSqqko,写得实在太sheng dong了。 因此,以这篇文章作为骨架,翻译了许多原文 阅读全文
posted @ 2020-03-09 23:55 阿丸 阅读(1078) 评论(0) 推荐(2) 编辑
摘要:1.背景 前段时间,由于运维同事的一次误操作,清空了内网核心数据库,导致了公司内部管理系统长时间不可用,大量知识库内容由于没有备份险些丢失。 结合这两天微盟的删库跑路事件,我们可以看到,数据库的备份与恢复显得尤为重要。 本文将对此次内网数据恢复过程做一些整理,介绍删库后的抢救方案。 同时,引发对数据 阅读全文
posted @ 2020-03-07 21:04 阿丸 阅读(812) 评论(0) 推荐(0) 编辑
摘要:在上篇中,我们介绍了MySQL中的全局锁和表锁。 今天,我们专注于介绍一下行锁,这个在日常开发和面试中常常困扰我们的问题。 1.行锁基础 由于全局锁和表锁对增删改查的性能都会有较大影响,所以,我们自然会想到, 只需要对有修改的行加锁就行了,这就是行锁。 在事务中,事务1更新了一行主键为1的数据行,那 阅读全文
posted @ 2020-03-05 22:38 阿丸 阅读(696) 评论(0) 推荐(2) 编辑
摘要:0.前言 MySQL按照加锁的范围,分为全局锁、表级锁、行级锁。 本文作为上篇,主要介绍MySQL的全局锁 和 表级锁。 重要的实战总结为,如何安全地变更一个表的表结构。 1.全局锁 定义: 全局锁就是对整个数据库实例加锁。 全局锁语法: Flush tables with read lock (F 阅读全文
posted @ 2020-03-03 22:38 阿丸 阅读(304) 评论(0) 推荐(0) 编辑
摘要:1.背景 在完成一个分表项目后,发现分表的数据迁移后,新库所需的存储容量远大于原本两张表的大小。在做了一番查询了解后,完成了优化。 回过头来,需要进一步了解下为什么会出现这样的情况。 与标题的问题的类似问题还有,为什么表数据内容删除了而表大小没有变化。其本质都是一样的。 要回答这些问题,我们需要从m 阅读全文
posted @ 2020-03-01 15:28 阿丸 阅读(333) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示