记一次线上oracle连接耗时过长的问题-编程思维

问题现象 1、远程Oracle数据库通过IP:PORT/SERVICE_NAME连接 2、应用服务通过Docker容器部署,访问Oracle联通性测试接口,需要50s左右才能返回连接成功; 3、写了个JDBC测试程序,放在宿主机进行JDBC连接Oracle数据库测试,发现连接耗时不稳定,时快时慢,下图为宿主机连接数据库耗时截图; 4、通过Windows运维机器安装Navicat客户端,连接目标

什么是列式`存储,一文秒懂-编程思维

什么是列式`存储,一文秒懂, 为什么MaxCompute采用列式存储?列式存储和行式存储的主要区别在哪 从数据存储讲起 我们最先接触的数据库系统,大部分都是行存储系统。大学的时候学数据库,老师让我们将数据库想象成一张表格,每条数据记录就是一行数据,每行数据包含若干列。所以我们对大部分数据存储的思维也就是一个复杂一点的表格管理系统。我们在一行一行地写入数据,然后按查询条件查询过滤出我们想要的行记

数据密集型应用系统设计-编程思维

前言 硬件方面, CPU主频增长日趋缓慢, 而多核系统成为新常态, 网络速度则依旧保持快速发展,这就意味着并行分布式系统将会成为业界主流。 如今一个不起眼的小公司,也完全有能力构建起大型分布式系统 : 跨机器甚至跨地域的数据中心 ,因为现在有了逐渐普及的IaaS云服务(例如 AWS) “数据密集型应用” (Data-Intensive Applications) 对于一个应用系

xtrabackup 2.4 的介绍与使用-编程思维

抄袭转载的太多,请认准原文链接:xtrabackup 的介绍与使用 前言 在网上找到教程都是复制粘贴抄袭的,而且还是陈旧资料,不得不说,当前中文互联网环境真是每况愈下。 如果你在网上找 xtrabackup 的教程,大概率会为你介绍 innobackupex。但在最新的 2.4 版本中,innobackupex 已经废弃,只是一个指向 xtrabackup 的软连接,官方推荐使用 xtrabac

boltdb 介绍-编程思维

介绍 BoltDB 是一个用 Go 语言编写的嵌入式键/值数据库。以下是关于 BoltDB 的一些基本介绍: 键/值存储: BoltDB 为应用程序提供了简单的键/值存储接口。 事务: BoltDB 支持完整的 ACID 事务。 嵌入式: 与像 MySQL 或 PostgreSQL 这样的数据库系统不同,BoltDB 不运行在单独的服务器进程中。它作为一个库被直接嵌入到你的应用程序中。 单文件

mysql dml 闪回之 binlog2sql-编程思维

一直以来,由于 DBA 的误操作或者业务bug,导致误删数据的情况都时有发生。当出现误删数据的情况时,从线上操作日志构造误删除的数据,或者DBA使用binlog和备份的方式恢复数据,不管哪种,都非常费时费力,并且容易 出错。可能有的同学会说从 从库恢复,但实时主从备份只能防止硬件问题,比如主库的硬盘损坏。但对于误操作,则无能为力。比如在主库误删一张表,或者一个update语句没有指定where条

xtrabackup 重建 slave 复制-编程思维

一:物理全备 优先选择 基于slave 节点全备;当不存在可用的 slave 节点时,选择 master 节点备份 基于 slave 节点: innobackupex --defaults-file=/etc/my.cnf -S /tmp/mysql.sock --ftwrl-wait-threshold=2 --ftwrl-wait-timeout=3 --slave-info --hos

redis proxy 组件之 predixy-编程思维

Predixy 是一款高性能全特征 redis 代理,支持 redis-sentinel 和 redis-cluster 组件特性: Predixy 支持的功能 为什么需要 redis proxy ? 屏蔽 redis 架构的复杂性,使后端开发人员 无论是用 redis sentinel 还是 redis cluster 集群,都像使用单机 redis 实例一样方便。 集群扩缩容时,对业务更

window安装解压版mysql5.7-编程思维

软件下载 官网地址:https://www.mysql.com 下载地址:https://dev.mysql.com/downloads/mysql/ 安装步骤 下载后会得到 zip 安装文件 将 zip 安装文件解压到某个目录下,解压的目录最好不要有中文和空格 以 E:\Dev\languages\mysql\mysql-5.7.25 目录为例 添加环境变量:电脑-属性-高级系

事务的acid-编程思维

如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: 原子性(Atomicty) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。 拿转账来说,假如用户A和用户B两者的钱加起来一共是5000,那么不管A

mysql 命令登录-编程思维

本地登录 MySQL客户端:https://dev.mysql.com/downloads/installer/ 在本地安装好客户端,配置好环境变量,即可直接在命令提示符中登录 简单点: 需要根据提示输入密码(可指定登录的库 databaseName) mysql -u root -p [databaseName] 复杂点: 可以直接输入密码 mysql --user=root --pass

mysql 批量删除相同前缀的表-编程思维

场景 之前安装了 wordpress, 想要删除一些表, 然后发现这些表都以 wp_开头 sql 命令批量生成drop命令 需要批量删除表,而MySQL又没有提供相关的功能;一般我们建表也都会使用相同前缀,那么,在不使用工具的情况下可以选择使用sql生成批量删除命令; 如删除以 "wp_" 开头的表: SELECT CONCAT( 'drop table ', table_name, ';' )

rowid-编程思维

oracle中的rowid 可以在 plsql 中通过点击查询结果上方🔒图标, 然后直接修改数据, 再点击 ✔ 并commit即可 select rowid [,t.*] from table t SqlServer中的rowid SQL Server中没有类似Oracle的rowid关键字, 但是有ROW_NUMBER 函数, 可以借此生成rowid 生成的rowid为 1,2,3,4,5

redis入门基础-编程思维

环境: centos 一、安装 sudo su cd wget http://labfile.oss.aliyuncs.com/courses/106/redis-2.8.4.tar.gz tar -xzvf redis-2.8.4.tar.gz cd redis-2.8.4 make 几个文件: 服务端:src/redis-server 客户端:src/redis-cli 默认配置文件

slow sql-编程思维

一、介绍 慢查询日志可用于查找需要很长时间才能执行的查询,因此是优化的候选者。但是,检查长慢的查询日志可能是一项耗时的任务。 二、配置 # 查看: slow_query_log 慢SQL开关 slow_query_log_file 日志保存文件 long_query_time 慢SQL限定时间 show variables like 'slow_query%' show variables l

[08s01]communications link failure-编程思维

问题 IDEA Datebase 突然查询数据库失败,提示08S01错误 `[08S01] Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the serv

开发一个 cube.js oceanbase driver-编程思维

cube.js 去年提供了一个独立的包,方便driver 的开发,尽管oceanbase 是mysql 兼容的,但是在使用一个链接池工具的时候有些问题 所以独立包装了一个oceanbase 的driver 开发说明 基于了官方的mysql driver 对于链接池部分进行了调整,同时进行了重新命名,方便需要维护,具体代码可以参考github 同时注意官方对于三方driver 是不能按照官

linux 下 mongodb 安装 和 mongoengine 小示例-编程思维

linux 下 mongodb 安装 地址 https://www.mongodb.com/try/download/community 选择版本和环境 需要下载2个包,mongod 和 shell package 选择 service 复制链接, 再选择 shell(rpm),复制链接,然后通过 rpm -ivh 安装这2个包。 新建 /data/db 启动 mongod -f /etc/m