单机是最好的架构之三锁
自己原文公众号: https://mp.weixin.qq.com/s/WB83b6o_FoUtb-KJFBhoqQ 有时候发现开发其实分不清锁和死锁、以及怎么会造成这种。为了防止锁把架构变得复杂,但是其实没什么用。比如我账户有10元钱,我需要买一个5元的东西还要买一个6元的东西。结果是我最多只能买一样。这是数学问题而不是数据库问题。不少时候开发同学怕锁,结果设计了异步或者缓存再或者你想不到的操作
exadata与安迪比尔定理
自己原文公众号: https://mp.weixin.qq.com/s/c0krbIG9ysJFQqh1sDUVig前一天发一个朋友圈时候,德哥(PG的布道者)教了我一个名词--安迪比尔·。安迪是原英特尔公司 CEO 安迪·格鲁夫(Andy Grove)背后所指代的是所有硬件厂商。而比尔就是微软的创始人比尔·盖茨,背后所指代的是所有软件厂商。我和比尔盖茨同一天生日10月28日(世界男性日)。言归正
少即是多--数据架构之我见
自己原文公众号: https://mp.weixin.qq.com/s/2uMMrT5RO0vabXWtkDsxGw1870年9月6日,英国皇家海军铁甲舰“船长”号,在第一次航行中就遇到风暴而沉没,船上473人丧命。这艘军舰为什么这么弱不禁风呢?事故调查发现:首先,“船长”号以蒸汽机作为动力,又画蛇添足地安装了风帆桅杆;其次,工人们在造舰时唯恐用料不足,大多数零件的重量超出设计标准,导致完工的军舰
单机是最好的架构之二数据同步
自己原文公众号: https://mp.weixin.qq.com/s/cULhj5HFhYvjINZrDfjOoQ这篇我主要是针对分库分表、微服务和烟囱建设等说的。 我以前做公安行业的,人车管控。比如一辆车开过一个路口或者一个路段,被监控设备抓拍。那就是一条数据(含图片)。早期数据不多并发不高的时候我们图片是存数据库的。每秒100的并发写入问题不大。后期数
单机是最好的架构之一集中部署
自己原文公众号: https://mp.weixin.qq.com/s/dwgB4pwqhahTdRan_sKQWQ我以前一直说单机是最好的架构。这里的单机是指的一套数据库比如PG的集群,oracle的RAC、MySQL的MGR。我反对分库分表,不管别人怎么说我始终坚定这么认为。今天开始一个系列来说明。后续我打算有数据同步篇章、分库篇章、融合篇章等等等等 多
MySQL8升级遇到的各式各样问题
自己原文公众号: https://mp.weixin.qq.com/s/j2b9yO_9r5dYvXogBfqEwQ MySQL8已经出来2年多了,可以用了。尤其是大家在5.6和5.7上加字段加不上的,强烈推荐上MySQL8吧。 最近有人问我升级需要注意什么?官网能查到的就是说要换JDBC的包。然后官网给出了一个和5.7不一样的语法:mysql5.7group
database no sharding
自己原文公众号:https://mp.weixin.qq.com/s/jitiNxCazDUKTacRFrPreA 不止一次看到简历上写着从事过XX项目,分库分表。但凡这样写的有以下几种可能:1、胡说八道的2、看别人有抄的3、简单做过(反而最有问题,才多少数据量就分库分表?可见没有优化能力)4、真正场景需要(这种人应该在国内TOP20的公司不会找我面试) 随便国内找一个A
Oracle MySQL PG主从
自己原文公众号: https://mp.weixin.qq.com/s/L2eBWH6v88MyTNa5f-UHmQ这里是Oracle MySQL和PostgreSQL三个数据库的缩写。我这里没写OceanBase PolarDB TDSQL TiDB等分布式数据库是因为这些都是天生分布式。而OMP 三个都是主要用于集中式,虽然各自也有自己的分布式。今天就说简单的主从。为什么直说这三个,是因为排名
OGG-2
自己原文公众号: https://mp.weixin.qq.com/s/juh0XXjw-au9mI5sDAECuw 上次写了mysql到oracle,以及oracle到oracle的数据传输。毕竟都是关系型数据库。今天我尝试成功了从数据库到消息队列的传输。(其实要说厉害不是我个人的能力,只是个人把这个搞明白了) ogg首先连接数据库(oracle、mysql)
OGG到hadoop
自己原文公众号: https://mp.weixin.qq.com/s/iuQHNctnKphMSxUxHPIf5Q这几日在做数据库(oracle mysql)到CDH的实验。就是到所谓大数据。环境有限,都是用比较差的机器,勉强搞4、5台机器。其实4-5台机器根本玩不了大数据。就是搞个模型而已。当年cloudera(hadoop创始人创办的)公司卖也是最少要10台的,少于10台实在是丢不起这个人。
MySQL等开源软件企业版
自己原文公众号: https://mp.weixin.qq.com/s/k98SSfe3MLCgvVGq-8jY5w 前天说到用时序数据库,国产原厂希望我们采用企业版,有问题有支持; 我在讲MYSQL认证时候,需要用到企业版备份,但是我没有企业版,恰好有个学员有,我问哪里来的?他说他们公司采用了MySQL企业版; 今天又遇到一个问题(
Binlog多大导致主从中断
自己原文公众号: https://mp.weixin.qq.com/s/H1C3E0vwnibtb2ETNdK6AA有一次看到了一个情况,MYSQL主从延迟N天。这是为什么?经过检查发现有一个binlog13G。出现这种情况说明有一个事务差不多要12G多。这种是第一次遇到,说真的这种我也是第一次遇到。从库吃不下也正常,这个也太不正常了。我以前听有人问一些专家,如果我一个事务超过一个G,binlog
SQL改写
SQL改写 自己原文公众号: https://mp.weixin.qq.com/s/tkR0voTlCmfrcpV8lGh1HASELECT * FROM h left join P ON H.ID = P.IDleft join D ON H.NUM = D.NUM AND H.BOX_NUM = D.CODEM ON D.ID = M.ID&nb
什么是SQL
自己原文公众号: https://mp.weixin.qq.com/s/lZo9kgkjEY5qyUuRB0Z6rQ当今开发语言用的最多的是什么?(PHP是最好的语言)java和Python等等还没说话。其实这些都是开发语言。我记得我有一次培训,问在座的不连接数据库的请举手。几乎都举手了。说明脱离数据库的开发几乎不存在。几乎不是说100%。前端就不需要连接数据库。 如果说
KV上MySQL与Redis的PK
自己原文公众号: https://mp.weixin.qq.com/s/UfgCoVfe21q7bYiu2XtG3Q首先我要说一下redis真的很强,使用也广泛,而且使用简单,在数据库兵器谱排行中KV领域的第一。 不过在我接触过程中发现不少系统对redis依赖很强,甚至达到了没redis日子过不下去的程度。我不由得想那没有redis之前我们的系统就活不下去了
Oracle MySQL PG选型
自己原文公众号: https://mp.weixin.qq.com/s/Asfm6sS-MmjGiEsJF6XUfQ 前段时间在选择新能源车(本文依然是技术文章)。特斯拉是推荐人最多的,销量是最好的。我感觉这就是数据库届的Oracle一样。成为了标准,这毫无争议。不过我想买个国产的。自己用说句实在的,就是选错了问题不大。我还是支持国产的。但是企业数据库选型,不能为了国产而国产
MySQL单表检索
MySQL单表检索 自己原文公众号: https://mp.weixin.qq.com/s/zdeU6rq3qJ6SmzDv3TNtaQ 前几天遇到了一个问题,有个小伙伴提交了一个SQL:delete from t where trim(XXXX)<time。这句话大约要删除3000万条数据。几乎是全表了。执行了1分钟没动静,有人来问我要怎么处理?我看了一下,说停止。  
SQL 汉诺塔
SQL 汉诺塔 自己原文公众号: https://mp.weixin.qq.com/s/0zh6zm_BoUnalAqvVD6qDg 上周我发布了一个SQL写的海盗分金子的(那个SQL不是我写的,我只是转述)。同样今天的这个也不是我写的。 背景是这样的一个游戏(这个游戏我是不会玩,但是见过),没想到我玩都不会玩的游戏,有人用SQL写了。 &nbs
MySQL的show engine innodb status
自己原文公众号: https://mp.weixin.qq.com/s/WM6L80iYqfQtGAu-uUguIA 谈谈死锁。这种好理解也不好理解。说好理解是因为一句话可以概况:相互等待。但是实际发生的确实有时候让人捉摸不透。 比如A会话执行 &n
MySQL全文索引的使用
有开发求助,要查公司,但是公司带括号。括号可能是全角的也可能是半角的。这种问题不是第一次见了,见得太多了。大家似乎习惯是输入时候是任意的,只是查询时候来做区分。其实这是不对的。就像垃圾分类是在小区垃圾桶做?还是在垃圾处理厂最后一道手续的时候做?显然前期分类比较合适。 我们以前做公安系统,录入路口、路段、坐标等等都是有严格规定。所以在页面上你可以随意输入,但是输入框内会自动