Flyway:简单的数据库迁移工具
Flyway是一个简单开源数据库版本控制器(约定大于配置),主要提供migrate、clean、info、validate、baseline、repair等命令。它支持SQL(PL/SQL、T-SQL)方式和Java方式,支持命令行客户端等,还提供一系列的插件支持(Maven、Gradle、SBT、ANT等)。主要特性普通SQL:纯SQL脚本(包括占位符替换)没有专有的X...
PostgreSQL、Oracle/MySQL和SQL Server的MVCC实现原理方式
关系数据库管理系统使用MVCC(Multiversion Concurrency Control多版本并发控制)来避免写操作堵塞读操作的并发问题,MVCC也就是通过使用数据的多个版本保证并发读写不冲突的一种机制,不同的数据库有不同的实现,这也是数据库系统让人头疼的地方,关系数据库表面看上去很简单方便,使用标准的SQL语句操作让人很放心,但是...
MySQL基本配置
一、MySQL文件位置使用rpm文件安装的MySQL,安装目录是不可修改的,只能使用打包者确定的预定义安装路径。它的安装并非默认安装在某个特定目录下,它的数据库文件、配置文件盒命令文件分别都放在不同的目录下:1. 数据库目录:/var/lib/mysql/该目录下保存的是各个用户的数据库文件,以“.frm”为后...
PostgreSQL新手入门
自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选。本文介绍PostgreSQL的安装和基本用法,供初次使用者上手。以下内容基于Debian操作系统,其他操作系统实在没有精力兼顾,但是大部分内容应该普遍适用。一、安装首先,安装PostgreSQL客户端。sudo apt-get install postgresql-cl...
Redis复制与可扩展集群搭建
本文会讨论一下Redis的复制功能以及Redis复制机制本身的优缺点以及集群搭建问题。Redis复制流程概述Redis的复制功能是完全建立在之前我们讨论过的基于内存快照的持久化策略基础上的,也就是说无论你的持久化策略选择的是什么,只要用到了Redis的复制功能,就一定会有内存快照发生,那么首先要注意你的系统内存容量规...
Redis内存使用优化与存储
上一篇Redis文章对其适用场景与特点进行了一个概括的分析,本文将对Redis的常见数据类型的使用场景以及在内存优化方面和性能优化方面做一些详细的分析。Redis常用数据类型Redis最为常用的数据类型主要有以下五种:StringHashListSetSorted set...
为什么使用Redis及其产品定位
传统MySQL+ Memcached架构遇到的问题实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据...
数据迁移中需要考虑的问题
在生产环境中,做数据迁移需要考虑很多的可能性和场景,尽量排除可能发生的问题。我自己总结了下,大体有如下需要注意的地方。 数据升级前的测试1)充分的测试,评估时间,总结经验,提升性能在生产中进行数据的大批量迁移时,充分的测试时必须的。一方面可以根据这些测试积累一些必要的数据作为生产中使用参...