说说这些卷起来的ACE
这里说的ACE是指甲骨文公司授予的ACE(含各个方向)以及中国PostgreSQL系的两个ACE来源:分别是PostgreSQL中文社区和PostgreSQL分会。今天主要说的都是我熟悉且可以开玩笑的。而且今天说的卷是在技术上不断突破。无论是写博客、公众号还是涉猎技术的层次以及跨界等成就。截至目前中国有33位现役的Oracle ACE,(今天也会介绍部分我熟悉的退役ACE)有不同方向的
震惊!一次小时级到秒级的优化--原因实在不敢恭维
接到别人求助,背景是业务向开发投诉某个功能太慢。开发找支持人员,支持人员找到我。向我诉说了他们系统的背景。是一个国内知名大数据供应商,给业务做了一个功能。该功能其实是上传一个excel(又说到这个的数据库了)。 现象是上传上千条数据库很慢,如果更多的数据就更加慢。总之越多越慢,当然少的时候也不快,但是能等。不过在100
其实很多人不了解SQL Developer
今天主要讲怎么用工具和堡垒机配合连接数据库。不少使用Oracle的开发和运维都会使用PL/SQL Developer编辑这个是个不错的软件。只不过从知识产权角度来说他是要收费的。所以理论上要去购买。其实Oracle官方自己也有自己的工具叫SQL Developer。两个名字差不多。他长这个样子。编辑Oracle公司有SQL Developer(免费官方出品)可以对接Oracle (如果
大白话开源协议
免责声明:这里仅仅是我个人理解。最近被好多人问到这方面的问题,说说自己的想法。 首先我先推荐大家买企业版,为什么?首先,因为这是对知识的起码尊重。其次,真的觉得自己什么技术问题都能解决吗?即使认证最为流行的Oracle数据库,生态好吧,资料多吧。但是在使用过程中也会遇到一些ORA的错误码,这些是什么导致的?怎么解决?如果有人能知道自然好,如果没有人知道。这个时候就需要官方支持。(如果不需
PostgreSQL千万数据量下的DDL变更影响
之前做过Oracle和MySQL DDL的时候有哪些情况要注意的。一直没有做PostgreSQL的,今天这个用实验说明一下。这里用的是15版本。[pg15@dev-dbteam-148180 ~]$ psqlpsql (15.3)Type "help" for help.postgres=# \d  
低代码工具APEX的入门使用(未包含安装)
第一次使用APEX是2019年,这个技术成名已久只是我了解的比较晚。请看Oracle ACE的网站,这就是用APEX做的。实际上有一次我看O记的人操作他们的办公流程,都是用APEX做的。那一年,我用APEX做了一个CMDB的管理系统。那时候还没有流行低代码,直到2021年的时候,那时候开始低代码无代码。我意识到了我比他们早了几年。我很多时候说话没怎么让大家重视,直到外部洪流侵入这才能让很多人意识到
每当遇到一致性问题我就思念一个数据库好
最近在做一件事情,让我苦不堪言。就是各个系统之间的数据标准。这个标准包含,字段名,字段含义、字段类型、字段长度和字段的值。不同系统中,同义不同名。例如,卡号可能是CARD_ID,也可能个是CARD_NO或者CARD_NUM,当然也可能是不带下划线等等。这里数据类型还不太可能不一样。但是有些字段比如时间,连数据类型可能都不一样,比如有的是时间型,有些是字符型。不同系统中,同名不同义。例如,A系统的S
MariaDB落幕和思考
听过MySQL的基本也都知道 MariaDB。MariaDB由MySQL的创始人主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。传闻MySQL的创始人担心MySQL到甲骨文后有闭源风险,本着为全世界服务的理念,他继续创建开源数据库。于是造出来了MySQL的姐妹数据库MariaDB。这个名称
MySQL到Redis的同步的做法(文末有官方推荐)
不少人在使用MySQL和Redis上都有误区。比如说MySQL慢,比如count一个1000万级别的数据,然后把它存到Redis中。理由是因为Redis快。其实理解是不对的。这是把MySQL等数据库的计算过程说的慢,查询结算结果的快做了一个不公平的比较。好比一个人从小学读到大学毕业,拿到了文凭。用了16年。而现在另外一个只看文凭这张纸,只用1秒。这本身就没有可比性嘛。理论上来说把这个结果存在Ora
从starrocks安装说起和Oracle的OLAP殊途同归
StarRocks是一款分析型数据库(他的定语也很多,分布式存算分离等等)。作为数据库他的运行和维护迟早也是落在我这里的。对于做数据库的人都知道什么是交易型数据库,什么是分析型数据库。以及什么是事务分析混合型数据库。但是对于非这块领域的人根本不知道为什么选择某个产品。某些产品是好,但是为什么好不知道。只是傻子过年看街坊,别人这样用了,那我也这样用。至于为什么不知道。其实行式存储对交易友好,因为写入
DBA不仅仅是管理数据库--也要管理好需求
看到这个标题可能觉得我在乱说,其实只管数据库其实管不好的,树欲静而风不止。 有很多时候我被问能不能保证数据库稳定?这真不好说。我说如果能按照开发规范(我制定过一个数据库设计开发规范)做是可以的。请注意我这个不是说数据库开发规范。数据库开发规范是告诉开发人员如何写SQL的。而我的这个规范还有设计规范。先设计再开发。我多年经验告诉我,在设计一塌糊涂的前提下,优化显得苍白无力。 这种
DBA不仅仅是管理数据库--也要管理中间件
看到这个标题可能觉得我在乱说,其实很多中间件作为数据库的上下游,它们的稳定取决于数据库的稳定。这里我主要指的是SQL。 很早之前我说开发的主题语言其实更多的是SQL(这里并没有说Java不重要的意思),只是Java中并没有太多的业务逻辑。真正的业务逻辑主要还是在SQL中体现的。说的直白一点是如何写数据,如何读数据。 我现在工作不太做数据库安装、备份等。更多的是看看开发这里的问题
对比上次MySQL的DDL
MySQL的DDL未必都是可以快速完成的,那么Oracle同等场景下如何? 这个是在Oracle19C下的实验,特别说明。因为在Oracle11G下有些结论是不成立的。 表thousand有大约4000万行记录 SQL> set timin
即使在MySQL8上也不是所有DDL都是秒过的
从前有些开发人员问我,如果在MySQL的一个大表上加字段怎么办?我一般都让他们尽可能停应用去做。直到MySQL升级到8以后这个问题得到了大大的缓解。 MySQL8的特性借鉴了Oracle 11G的设计,将表结构放在数据字典上管理。使得可以快速增加字段。但是有些场景上我还是遇到过盲点。因为有时候字段扩长度,我觉得很慢但是相关DBA告诉我很快。有时候我觉得应该很快,但是相关DBA告诉我很慢。
致IT领域那些忽悠过的概念
概念1:大数据。这个概念出现的较早,只是在我国实际上变得口口相传实在2010年前后,其实大数据这个就开始流行起来。以至于我父辈的亲戚中都说我是搞大数据的。其实和他们也解释不通,别说他们了,就是和周围的开发同事或者都是做技术的也解释不清楚(也可能是很多人清楚但是装着不清楚)。这里我要说的是:1:Hadoop是大数据解决方案之一,是个代名词,但是不是全部。2:除了少数公司,绝大多数(99.
数落这些年我给的不靠谱的方案--痛心疾首
确实干过一些有问题方案。方案1:一次接一个电话就到会议室,简单告诉我背景。就说原来有个A数据库,后来由于种种原因吧,有了一个B数据库。业务在使用过程中就发现B数据库必须用到A数据库的数据,目前需要2个表。且一致性和实时性非常高。要求解决,且(重点来了),不能增加开发工作量,最好48小时以后就可以用。数据库是同构数据库Oracle。基于以上的条件我只能给出了在B数据库上建立一个到A数据库的物化视图的
数据库选型其实技术维度不太重要
看到这个标题可能觉得我在乱说,数据库选型要从多个角度和维度看来,还有各种POC。很多供应商朋友告诉我POC是一个漫长的过程,非常痛苦,要解决各种技术问题。怎么能说和技术无关呢?因为从我的经历和周围听说的经验来说,技术只占很少的一部分。甚至可以忽略。如果是DBA主导,那么这事情就单纯了。纯技术的角度哪个产品安稳易用(安全、稳定、容易使用)用哪个。实际上是技术账、商务账等等多方面的。而这里同样一个问题
2024年开年的荣誉--来自国产数据库
上周在北京参加了阿里云的开发者大会,我因为去年做了一点小贡献。非常荣幸的获得了阿里云的MVP的这个殊荣。(期间也认识了一些大神级的人物)还有就是一些网上认识的打卡们线下见面。这个也是我一直追求的荣誉。几乎在同时P(PingCAP)社为了感谢我去年做出的一点小贡献,也给我颁发了一些荣誉。对我来说是双喜临门。 有人诋毁我一直说国产的坏话,这是不实言论
应用适配数据库还是数据库适配应用
这个题目有点拗口,和最近有些话题有点关系,但是更多的还是我作为这些年过来的一些矛盾的阐述。 从前有个笑话。一队军舰在水域巡航,这天晚上大雾。军舰看看到前方有灯光,立刻发出“海军灯语”。请立即让开。对方也给这艘军舰发出灯语,请你绕开。军舰不服,打出灯语:“我是旗舰,你必须要让我先通过。”对只回应说:“你让开,我是灯塔。我在这里已经很久了,我为所有的船
看看关系型数据库是怎么吊打Hadoop的
题目有点过分是不是?大家看完文章再看看是不是过分。不少公司OLTP的数据库都是关系型数据库,这些数据库在OLAP的场景上表现一般。所以在不少架构中,会看到使用ETL的方式将数据库送到Hadoop中,使用其分布式存储和分布式计算的特点来进行分析。但是ETL很难解决实时性问题,而且如果上游删除数据,ETL是干瞪眼没有办法解决,只能承担数据的不一致。还有就是严重依赖上游时间戳