故障分析 | OceanBase 一则函数报错问题分享
今天遇到一个 OceanBase 数据库下 Oracle 租户的 PLSQL 分隔符问题,特来分享下。 我的初衷是对 Oracle 租户下的一张表造点随机数据,写好了 INSERT 语句,却提示没有函数 dbms_random.value 。于是查阅 OceanBase 官方文档,发现需要导入系统包 dbms_random !dbms_random 系统包存放在 OceanBase 安装目录下的 admin 子目录里,包含两个 SQL 文件,一个是包的声明 SQL:dbms_random.sql;另一个是包的定义 SQL:dbms_random_body.sql 。
MySQL主从复制原理剖析与应用实践
MySQL Replication(主从复制)是指数据变化可以从一个MySQL Server被复制到另一个或多个MySQL Server上,通过复制的功能,可以在单点服务的基础上扩充数据库的高可用性、可扩展性等。
朋友的数据库中了勒索病毒
由于从去年年底到现在接触到了多起勒索病毒的事件,觉得有必要写出来给大家提个醒。 事情还是得从22年年底时说起,当天我的一个朋友找过来说数据库中勒索病毒了,系统中所有的数据库文件,归档日志文件,数据库软件都加上了.locked 形式后缀,数据库宕机无法访问,应用程序也被加密,系统无法访问了,非常紧急。
MySQL 客户端不辞而别,服务端怎么办?
今天我们来介绍另一种场景:MySQL 客户端给服务端发送一条 SQL 之后,服务端执行 SQL 的过程中,客户端没有任何通知,就直接断开了连接。 这种情况下,服务端会怎么办?
一文读懂MySQL的BinLog写入机制|原创
本文深入讲解了MySQL中的重要日志 binlog 的写入机制以及影响IO性能的关键配置,并且介绍了如何利用binlog去恢复数据,保证MySQL的可靠性。
详解 Redis 分布式锁的 5 种方案
本地加锁的方式在分布式的场景下不适用,所以本文我们来探讨下如何引入分布式锁解决本地锁的问题。本篇所有代码和业务基于我的开源项目 PassJava。
POSTGRESQL 1000行数据的表,110G的存储没有dead tuple 引出的问题
1000行数据的表,110G的存储容量
数据库需求层次金字塔
与马斯洛需求金字塔类似,用户对于数据库的需求也有着一个递进的层次。用户对于数据库的需求从下往上可以分为八个层次,分别与人的八个需求层次相对应。
内存数据库DragonflyDB 1.0正式GA,性能是Redis的25倍
DragonflyDB 是一个现代化的开源内存数据库,兼容 Redis 和 Memcached API,迁移时无需修改任何代码,可作为两者的替代方案。与传统的内存数据存储相比,DragonflyDB 提供了更高的吞吐量和缓存命中率、更低的尾延迟 (tail-latency),以及便捷的垂直可扩展性。
技术分享 | OceanBase 使用全局索引的必要性
OceanBase 从索引和主表的关系来讲,有两种索引:局部索引和全局索引。
技术分享 | observer 资源水位介绍
OceanBase 集群界面会展示 Observer 的资源水位,今天简单了解一下资源水位的数值代表的含义以及关联参数
MySQL8.0 优化器介绍(一)
线上,遇到一些sql性能问题,需要手术刀级别的调优。optimizer_trace是一个极好的工具,已经有很多资料介绍optimizer_trace怎么使用与阅读。有必要再介绍一下我们平时不太能注意到,但是又对sql性能起着绝对作用的优化器。
5大主流方案对比:MySQL千亿级数据线上平滑扩容实战
在项目初期,我们部署了三个数据库A、B、C,此时数据库的规模可以满足我们的业务需求。为了将数据做到平均分配,我们在Service服务层使用uid%3进行取模分片,从而将数据平均分配到三个数据库中。
别再分库分表了,试试TiDB!
TiDB 是一个分布式 NewSQL 数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一致的高可用特性,是一个不仅适合 OLTP 场景还适合 OLAP 场景的混合数据库。
不同于Oracle:MySQL的insert会阻塞update
某银行客户在从Oracle迁移到MySQL的开发中,MySQL在READ-COMMITTED隔离级别下,出现了insert阻塞update的情况,但同样的情况下,Oracle的insert则不会阻塞update。
从二叉查找树到B*树,一文搞懂搜索树的演进!|金三银四系列
对于准备面试这篇再适合不过了!详细讲解了从BST、AVL、红黑树、B树、B+树最后到B*树的演进过程,以及各种结构的优劣。
Oracle 兼容性面面观
随着近些年来,国产数据库逐步成熟及自主创新的诉求,正有越来越多的企业计划或正在进行数据库迁移工作。在这其中 Oracle 作为大型商用数据库的代表,过去数十年是很多企业的选择;如今也面临从上面迁移到其他平台的问题。如何平滑、安全、低成本的完成迁移工作,是大家共同关心的问题。在这其中,兼容性无疑是重中之重,产品间良好的兼容能力,将有助于大大降低迁移的成本及风险,也是国内很多厂商采取的产品策略之一。本文收集部分厂商的产品,从多维度对比兼容性方面能力,从而让读者更好地了解兼容能力及如何评估产品的兼容性。
一次线上事故,导致公司损失400万
一个命令损失数百万,这,需要赔偿吗? 代码不规范,同事两行泪,撸码需谨慎! 处于好奇考虑,我来测试一下,这到底是什么问题?
美团二面:细数 Redis 阻塞的9种情况 | 文末送书
前两天去美团面试的陈同学回来了,看他满脸泄气的样子,准是没拿到 Offer。 听了他面试的经过,真替他感到惋惜。究其原因,是被一道面试题拦住了去路:看你简历上写着精通 Redis,请你总结一下 Redis 中存在的阻塞问题吧。
技术分享 | OceanBase 里的 BUFFER 表
什么是 BUFFER 表(OceanBase 里也叫 Queuing 表)?之前我以为 BUFFER 表就是全局临时表或者说是类似 MySQL 一次性整体导入的 MyISAM 表,对这类表的操作无非是划出一块内存区域对其进行读写,来避免频繁的IO操作。经过查阅 OceanBase 官方文档后,这个 BUFFER 表并非我理解的那样(我的理解完全错误)。