自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(504)
  • 资源 (12)

原创 博客搬家了,搬家了

博客搬家了,搬家了rudy的博客

2015-12-30 17:59:30 513

原创 搬家了

我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。

2018-04-07 09:13:38 280

原创 mongodb 2.4升级至3.2

--mongorestore升级过程中如果遇到如下错误,需要删除admin数据库[root@beta tmp]# mongorestore -h 127.0.0.1 --oplogReplay --port 27015 --dir /tmp/dump20160411/2016-04-11T16:36:14.026+0800 building a list of dbs and colle

2016-05-23 11:44:38 3332 1

原创 pg_upgrade 版本升级

--对于小版本的升级,内部存储格式是兼容的,大版本不一定兼容--小版本可以直接替换二进制文件,大版本需要导出与导入升级Minor releases never change the internal storage format and are always compatible with earlier and later minor releases of the same major v

2016-05-23 09:35:38 1779

原创 nulls first & nulls last 对索引影响

-- 当我们需要排序字段时,比如order by name,如果name字段定义时没有not null时,就有可能涉及到null值的排序-- 如果不注意,可能会造成隐藏的bug,pg默认null是无穷大,在升序时排在最后面,当然在排序时也可以指定 nulls first 或 nulls last-- 具体使用方法在此不在复述,本文主要是讲的是在创建索引时指定 nulls first 或 nul

2016-05-04 14:18:10 1064

原创 postgresql 9.5版本之前实现upsert功能

最近有开发人员问,有没有办法实现在pg9.5版本之前实现upsert功能,现整理如下--创建测试表,注意此处先不要主键或唯一约束create table t2 (id int,name varchar(100));-- pg 在9.5之前实现不存在则插入-- 现在需要实现,当id字段的值存在时,则更新name字段的值,如果id字段的值不存在,则执行插入with upsert as

2016-04-29 14:39:43 4486

原创 通过函数定位DML锁等待

--创建函数,注意此函数只能定位由于dml操作所引起的锁等待,对于ddl引起的锁等待,此sql无法完全定位CREATE OR REPLACE FUNCTION report_lock(refcursor, refcursor) RETURNS SETOF refcursor AS$BODY$declarev_activity_count integer;v_cur_relation

2016-03-25 15:08:35 442

原创 postgresql 正则暗坑

--注意pg的正则使用不正会有隐患 postgres=# select * from t; id | name ----+------ 1 | bill 1 | bill 1 | bill(3 rows)--注意,由于没有匹配正则,其执行了过滤操作(其是在select字段中,不细看还以为t表中没有数据呐)postgres=# select t.*,regexp_matche

2016-03-22 11:20:46 1566

原创 mysql memcached 初探

--mysql 5.7 已经把memcache 与 innodb 结合在了一起The InnoDB memcached plugin provides an integrated memcached daemon that can automatically store and retrieve data from InnoDB tables, turning the MySQL server

2016-03-17 11:17:39 630

原创 postgresql 数组类型

--pg支持数组,且支持分片访问,比如[1:2],任意只有一个数字(没有冒号)的维数是从 1 开始到声明的数字为止的 --如果任意维数被写为一个片段,也就是,包含一个冒号,那么所有维数都被当做是片段If any dimension is written as a slice, i.e., contains a colon, then all dimensions are treated as

2016-03-02 16:54:04 1303

原创 mongo2.4_point_in_time_recovery

--配置复制集/opt/mongodb/2.4/bin/mongod --replSet=rs1 --journal --port 27018 --dbpath=/data/mongodb/27018 --logpath=/data/mongodb/log/27018/mongo.log --fork --logappend/opt/mongodb/2.4/bin/mongod --replS

2016-03-01 14:27:51 429

原创 postgresql 定时收集表和索引统计信息

