Redis的跨版本升级
我们MySQL升级为了减少停机做的方式是采用搭建主从,从为高版本。这样进行切换从而达到升级的目的。 那么Redis遇到升级能否借鉴这个模式呢?可以的。IP写一下服务器的地址这个改为YES如果这个日志参数没有就配置一个。主要是可以查问题。我这次就是靠这个查到了问题。保留频率符合任意一个,我们有10秒1次这个尽可能保证持久化。这里是配置密码的地方作
数据类型与函数索引-PostgreSQL篇
前两次是Oracle和MySQL的。今天来一个PostgreSQL的。x=# \d List of relations Schema | Name | Type | Owner --------+------+-------+---------- p
数据类型与函数索引-Oracle篇
上篇是MySQL的这篇是Oracle的。总体来说差不多,不一样的地方我会标出来。先创建一个表,写入10条数据。(MySQL5条就行,Oracle10条其实都不行。原因是Oracle处理觉得10条数据有没有索引一样。所以我最后是写入了1万条数据)分别建立索引同时把T表也建立好。完全和MySQL场景一样。然后为了更好的体现,对两个表都收集一下统计信息。接下来看结果。a列是数值型的用到索引。a列是数值型
数据类型与函数索引-MySQL篇
mysql> create table w (id int,a int,b varchar(10),c decimal(10,0),primary key (id));Query OK, 0 rows affected (0.03 sec)mysql> alter table w add d datetime;Query OK, 0 rows affected (0.02 sec)Re
聊聊虚拟化和容器对数据库的影响
虚拟机上运行数据库和物理机上运行数据库哪个好?这里说的好应该说是性能好,稳定性好。以我之前的认识是物理机较好。虚拟机运行的数据库在高负荷时候表现不佳。为什么?今天来谈谈。 有一次我们谈及到物理机,有人问一个物理机的CPU相当于多少个虚拟机的CPU。说这个话其实就已经定性了,一个物理机的CPU会强于虚拟机的CPU,至于强多少那么是需要定量的。我们来看一个图,这是一台普通PC服
MySQL一次没有报错的关闭
我的公众号原文链接:一次没有数据库报错的数据库关闭 (qq.com)遇到一个问题如图:之前没见过。背景是数据库自己关闭了。MySQL8但是输出的第一行报错不是数据库自己的日志,而是terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc。从字面分析错误的分
MySQL升级过程中的一些心得-2
个人公众号原文链接:https://mp.weixin.qq.com/s/nCE54jUCpwcT26t-IkyzFA 继昨天问题后,今天再说一个问题。开发提出原来在5.7中是好的一个功能,在8不行了。我问是什么?回答说一个有默认值的字段,且不能为空。现在给他一个空。听到这里我说应该报错啊。因为设计的要求就是不能空,如果没有默认值给默认值,如果有值写入该有的值。 &nbs
MySQL升级过程中的一些心得-1
自己公众号原文链接:https://mp.weixin.qq.com/s/k3sb-AqGXgx37zIrRVcktA 我查了一下9月7日的公众号发过《MySQL8升级遇到的各式各样问题》感兴趣的去看看。最近还发现了一些新的。但是我总结来说,问题归问题,但是全都不是数据库的问题。 有人反馈说5.7升级到8以后个别功能写入的时候失败。很奇怪是个别功能
MySQL等数据库和大数据谁快?
自己原文公众号: https://mp.weixin.qq.com/s/wyGjHLP2lSD0WhdJq5j4Ow 很多人都说数据库处理不了,到大数据中去处理。似乎有一种错误的认识,好像大数据很快一样?今天本文以MySQL为例。Oracle PG更加不用说了。这个是MySQL的20多万count一下和查一条。可见全部count0.28秒,找一条更加不在话下应该是1ms的。 &
批量锁(适用各种关系型数据库)
自己原文公众号:https://mp.weixin.qq.com/s/3zyXC0oJtMV2hEZ6v_e2pg 一次处理Oracle问题。看到AWR已经这样了。说明后台属于惨不忍睹。其实每个数据库都应该有这么一个类似AWR的才好判断。迄今为止PG上国内瀚高做了一个类似的,连界面样式都雷同AWR,是比较好的。希望有一天MySQL官方也出一个AWR。 &nbs
一次诡异的MySQL问题处理故事
自己原文公众号:https://mp.weixin.qq.com/s/JF7e8d13BzNPo3BmLunaTA 某天一个开发在网上找我说他的应用连不上数据库了。我问他什么现象,他反馈说tomcat那里显示报错,无法连接数据库(这是翻译成中文的)原文不贴了。我当时第一反应是去验证一下,让其他人去连一下数据库。让开发去telnet一下数据库。结果是开发说telnet不通,其他人说数据库可以连接。见
MySQL的压测
自己原文公众号:https://mp.weixin.qq.com/s/o7HjQwEVcbkWUkG6Hzlwsw 首先这个篇技术贴。前面先铺垫一下,最近苏伊士运河的各种新闻。我以前读中东战争时候不理解为什么有一次叫苏伊士运河战争,也不明白为什么要争夺西奈半岛和戈兰高地。这次算是彻底明白了。看到上面的图,苏伊士运河是咽喉要道,而半岛和高地直接控制这片区域。本文起因是系统的瓶颈是什么?一般来说瓶颈都
Oracle的压测
自己原文公众号:https://mp.weixin.qq.com/s/u2SdpvYvlNYk2EcPfKy0_w 之前姜老师发的这个数据。我是认可的。如果单CPU 是我们简单(不一定合理)估算2万多次。我在上一篇的苏伊士运河的文章中我尝试单CPU每秒1万次登录。我那个一次登录是select了两次。所以我上次写的每秒1万次登录,等于每秒2万次请求。一次是取密码,一次去取权限。所以也差不多。我们姑且
使用一个Oracle MySQL的理念
自己原文公众号:https://mp.weixin.qq.com/s/bbHGIoKpHBFyU8F0Bk1CHg 数据库分久必合合久必分。 20年前我们没什么人说架构,但是现在几乎是个人就说架构。为什么呢?因为从前是单机,而现在是多机。比如分库 或者分表。或者分布式。 这里再次说一下,分库分表不是分布式。分布式是一个库,分库分表是多
Oracle 隐藏列
自己原文公众号:https://mp.weixin.qq.com/s/pDPqeGn0WqR06oYg7rIU5A CREATE TABLE xxg (id int, name varchar2(40), sal number(9) INVISIBLE);注意最后一列是不可见。我们在工具中PLSQL这种工具中右键,View一下是看不到最后一列的。但是在命令行中 使用desc 命令是可以
Oracle的特性分页
自己原文公众号:https://mp.weixin.qq.com/s/seHUAzw_j0DdkaAM0NZTCA 今天说这个是因为我们在谈升级(不管什么数据库Oracle MySQL PostgreSQL等等)我其实倒不是关注他的性能如何提升。因为必然有提升。我也不关注安全性。因为我坚信每个数据库自己本身都是安全的,不安全的只有人。我最关注的是特性。 很多
Oracle clone database
自己原文公众号:https://mp.weixin.qq.com/s/LmSjADYHZ4UX1cESiCJJ3g 我们工作中基本都会遇到数据迁移的事情,逻辑备份导出导入不可想象。物理备份相对来说比较快。当然如果有系统快照的话,那是最快了。但是实际正式环境,不可能用快照的。不见得都是虚拟机。而且我一直觉得正式环境的数据库还是物理机比较好。 &nb
Oracle意外发现PDB适合微服务和中台
自己原文公众号:https://mp.weixin.qq.com/s/TY_OOj3W7TUAWQXoSq4ecQ 以前一篇说过现在很多业务为了微服务就是拆,拆了就是微服务了。拆不动了就开始合,合了就是中台了。现在还坚定不动,维持原有系统运行良好的都是极少数的理智技术主管。(如果实在支持不了业务另当别论,更多的时候是妥妥的支持业务,还是要搞) 我
Oracle的过载保护-数据库资源限制
自己原文公众号:https://mp.weixin.qq.com/s/ICj9GzMLukriS9ax9qTR8w 一般来说合格的程序员都会在上线前对自己代码进行检查,避免全表查询或者返回大量数据。虽然简单,同时问题也是最低级的,但是却是常见也是最多的引起故障的原因。 在MySQL、PG的慢日志和Oracle的AWR、甚至Redis的慢日志中都能找到这些问题
MySQL8的MGR
自己原文公众号:https://mp.weixin.qq.com/s/_kGO7ugXzEvmhXWnS2Otlg MGR这个已经出来好几年了。是5.7中后期推出的。对此我已经轻车熟路,5min足以搞好一套。现在大家都陆续使用8版本了,我在8中用以前轻车熟路的脚本搭建一次,发现根本搭不起来了。 分析各种问题以后决定采用8的新功能克隆数据库来搭建这样成功概率高