摘要:
数据库表的字段扩展方案 传统方案一. 预留字段预留字段就是在数据库表设计之初,预先留一定的字段用于后续的业务扩充,例如在设计之初用户表为user(uid,name,col1,col2,col3....)。当需要扩展字段时可以直接试用预留字段。优点1. 业务扩展后新增不需要锁表2. 避免alter t 阅读全文
摘要:
一、 数据库服务器的硬件估计 首先确定系统要支撑的tps峰值是多少,这个数值一般由实际业务量来估计或者设计容量确定。实际业务估计可以通过考察旧系统业务峰值出现的时间和峰值访问量来估计,设计容量则是系统设计初期就决定的设计指标,决定了tps上限。假设峰值tps为N。 1. 按一般经验认为,一个用户操作 阅读全文
摘要:
随着当今系统中的数据量越来越庞大,当我们设计系统时经常会关心数据库的性能,以及数据库是否需要做分库分表处理。数据库是否要分库分表需要由业务吞吐量、数据库品牌、数据量等多方面决定,分库分表也还分为水平切分和垂直切分。这里仅描述不同场景下,数据库做水平的情况。 我理解的数据库分库分表本质上的目的就是一次 阅读全文
摘要:
前言: 本PostgreSQL数据库双活部署实例使用Bucardo开源工具实现,Bucardo开源工具是一个perl语言编写的程序,其依赖PG数据库的plperl语言组件,进而严格依赖perl的版本(数据库服务器安装的perl大版本号必须和官方说明的perl版本严格一致,小版本号不限制),数据库的p 阅读全文
摘要:
在使用数据库时,我们经常会需要在上面跑一些定时作业,例如转历史库,批处理,定时维护数据等。Oracle可以通过其自带的job机制来进行,作为Oracle的替代方案之一的PostgreSQL没有自带job机制,但是可以通过pgAgent来补全功能。 在pgAdmin v1.9版本之前,pgAgent是 阅读全文
摘要:
首先在要做主主的2台MySQL数据库服务器上安装数据库软件,我这里是编译安装的方式(顺便记录一下编译安装),其他方式也可。 两台服务器地址分别是 10.19.100.13 10.19.100.14 环境 REHL 6.3 percona-server-5.7.19-17.tar.gz 1. 卸载旧版 阅读全文
摘要:
什么是谓词越界?谓词越界其实就是SQL语句的查询条件超出了数据库统计信息所记录的范围。谓词越界会导致Oracle优化器错误的选择SQL语句的执行计划,导致性能问题。 这里举一个简单的例子说明谓词越界导致优化器选择了错误的执行计划。 这里创建了t1表,并在col1列上创建了索引,并向表里写入了1000 阅读全文
摘要:
一、 PL/SQL Dev工具中的F5按钮 这是最简单的获取执行计划的方法,通过SQL语句一键获取,不需要做什么 这种方式获取的执行计划是Oracle通过统计信息预估的,因为SQL语句并没有真正执行。这种方式获取的执行计划也不会显示谓词过滤信息和排序信息等其他附加信息。 二、 EXPLAIN PLA 阅读全文
摘要:
当我们遇到需要捕获数据库中数据变化的时候,总是会想到通过消息队列来实现该需求,通过把数据变化发布到消息队列,来完成系统上下游的解耦。关心这些数据变化的应用可以从消息队列上获取这些数据。 Bottledwater-pg是针对PostgreSQL数据库的一种消息生产者,可以将PostgreSQL数据库的 阅读全文
摘要:
环境: 服务器一(RAC实例一的任意一个节点) IP地址: 10.19.100.91 Oracle数据库版本 11.2.0.4 Oracle数据库实例名 aegisdb Oracle数据库端口 1521 待同步数据库schema aegis OGG端口 7809 服务器二(RAC实例二的任意一个节点 阅读全文