数据库性能的卖家秀和买家秀


作者:薛晓刚,Oracle ACE/PG ACE partner/ TiDB MVA、布道师 / OCP 讲师 / ITPUB 核心专家 / 墨天轮 MVP/Oracle 认证 / MySQL 认证 / PG 认证 / Oceanbase 认证 / 达梦数据库认证 / TiDB 认证

上周遇到华为的一个朋友,在提及数据库的时候很多性能指标。首先我不怀疑他的指标,我觉得十有八九就是真的。现在只要拿出的数据,基本都靠谱。因为如果离谱的数据,同行会质疑的。不过我说了一下就是在实际环境中,通常用户连这个百分之一的都达不到。这不是说产品不行,而是使用者不行。我们数据库从业者争论数据库性能看哪些指标,集中式还是分布式。(昨天看还到一篇文章写分布式和集中式的 TPS 和 QPS 等对比),至于看 TPS、 QPS 还是看 RT 等,一时半会很难说服对方。而我刚才说的实际环境中其实不管看哪个指标,都没达到。这是因为官方的数据都是实验室的理想数据,而实际环境是非常恶劣的。我国现状是应用开发人员对数据库不了解,需求怎么说我就怎么做。实际上需求的逻辑都错了,他也不管。再加上数据库没有好的设计,SQL 几千几万行,甚至一个 SQL 上百 MB 也有。这些来自用户实际使用的毒打,导致数据库什么性能都是被摁在地上摩擦了。从前 POC 可能就是做几百条数据,现在大家被忽悠多了,都有心眼了。有可能测的时候数据量 1000 万级别甚至是上亿的数据量。曾经看到了几个国产数据库的厂商吐槽说用户测试他们的产品要求 1000 万的表不建立索引测试性能。厂商觉得委屈。但是其实这是我们国内现状。因为大部分业务场景即使用 Oracle,也是没索引的。这就是国内现状。说白了只管功能,性能不是他的考核指标。只要功能逻辑对了就行。不过在我处理各个企业的一些问题时候发现。有的时候功能逻辑都不对。所以用户知道自己现状是什么,很少能控制开发质量的。那么在 A 数据库上乱写能抗住,那么换 B 数据库别指望应用开发改程序。一样乱写就看能不能支持了。不能支持的就不考虑了。这就是我说的数据库性能的卖家秀(认为设计师良好的,开发是高水平的),而实际上是只有厂商想不到的,没有开发人员做不到的。笛卡尔积了解一下?需要经历一下现实的毒打。我们看到 TPCC 的数据惊人,那是没见到我们真实环境的表设计、需求和 SQL。用这个情况去套 TPCC,别说打榜了。宕机不宕机还一说呢。华为有个朋友说,希望我提供一下真实用户的场景看看他们产品怎么预防。我看到了不一样的华为产品态度。他们不是说自己遥遥领先的那伙。我对他们的态度表示赞赏。我别的没有,这方面的血泪教训太多了,而这些在互联网公司是不多见的,这和企业的基因有关。基于以上的结论,乱写导致的性能问题,在分布式数据库上 OB 和 TiDB 等也会出现问题,这个和单机还是分布式没有关系。迪丽热巴穿的好看的衣服,一个 200 斤的人去穿,别说好看了,衣服会不会 OOM 被撑开都两说,这和单独上衣还是连衣裙没关系。主要是现状是大家身材管理都不到位。可能只有重视起来和管理到位才能减少和避免这类问题的发生,比如现在酒驾就几乎见不到了。到了这种时候,再谈数据库性能怎么测试以及分布式和集中式的性能。


往期推荐



底层全部重构,小米澎湃OS完整系统架构公布
优先展示冒牌货且定向至恶意软件,网友:是时候摆脱Google了
Bun发布1.0正式版本,Zig编写的高性能 “全家桶”JavaScript运行时



这里有最新开源资讯、软件更新、技术干货等内容

点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦


相关推荐

  • Redis欲涉足磁盘存储
  • 2023开源新疆界:天工开物多元合作峰会在武汉成功举办
  • Linus曾给Windows 7热情点赞
  • 4k窗口长度就能读长文,陈丹琦高徒联手Meta推出大模型记忆力增强新方法
  • 英伟达被曝入局PC端CPU!网友:眼馋苹果M1打开市场
  • 50张图“毒倒”Stable Diffusion,汽车和牛都分不清了
  • 霉霉中文水平“开口跪”,背后国产AI火到国外
  • 讯飞星火:整体超越ChatGPT,医疗超越GPT4!一手实测在此
  • NeurIPS 2023 | RevCol V2: 当解耦学习遇上自监督训练,视觉预训练的思路
  • 北大提出RestGPT框架,通过RESTful API控制真实应用的Agent
  • 探索“数据菜谱”无限可能:首届Data-Juicer大模型数据竞赛
  • 别再瞎猜了!教你如何准确识别盒式交换机指示灯!
  • 10个容易被忽视的FastAPI实用功能
  • 认识 Wolfi:旨在缩小供应链的 Linux 发行版
  • YouTube 仅用 9 名工程师就能支持每天 1 亿次视频观看的 11 个原因
  • 谈谈node架构中的线程进程的应用场景、事件循环及任务队列
  • 卖奥特曼卡牌的公司要IPO了
  • 语雀,这波故障,放眼整个互联网也是炸裂般的存在。
  • OLAP数仓入门:基础篇
  • (待会删)付费搞来的,数据人请低调使用!