好系统都是设计出来的,不过数据库厂商最好让应用设计变得更简单
随着昨天我挑着一担祭品爬了一公里山路送到墓地,我的葬礼第一重要角色的工作就结束了,今天回程高铁上我就在想前几天携程关于OB读写分离实践的那个案例,想把我想到的这个案例的意义拿出来和大家分享一下。经常有人谈到因为某某数据库的问题而导致了系统问题的时候,总有人会说“好的系统都是设计出来的”。几年前和Or
数据库全量SQL分析与审计系统性能优化之旅
总第514篇2022年第031篇全量SQL(所有访问数据库的SQL)可以有效地帮助安全进行数据库审计,帮助业务快速排查性能问题。一般可通过开启genlog日志或者启动MySQL审计插件方式来进行获取,而美团选用了一种非侵入式的旁路抓包方案,使用Go语言实现。无论采用哪种方案,都需要重点关注它对数据库
玩游戏也能学编程?有点创意
大家好,我是小林。回忆起当年大一学编程的时候,当时是分了理论课和上机课,理论课就是在教室里看老师在黑板上写代码,上机课就是在电脑室上自己写代码。虽说既有理论教学又有上机机会,但是对于次刚接触编程的我,还是学的一脸懵逼,因为我是在大学才知道有编程这玩意,之前听都没听过。而且当时身边有的同学都已经在
理“ Druid 元数据”之乱
vivo互联网大数据团队-ZhengXiaofeng一、背景Druid是一个专为大型数据集上的高性能切片和OLAP分析而设计的数据存储系统。由于Druid能够同时提供离线和实时数据的查询,因此Druid常用作为GUI分析、业务监控、实时数仓的数据存储系统。此外Druid拥有一个多进程,分布式架构,
数据库异常智能分析与诊断
总第507篇2022年第024篇DAS(DatabaseAutonomyService,数据库自治服务)面向研发和DBA,是一款为用户提供数据库性能分析、故障诊断、安全管理等功能的数据库自治服务。DAS利用大数据手段、机器学习、专家经验,帮助用户消除数据库管理的复杂性及人工操作引发的服务故障,有效保
聊聊并发编程的12种业务场景
大家好,我是苏三,又跟大家见面了。文末留言送书啦!!!前言并发编程是一项非常重要的技术,无论在面试,还是工作中出现的频率非常高。之前我发表的一篇《聊聊并发编程的10个坑》,在全网广受好评。说明了这类文章还是比较有价值的,接下来,打算继续聊聊并发编程这个话题。并发编程说白了就是多线程编程,但多线程一定
CompletableFuture原理与实践-外卖商家端API的异步化
总第509篇2022年第026篇CompletableFuture由Java8提供,是实现异步化的工具类,上手难度较低,且功能强大,支持通过函数式编程的方式对各类操作进行组合编排。相比于ListenableFuture,CompletableFuture有效提升了代码的可读性,解决了“回调地狱”的问
不懂优雅停机,搞挂了线上服务,咋办?
公司项目是用consul进行注册的,在发布微服务的时候,总是会导致调用方出现一定几率的调用失败。一开始百思不得其解,后来咨询了的同事才知道:原来是服务下线的时候没有优雅停机,没有去consul将自己下线再停机,导致调用方拿到了旧的调用地址,导致调用失败!看来优雅停机还是一个蛮重要的知识点,可不能
架构师必知必会之分段式提交|推荐收藏
先来露怯一波:记得我工作年在做DBA的时候,周末去一个培训机构听数据库相关的讲座,当时提到了广义上分布式事务的问题,旁边一个地中海的老哥,脱口而出两段式提交。当时的我并不太了解这个知识点,网上也搜了下资料,瞬间崩溃,完全看不懂。感叹当初要是有那么一套系列文章该有多好。在上一篇分布式事务中,我们了
亚马逊云科技刘冰冰:未来数据库需要关心的硬核创新
分享嘉宾:刘冰冰亚马逊云科技编辑整理:张了了聚水潭出品平台:DataFunTalk导读:数据库经过了几十年的发展,目前已经是一项非常成熟的技术,然而随着当今互联网的极速增长,我们进入到云时代,企业亟需构建现代化的应用,因此数据库有了更大的挑战。今天结合当前时代的发展和趋势,分享未来数据库需要关注的硬
突发状况,数据库表被锁,抓瞎了?
背景在程序员的职业生涯中,总会遇到数据库表被锁的情况,前些天就又撞见一次。由于业务突发需求,各个部门都在批量操作、导出数据,而数据库又未做读写分离,结果就是:数据库的某张表被锁了!用户反馈系统部分功能无法使用,紧急排查,定位是数据库表被锁,然后进行紧急处理。这篇文章给大家讲讲遇到类似紧急状况的排查及
监听日志文件变化的三种方法,推荐第三种!
背景在研究规则引擎时,如果规则以文件的形式存储,那么就需要监听指定的目录或文件来感知规则是否变化,进而进行加载。当然,在其他业务场景下,比如想实现配置文件的动态加载、日志文件的监听、FTP文件变动监听等都会遇到类似的场景。本文给大家提供三种解决方案,并分析其中的利弊,建议收藏,以备不时之需。方案一:
聊聊保证线程安全的10个小技巧
大家好,我是苏三,又跟大家见面了。前言对于从事后端开发的同学来说,线程安全问题是我们每天都需要考虑的问题。线程安全问题通俗的讲:主要是在多线程的环境下,不同线程同时读和写公共资源(临界资源),导致的数据异常问题。比如:变量a=0,线程1给该变量+1,线程2也给该变量+1。此时,线程3获取a的值有可能
PG的BUFFER相关锁
昨天刚刚下飞机就接到电话说一个长辈去世,今天一早坐高铁回老家参加丧礼。所以这篇前两天写了个头的文章今天是在高铁上完成的,有些实验不方便做,就只能简化了。前两天一个朋友说PG的热块冲突比Oracle更容易产生,并会产生比较严重的性能问题,特别是当系统中的一些大型的热表存在大量UPDATE操作的时候。确
谈谈技术能力
01技术人成长的悖论Aliware在程序员界有一个悖论持续在困惑着很多技术人:在写代码的人的困惑是一直写代码是不是会丧失竞争力,会不会被后面年轻的更能加班写代码的人汰换。典型代表就是工作5年左右的核心技术骨干,此时正处于编码正嗨但也开始着手规划下一个职业发展阶段的时候;没在写代码的人困惑是我长时间不
Android对so体积优化的探索与实践
总第513篇2022年第030篇减小应用安装包的体积,对提升用户体验和下载转化率都大有益处。本文将结合美团平台的实践经验,分享so体积优化的思路、收益,以及工程实践中的注意事项。本文将先从so文件格式讲起,结合文件格式分析哪些内容可以优化,然后再具体讲解每项优化手段以及注意事项,后介绍相关的工程实
当我们聊定时器时,到底在聊什么
00目录背景定时器在电商平台的应用不同场景对定时器精度的要求常见的定时器方案setInterval链式调用setTimeout实现高复杂度计时业务时存在的一些问题计时补偿定时器计时间隔超过阈值冗余计算与卡帧另一种前端定时器方案浏览器页面渲染机制requestAnimationFramerequest
代码注释的艺术,代码真的不需要注释吗?
01前言Aliware前天回家路上,有辆车强行插到前面的空位,司机大哥暴躁地拍着方向盘吐槽道“加塞可恶了”,我问“还有更可恶的吗”,司机大哥淡定说道“不让自己加塞的”。似乎和我们很类似,我们程序员届也有这2件相辅相成的事:讨厌别人不写注释,更讨厌让自己写注释。一段糟糕的代码,往往大家低的预期是
集中式数据库的集群计算
节前写过一篇关于分布式数据库的文章,当时有几个朋友和我讨论集中式数据库和分布式数据库如何选择的问题。实际上,数据库产品都不是万能的,对于不同的应用场景,不同的用户群体,其对数据库的选择有所不同。对于一些用户或者一些应用场景来说,可能选择分布式数据库是必然的选择,另外一些用户或者应用场景,选择集中式数
TIDB 6.0新特性漫谈之Clinic
1个月前TIDB官方展开了一个TiDB6.0BookRush活动,作为2年前参与过:TiDBinaction的我来说,还是比较熟悉的,之前电子书编写采用了比较极客的方式,有个36小时的实现,大家都编写自己领取的文章模块后,在github上提交自己的文章,本次TiDB6.0BookRush则主要针对6