--由于pg中表和索引的信息收集都是基于时间点的,对于以往的信息无法与现在的信息进行对比,故写下此工具进行统计信息收集--创建数据信息的schemacreate schema db_stat;--创建收集信息的基础表create table db_stat.snapshot_pg_stat_all_indexes(relid int,indexrelid int,schemaname

2016-02-26 09:33:41 2295

原创 rsync增量重置备库

--在主从复制环境中,如果从库不小心打开了读写模式(相当单节点的一个数据),比如touch /usr/local/postgresql/9.3.4/5434/pgsql.recovery.trigger--此时从节点已经于主机点脱离,此时再把这个节点改为从节点时,由于从的timeline高于主,故该节点不能再变成从节点了[postgres@rudy_01 5434]$ ls | gre

2016-02-19 17:24:00 945

转载 Mongodb Wiredtiger存储引擎实现原理

按照Mongodb默认的配置,WiredTiger的写操作会先写入Cache,并持久化到WAL(Write ahead log),每60s或log文件达到2GB时会做一次Checkpoint,将当前的数据持久化,产生一个新的快照。Wiredtiger连接初始化时,首先将数据恢复至最新的快照状态,然后根据WAL恢复数据,以保证存储可靠性。Wiredtiger的Cache采用Btree的

2016-02-16 14:05:36 3786

原创 postgresql 时区与时间函数

--把时间戳转成epoch值postgres=# select extract(epoch from now()); date_part ------------------ 1447898857.74524(1 row)--把epoch 值转换回时间戳postgres=# SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 144

2016-02-03 11:15:18 12328

原创 mysql 时区与时间函数

--在mysql中可以直接使用sleep()函数,sysdate函数返回的是执行到当前函数的时间,而now函数返回的是执行sql的时间mysql> SELECT now(),SYSDATE(), SLEEP(2),now(), sysdate() from dual;+---------------------+---------------------+----------+--------

2016-02-03 11:13:26 5894

原创 mysql binlog_format 适时修改

--mysql允许在session或者global级别动态设置binlog_format的值,做在更新很多行时,可以设置 binlog_format = 'STATEMENT' 以加快数据应用到备库上 A session that makes many small changes to the database might want to use row-based logging. A se

2016-02-01 16:06:59 6376

转载 PgSQL · 特性分析 · PG主备流复制机制

PostgreSQL在9.0之后引入了主备流复制机制,通过流复制,备库不断的从主库同步相应的数据,并在备库apply每个WAL record,这里的流复制每次传输单位是WAL日志的record。而PostgreSQL9.0之前提供的方法是主库写完一个WAL日志文件后,才把WAL日志文件传送到备库,这样的方式导致主备延迟特别大。同时PostgreSQL9.0之后提供了Hot Standby,备库在应

2016-01-28 16:41:06 809

转载 GPDB · 特性分析· GreenPlum Primary/Mirror 同步机制

PostgreSQL 主备同步机制是通过流复制实现,其原理见之前的月报PG主备流复制机制。Greenplum 是基于PostgreSQL开发的,它的主备也是通过流复制实现,但是Segment节点中的Primary和Mirror之间的数据同步是基于文件级别的同步实现的。为什么Primary和Mirror不能再使用流复制实现呢?主要有两个原因:Append Only表不写WAL日志,所以A

2016-01-28 16:34:51 3434

原创 postgresql 聚合的暗坑

--对于聚合操作,pg约束是不严格的,比如如下sql中,group by 缺少 name,但也能执行postgres=# select id,name ,count(*) from t group by id; id | name | count ----+------+------- 1 | bcd | 1 2 | abc | 1 --现模拟如下

2016-01-27 14:51:58 5056

原创 mysql sql_mode 汇总整理

-- ANSI 使sql符合标准sqlThis mode changes syntax and behavior to conform more closely to standard SQL-- STRICT_TRANS_TABLES 如果事务语句有错,则使事务失败If a value could not be inserted as given into a transactiona

2016-01-26 16:29:06 573

原创 技术的争论--人决定技术

技术的争论假如现在需要对user表的username字段和last_update_time字段建立组合索引,有如下两种方案方案A:index(username,last_update_time)方案B:index(last_update_time,username)到底哪种好呢?select something from users where user

2016-01-26 16:26:21 457

转载 怎么跳出MySQL的10个大坑

MySQL · 性能优化· Group Commit优化背景关于Group Commit网上的资料其实已经足够多了,我这里只简单的介绍一下。众所周知,在MySQL5.6之前的版本,由于引入了Binlog/InnoDB的XA,Binlog的写入和InnoDB commit完全串行化执行,大概的执行序列如下: InnoDB prepare (持有prepare_c

2016-01-25 16:39:06 503

原创 postgresql_fdw 跨数据库查询

--PostgreSQL的数据库逻辑上是相互独立的,和Oracle类似,如果要访问其他数据库,需要做跨库操作,--Postgres本身提供了一些扩展,比如dblink,pgsql_fdw等,高版本的建议使用postgres_fdw,也就是pgsql_fdw的升级版。 远端数据准备postgres=# show search_path; search_path ------------

2016-01-21 17:21:03 2875

原创 postgresql 排它约束

--pg支持 EXCLUSION Constraint,排它约束是约束中定义的操作计算结果为false,则不允许插入Exclusion constraints ensure that if any two rows are compared on the specified columns or expressions using the specified operators, at leas

2016-01-20 11:36:15 2950

原创 postgresql数据类型

--pg支持范围类型• int4range — Range of integer• int8range — Range of bigint• numrange — Range of numeric• tsrange — Range of timestamp without time zone• tstzrange — Range of timestamp with time zone•

2016-01-19 15:10:15 695

原创 postgresql 源码客户端认证

--在使用pg中登陆数据库是第一步,其代码结构如下:--原始代码在如下文件中src/backend/libpq/auth.c--其入口函数为ClientAuthentication,其接受一个Port结构体voidClientAuthentication(Port *port){ --通过此函数解析客户的ip类型,确定其使用的是什么样的方式进行认证,比如能过local还是

2016-01-12 16:24:14 787

原创 postgresql upsert 使用范例

--pg 9.5 版本支持 "UPSERT" 特性, 这个特性支持 INSERT 语句定义 ON CONFLICT DO UPDATE/IGNORE 属性,当插入 SQL 违反约束的情况下定义动作,而不抛出错误--创建测试数据表create table t (id int constraint idx_t_id primary key,name varchar(20) constraint

2016-01-11 18:37:40 14617

原创 mysql 权限与安全

--创建schemacreate schema rudy;--创建一个他人拥有的schemacreate schema rudy_schema authorization rudy;--在创建表时,如果没有指定模式则在默认为public模式create table rudy.t(id serial);--设置模式的搜索路径show search_path;set search_p

2016-01-11 17:27:59 1207

转载 PostgreSQL 9.5 BRIN 索引

以下内容转载自:PostgreSQL 9.5 new feature - BRIN (block range index) indexPostgreSQL 9.5引入的一个全新的索引访问方法BRIN(block range index),这个索引存储了表的连续数据块区间以及对应的数据取值范围。比如一张表有1000个数据块,我们建议一个BRIN在ID(假设这个表有ID字段)上的索引。

2016-01-11 16:13:45 2936

原创 postgresql 分区与优化

--对于分区表constraint_exclusion 这个参数需要配置为partition或onpostgres=# show constraint_exclusion ; constraint_exclusion ---------------------- partition --创建父子表, 用于存储分区数据create table t(id int primary

2016-01-08 09:40:22 1347

原创 mysql分区管理

--在mysql5.6之后查看分区采用show plugins;--不论创建何种类型的分区,如果表中存在主键或唯一索引时,分区列必须是唯一索引的一个组成部分mysql> create table t1(id int not null,id2 int not null,unique key(id)) partition by hash(id2) partitions 4; ERROR

2016-01-06 16:58:17 703

原创 MYSQL general tablespace

--从mysql 5.7.6 开始其支持 general tablespace,其可以创建在一个相对路径或绝对路径上--A general tablespace is a shared tablespace, similar to the system tablespace. It can hold multiple tables,--and supports all table row fo

2016-01-04 10:17:57 1033

原创 mysql profile及其对应表使用

--mysql的profile可用于查看一个sql的具体消耗show profile all for query 1\G;--profiling has a default value of 0 (OFF)mysql> SELECT @@profiling;+-------------+| @@profiling |+-------------+| 0 |+-

2016-01-04 10:17:02 968

原创 innobackupex 使用小结

--首先要安装依赖包libev[root@rudy tmp]# rpm -ivh percona-xtrabackup-2.3.3-1.el6.x86_64.rpm warning: percona-xtrabackup-2.3.3-1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEYerror: Fai

2015-12-30 15:40:47 5624

原创 postgresql 优化之--不会使用索引

--原始表结构如下:postgres=# \d+ postgres_s1_log Table "public.postgres_s1_log" Column | Type | Modifiers | Storage | Stats

2015-12-29 18:12:54 5133

原创 pg_rman 实现对postgresql数据库的备份,恢复与管理

--下载软件https://github.com/ossc-db/pg_rman--安装 unzip pg_rman-master.zip --下载安装postgresql93-libshttp://yum.postgresql.org/9.3/redhat/rhel-6.4-x86_64/ [root@rudy tools]# rpm -ivh postgresql93-li

2015-12-28 15:00:09 2281

原创 show_compatibility_56

--从mysql5.7.6开始information_schema.global_status已经开始被舍弃,为了兼容性,此时需要打开 show_compatibility_56mysql> select * from information_schema.global_status limit 3;ERROR 3167 (HY000): The 'INFORMATION_SCHEMA.GLO

2015-12-25 14:41:54 11653 3

转载 Huge Page 是否是拯救性能的万能良药

为了更好的体验,请通过此链接阅读:http://cenalulu.github.io/linux/huge-page-on-numa/文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部作者:卢钧轶(cenalulu)本文原文地址:http://cenalulu.github.io/linux/huge-page-on-numa/准备知识在阅读本文之前,需要读者至少了解以下基础知

2015-12-24 10:40:25 738

转载 NUMA架构的CPU

NUMA架构的CPU -- 你真的用好了么?本文从NUMA的介绍引出常见的NUMA使用中的陷阱,继而讨论对于NUMA系统的优化方法和一些值得关注的方向。文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部作者:卢钧轶(cenalulu)本文原文地址:http://cenalulu.github.io/linux/numa/NUMA简介这部分

2015-12-24 10:17:21 890

oracle json

使oracle支持json类型的数据,里面是一些数据包代码希望对你有用

2014-08-01

ocp11g知名培训机构原题及考试模拟器

这个资源包的题库包含破解的免安装版Visual CertExam,只要将题库的三个文件导进去就可以进行模拟考试了,自己试过了,很好用的

2014-01-12

ocp11g考试认证指南

ocp11g考试认证指南,全面地覆盖了ocp11g的方方面面,并且每章后都有适量的模拟题

2014-01-12

ocp 11g 题库

文件包里是我下载的ocp 11g的题库,非常非常多,有一千多道题,希望对想考ocp 的小伙伴们有帮助。

2014-01-12

struts2开发必备jar

struts2开发必备jar,基于框架的java开发不可能离开sturts

2011-12-07

mysql-connector-java-5.0.7-bin.jar

mysql-connector-java-5.0.7-bin.jar,对于mysql的驱动,不可或缺

2011-12-07

spring.jar

spring.jar,对于基于spiing开发不可或缺的jar

2011-12-07

eclipse使用教程

eclipse,相信大家都不陌生吧,但,我们又对它,知之多少呢?

2011-12-07

数据结构与算法(C#)代码

数据结构与算法(C#)代码,一个高级的大师,是不可能不会数据结构的

2011-12-07

单元测试之道Java版:使用JUnit

单元测试之道Java版:使用JUnit,我们应该会单元测试的

2011-12-07

重构_改善既有代码的设计

重构_改善既有代码的设计,如果一个程序员不知道重构,岂不是很可悲的一件事

2011-12-07

PowerDesigner逆向工程生成PDM模型及数据库

PowerDesigner逆向工程生成PDM模型及数据库

2011-12-07

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除