我的ACE之路
2013年一次偶然的机会参加DTCC,在会上看到国内顶尖高手的演讲。这里其实要感谢ITPUB每年的DTCC和SACC我是一直参加的。没有这么多年的参会学习,就没有现在。 当时在大会上看到云和恩墨的一众大神盖国强、侯圣文、李轶楠、张乐弈、杨廷琨、李真旭等等,介绍的时候都是Oracle的ACE和ACED。关于什么是ACE请看我之前的链接。https:
不建议开发来做数据库选型
我见过用es存日志的,毕竟ELK就是做这个的。我也见过用mongo存日志的。毕竟也合适。但是我还听过用TiDB来存日志的,这个就有点大材小用了。当然MySQL和Oracle用来存日志的也不少见,以前听过一个故事,有人使用Redis来存日志。用关系型数据库存日志我勉强能理解为了查起来方便。但是用Redis存日志图什么?以上其实都是一般开发自己定的,完全是自己喜
从一个段子说起
前几天遇到一位做数据库投资的朋友,他和我聊完之后说了一句,概况说我是HTAP的坚定支持者。我说其实这是经历过太多以后发现,这个代价最小,稳定程度最高。我这里并不否认依然会有些问题,也存在不稳定的场景。但是各方面综合来说是目前最优,性价比最高。为什么这么说?来看这个段子。 可以这样算吗?可以,但是没有必要。 有人可以考清华,但是不去,随
为什么我不赞成开发来写视图
我有个“歧视”,就是开发写的视图基本都是有问题的。这来自于我多年的实际工作。视图是数据库的一个工具,但是绝大部分开发不是从数据库角度出发来写的。所以一般来说写的并不会让数据库很舒服,甚至是痛苦。 今天有一个开发拿SQL找到我,我一眼看到一个V_XXX。不用问,这就是一个视图,我对开发说你打开它,我看看。我极度怀疑这个写的不合格。打开一看,果然没
这其实都算不上优化
很多场景下,我觉得加索引这个其实都不能算是优化。 多年前听到一个故事说一个DBA去了银行,回来被一个银行里面称之为大神。DBA的同事们说来给我们讲讲你怎么优化的?该DBA说,实在说不出口啊。我仅仅是加了一个索引而已。而已,而已,而已。 我们在工作中有两类最常见:一类是没建立索引,比如我刚才说的。这种连开发都知道应该建立
越来越发现自己不懂的还是不少--绑定变量
我从学习数据库开始就知道,硬解析会有很大问题。我接触的数据库中貌似只有Oracle会涉及到这个。有的时候我自同等环境下(硬件配置和场景)测试下来Oracle会由于其他数据库的数据,我有时候就在想会不会这就是软解析和软软解析带来的效果? 不过十几年工作下来,几乎没有遇到过硬解析带来的问题。但是试问苍天饶过谁。我这就遇到
优化的极致
今天有人让我帮忙看一个系统,检查一下。因为这个系统暂时无人专职维护。我托人拿到后台日志,我看到有个系统的SQL是排名靠前的TOP-SQL,每天执行6000多次,每次12秒。把他找出来一看就是全表。从技术的角度,我们当然可以告诉他,应该加一个过滤条件。然后找到开发,告诉他你看我给你这样的改进建议。开发拿着这个意见回去说评估一下。 下午评估结果出来了,说理论上这样
一个惊出一身冷汗的报错
刚回到家,有人发我一个问题。莫名其妙啊,创建索引为什么出这个错?还涉及到包和存储过程。干了10几年第一次见。关键是网上是找不到类似的解决方案,什么升级等方案有点坑爹了。还是靠自己吧。那就顺着提示到所谓的schema下看看。结果是这样的,看到左边有个红叉。那就是这个包不能用了。我重新编译一下,不能编译。这时候也有点懵。看来还有连带更深层次的问题。
说多了都是泪--由开发自主选型
最近有些好学的同事向我咨询数据库选型,我觉得这是好事。最起码问专业的人,比起自以为懂数据库的开发来选择要好的多。我从使用场景、数据量、优化器以及单体还是分布式等等很多角度来说明各种数据库的选择。这年头数据库铺天盖地,尤其是国产数据库(有几个优秀的,但是大部分不怎么优秀)。这种情况下,开发质量不高的程序,可能在Oracle DB2这样的数据库上能运行良好的,在
技术还是思想?
我总是遇到一些问题,这些问题是由于基本的问题没有引起重视或者是没有深入研究问题在哪里。导致做出了技术栈改变甚至架构改变。
inmemory OOM了
有人问我有个SQL原来100ms的现在200毫秒了,为什么?我看了一下,他这个是依托inmemory硬抗的那种SQL。里面这个特性将数据放在内存中处理。这不是一个正式环境,我觉得开发能有此意识是非常不错的。在测试环境发现了问题,避免带病上阵。然后我检查了后台数据库负荷、AWR等等,从AWR中看没有多少inmemory的访问。难道没加载上来吗?查询了一下sel
数据库与动态规划
前几天在处理一个具体问题时候,我被问到有个需求查活跃用户。比如一个月内登录过,或者一年内登录过。(这个时间可以自己定义,有些平台可能按周算,比如腾讯。也有些平台按照年算。这个都可以商量)。那么判断用户登录的依据就是数据库中用户登录日志。也只有这样获取我认为才是最为合理的。至于通过文本文件解析(开发工作量大不说,还不能进行比较和运算,为什么要比较,我们随后说)。通过had
TDengine的实践场景
前几日我们在讨论一个物联网场景时候,负责该项目的博士提出了一个他的想法--将各个采集的数据关联用以发现问题。我觉得这个思路不错,至于能不能做呢?我下来模拟了一下。我们这里使用的是Tdengine,我这里有d1表和d2表两个表。d1和d2是两个物联网的检测器对应的数据表。 那么我按照车牌号码去关联,数据库提示我不支持。这个结果其实也在我意料之中,毕竟时序数据库不属于RDB
列式向量化
SACC上提到腾讯讲HTAP,其中提到了列式向量化。背景是腾讯是利用GPU配合上列式向量化来实现HTAP的。列式存储我是理解的HTAP,就是要实现行列混存(无论是垂直方向的Oracle还是 水平方向的PG、MySQL、TiDB和OB)。但是向量化这个。。。。。。原谅我把高中和大学学习的都还给老师了。只是老师还没把学费还给我。初中还没换主要是因为太简单了。为此专门和公司的几个博士请教一下,在商量过后
一个有争议的话题--HATP
好几天没写了,这个问题前几天在群里大家争论过,仅我们小范围大家看法也多少有点不同。(有不同也很正常,这种本来也没有标准定义)。对于HATP是不是一定有用或者说100%做得到。大家还是能达成一致的,就是不可能100%做得到。但是也不是一点也做不到。 TiDB的TiFlash和MySQL的HeatWave都是主从架构来实现行列转换来打通
跳过大数据精准实时推荐
上 周处理过一个案例。我们博士找到我说一个实时精准推荐场景,需要我帮忙一下。我听她描述,首先经过大数据系统查询用户订单情况得知他买过什么?还要通过大数据系统查询用户看过什么?然后结合他买的和看的推荐商品。我问:“这是不是就是一个类似猜你喜欢的?”答:“是”。我又问:“要实时?”答:“最好实时或者准实时。”我说现在这样设计不可能啊? 那个大数据系统走一次几个小时。博士说现在
学艺不精,学无止境
以前遇到过一个这样的问题:这个问题不常见,网上也能找到几个说明的帖子。结论就是数据库文件被黑客或者病毒破坏了(来自网上的结论)。遗憾的是我不会处理。从数据库体系上来说Oracle比PG复杂,PG比MySQL复杂。复杂到MySQL我自己觉得我了解的还行,倒是Oracle用了很多年,时至今日只能说不陌生。他太复杂了,我不敢说我非常的精通(只是一般精通)。MySQL单进程多线
各路数据库蓬勃发展-多学习少扯淡
上周发生了几件事情,看到了Oracle、PG、TiDB和MySQL各种数据库都在不断的组织活动,都是非常好的活动,个别我就趁着空余进去看看,遗憾是都未能全程参与。我分别说说这4个。Oracle2022年10月19日(北京时间),如火如荼的Oracle CloudWorld大会在美国拉斯维加斯开幕。这是以前的OOW,2013年在上海世博中心办理了3天,我参加过。现在改名叫OCW了。新版本有以下功能:
从细节看技术人怎么debug的
今天这个起因是我的群里大家早上一个意外的聊天。这位朋友准备换工作,不小心被领导看到(话说怎么这么没有对敌斗争经验呢?)不过今年地狱求职年,好多人都找不到工作,推荐大家别着急换。这位朋友没有防领导经验,倒是个技术细心人。发现大家都引用他的话,但是昵称不一样。想想不科学啊。激起了大家好奇。结果。。。。。。大家实测,并不是好友修改昵称的问题。不过大家都是高手,马上
数据库趣谈-五行
今天是有点八卦,属于趣谈。免责申明:提到的没有好坏之分,纯属名字巧合。我一贯风格也是不去贬低某种数据库。 如今国产数据库有几百个,实在太卷了,我从业这么多年,学习和掌握了十几种数据库,但是仍然有很多叫不出名字,甚至没见过。今天说的还都是在国内说的比较多的(没提到的不代表说的不多,只是和今天主题无关) &nb