自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 Linux系统IO基准测试方法

Linux系统IO基准测试方法随机读写测试主要关注IOPS指标,即每秒磁盘能够处理的IO请求个数。普通单块机械磁盘的IOPS在100~300左右,普通SSD的IOPS在几万左右,该指标对关系型数据库等以随机读写为主的软件性能影响比较大。测试方法安装fio测试软件yum install -y fio运行命令:fio -directory=/home/wangzhen/fiotest -name=tempfile.dat -direct=1 -rw=randrw -rwmixwrite

2020-09-09 11:52:30 50

原创 PrepareStatement的功与过

PrepareStatement的功与过背景最近一个同事说遇到一个问题,“使用JDBC驱动进行prepareStatemet查询时,jdbc里的执行计划是错误的,有一些SQL特别慢。初步分析原因是数据分布不均匀,传递参数不一样时,prepareStatement仍然用的原来的执行计划。”最后的解决方案和结论是:通过在jdbcURL上设置参数"prepareThreshold=0"解决(项目...

2020-01-17 17:35:34 171

原创 2019年个人工作总结

2019年个人工作总结工作业绩2019年我作为数据库团队负责人,带领DBA和几个开发做数据库相关工作。主要的工作业绩我认为有以下几点:首先,建立了制度。定了研发DBA怎么干、干什么、怎么管。我是最早一批干研发DBA的,从2016年6、7月份开始,起起伏伏,干了两年多。最早作为NP的一部分,做SQL优化,程序优化,库表设计,现场问题排查等,作出了一些成绩。随着NP的移交,DBA团队的扩大...

2020-01-17 11:22:24 175

原创 如何通过外部表做数据一致性检查和配平

背景随着微服务和分布式架构的兴起及用户对数据高可用的重视。现在系统中的数据会通过程序定时同步、抽数工具、复制工具等在多个数据库中存在多份。但因为程序异常、网络异常、数据异常等各种原因,会出现数据不一致的情况。如何能简单快速检测出数据不一致并且配平呢?本文通过PostgreSQL的fdw机制,介绍一种简单的配平方法。环境准备源数据库IP:xx.xx.12.11PORT:5432版本...

2019-08-26 17:19:54 177

原创 Elasticsearch SQL特性研究

Elasticsearch SQL特性研究简介从Elasticsearch 发布以来,一直有自己的查询语言(DSL),从6.3版本开始,Elasticsearch 开始支持SQL查询语言。即6.3、6.4、6.5、6.6、6.7、7.0均支持SQL查询。但是6.7之前SQL功能是实验性质的,6.6进入beta特性列表,在6.7之前SQL功能是不被ES官方正式支持的。6.7后成为官方正式支持的特...

2019-04-27 17:44:28 345

原创 Elasticsearch7.X为什么移除type

Elasticsearch7.X为什么移除类型(type)在Elasticsearch7.0.0及以后版本不再接受_default_ 映射。在6.x里创建的索引依然像在Elasticsearch6.X之前一样起作用。Types在7.0的API里是被舍弃的,在创建索引,设置映射,获取映射,设置模板,获取模板,获取字段映射API有着不兼容的改变。什么是类型(type)?从Elasticsea...

2019-04-24 21:46:47 5011

原创 Elasticsearch发展史

简介Elasticsearch是当前比较流行的开源的分布式搜索和数据分析引擎,具备易使用、高性能、扩展性强等特点。是ElasticStack的核心组件,以其为核心构建的ELK,已经是日志分析领域的事实标准。Elasticsearch是怎么一步一步发展成熟的呢?You Know,for Search2010年2月8日, Shay Banon 发表了一篇博客,说他基于Lucene开发(封装 ??...

2019-04-22 19:20:28 886

原创 TB级Elasticsearch全文检索优化研究

TB级Elasticsearch全文检索优化研究背景全文检索的原理分词插件对比测试TB级ES优化方案

2018-11-23 18:57:20 860

原创 如何正确的关闭Elasticsearch集群

如何正确的关闭ElasticSearch集群背景接触Elasticsearch也快半年时间了,一直也没弄明白如何的关闭ES和ES集群。经常在测试和生产环境遇到这样的问题“重启ES后数据怎么没了?”,“启动ES后,怎么一直有大量的数据在迁移?”问题原因其本质原因有两点:ES中的数据不是实时写入磁盘的。数据进入ES后先进入data buffer和log buffer,然后进入数据段,最后再...

2018-11-14 17:39:33 5649

原创 新自定义查询系统设计分析

自定义查询系统设计分析背景最近参与某新自定义查询系统开发,系统是锋哥设计的,核心代码也是锋哥写的。作为一个搬砖者自下而上的分析学习一下大神的系统设计。文中的谈到架构设计内容是根据代码理解梳理出来的,不代表系统的实际架构和实现。同时由于业务和技术的复杂性及其他原因,不对实现细节作说明。设计场景在该系统之前已经有两个自定义查询系统,一个为竞争对手的CS系统,一个为我司开发的BS系统。两个系统均...

2018-11-09 16:08:30 1029 1

原创 ElasticSearch中如何进行排序

ElasticSearch中如何进行排序背景最近去兄弟部门的新自定义查询项目组搬砖,项目使用ElasticSearch进行数据的检索和查询。每一个查询页面都需要根据选择的字段进行排序,以为是一个比较简单的需求,其实实现起来还是比较复杂的。这里进行一个总结,加深一下记忆。前置知识ElasticSearch是什么?ElasticSearch 简称ES,是一个全文搜索引擎,可以实现类似百度...

2018-10-31 16:31:10 22071 1

翻译 DMIDECODE 命令手册

名称dmidecode - DMI表解码器摘要dmidecode [options]描述dmidecode 是一个把计算机的DMI(或者叫SMBOIS)表内容转换成人类易读格式的工具。

2018-09-09 09:05:43 291

原创 ASEBR工具使用说明

ASEBR工具使用说明工具简介Asebr 全称sybase ase backup and recovery,是一个sybase ase数据库备份恢复和迁移复制工具,由DBA团队实现维护,主要有批处理、SQL和第三方程序组成。 具有备份结果可视化可编辑、支持字符集转换、重新定义设备大小、简单易用等特点。同时是dump等方式不能备份sybase数据库时的另外一种备份恢复选择。环境要求操作系统:

2018-02-14 08:29:51 499

原创 数据库索引选择的探索(二)之直方图

数据库索引选择的探索(二)之直方图引言在《数据库索引选择的探索(一)》里,以SYBASE为例讲解现代数据库选择SQL执行计划特别是选择索引的基本原理和过程:SQL执行过程中有多条执行计划多个索引可供选择,数据库查询编译器会采用代价模式根据表的统计信息和直方图计算出代价最小效率最高的执行计划。其中简单的提到了直方图,这次以PostgreSQL数据库为例,深入探讨直方图的由来、作用和查看方法。直方图的由

2018-02-09 13:13:46 1078

原创 深入理解计算机系统-学习笔记

第一章:计算机系统漫游从网上看的好多关于计算机硬件原理的文章基本是摘抄或者本章的学习总结。证明这确实是一本理解计算机系统的好书!信息是bit+ 上下文,一切信息都是以0和1存储在计算机上,在不同的上下文中有不同的含义。计算机是由不同层次的抽象组成的,低层级的抽象向高层级抽象隐藏了实现的复杂度,并提供了一致的接口。文件系统是对IO设备的抽象,虚拟内存是对主存和磁盘的抽象,进程是对处理器、IO设

2018-02-03 09:51:28 190

原创 SYBASE 多临时库使用

在解决江西数据库问题时,发现tempdb 数据库资源争用比较严重,锁比较多,根据余头儿和赵哥的建议,采用多临时库缓解tempdb的压力,对NP的SYM、TJFX 应用和第三方公司帐号jdhb单独绑定临时库。临时数据库的作用:临时库是一种全服务器范围的资源,主要用于处理排序、创建工作表、重新格式以及存储用户创建的临时表和索引。临时库相关的性能问题:1、大量使用临时数据库中的对象导致从

2018-02-02 13:39:45 791

原创 SYBASE修改字符集和sortorder id

近期在将某环境上dump的数据在公司的sybase环境load时报sortorder id 不一致,不能导入(忘记截图了)。操作系统环境:CentOS 6.5sybase版本:15.7。解决步骤如下:1、根据报错信息确定本机sybase的sortorder id 和 dump 文件的sortorder id。如本机sortorder id为51,dump文件的sor

2018-02-02 13:37:10 544

原创 PostgreSQL数据库如何快速插入大量数据

PostgreSQL数据库如何快速插入大量数据背景在一些应用场景中,需要向PostgreSQL数据库中快速装入大量的数据,比如数据库迁移,SQL日志分析等。在Abase上快速插入数据有几种方案,每种方案的效率怎么样?如何调优能加快的数据装载?场景设定SQL日志分析是一个采集JDBC日志、分析SQL、发送分析结果工具。在分析阶段,需要解析大量的JDBC日志,并把解析后的结构化结果装入数据库供后续处理。

2017-12-11 12:57:33 21953

原创 PostgreSQL 硬件性能调优

PostgreSQL 硬件性能调优 翻译自文章《PostgreSQL Hardware Performance Tuning》PostgreSQL是一个由世界范围内开发人员在互联网上开发的对象-关系型数据库。她是商业数据库如Oracle和Informix一个开源替代。PostgreSQL最初由加大伯克利分校开发。在1996年,一个团队开始在互联网上开发这个数据库。他们通过邮件来交流思想并且通过

2017-12-08 14:20:27 580

原创 PostgreSQL官方文档学习笔记

窗口函数window 子句当一个查询涉及到多个窗口函数时,可以将每一个分别写在一个独立的OVER子句中。但如果多个函数要求同一个窗口行为时,这种做法是冗余的而且容易出错的。替代方案是,每一个窗口行为可以被放在一个命名的WINDOW子句中,然后在OVER中引用它。例如:SELECT sum(salary) OVER w, avg(salary) OVER w FROM empsalary

2017-12-01 15:01:25 253

原创 何时还完房贷-"自由还款"还款信息计算(JAVA)

房贷【自由还款】信息计算(JAVA)背景当今社会贷款买房,已经成为大多数人的必然选择。贷款方式可以选择公积金贷、商贷、组合贷,还款方式可以选择等额本息、等额本金、自由还款方式等。当前网络上存在各种版本的房贷计算器,其缺点如下:只能根据还款年限和贷款金额信息等推算出每月的还款额度和利息等信息,不能根据每月还款额度算出何时能还完贷款。如贷款80万,每月还6000,什么时候还完贷款?每月还7000,什么

2017-11-29 16:34:00 1783

原创 Sybase数据库中自旋锁和CPU使用率

翻译整理自文章《Spinlocks and CPU usage in SAP ASE》目的这篇文章的目的是清楚的了解SAP ASE怎样使用自旋锁及对整体CPU使用率可能产生的影响。简介通常,SAP ASE中CPU高可以归因为自旋锁的使用。这篇文章将要展示怎样识别这些条件和推荐的ASE调优方法。什么是自旋锁?在一个多引擎的服务中需要使用同步机制保护共享资源。 ASE使用自旋锁作为它同步机制的一

2017-10-09 13:41:22 720

原创 PostgreSQL数据库pg_test_timing学习使用

pg_test_timing 是什么pg_test_timing 是postgresql数据库提供的一个工具,用来评测操作系统计时效率和开销的,简单的说就是gettimeofday (操作系统方法)返回快慢。pg_test_timing 使用的原因目前知道的一个原因是,查看度量SQL执行时间经常使用两种方法\timing SQL 和 explain analyze SQL。但是经常情况下 exp

2017-09-26 14:41:27 1330

原创 PostgreSQL数据库排查脚本规划

一、 排查经验总结过去Sybase数据库问题的整体思路是从整体到局部,从宏观到微观的排查。 第一步,梳理数据库架构和应用部署情况,确定数据库上各个应用连接的情况。 第二步,排查数据库物理实体机器情况,确定系统负载、CPU使用率、内存交换、IO吞吐量、网络吞吐量情况 第三步,排查数据库服务配置情况,确定最大内存和各缓存配置,连接数、锁、最大对象数等重要参数的配置 第四步,排查热点对象及其缓存使

2017-09-24 12:29:33 519

原创 Sybase数据库超大表数据矫正更新

问题背景随着数据的增长,系统中过千万的业务表在已经不少见。对这些超大表进行矫正更新时,直接update会产生大量的事务日志,撑爆日志空间,导致事务回滚矫正失败。解决问题解决问题的思路就是分批提交减少事务日志的大小,其中一种方法可以采用在存储过程中使用游标矫正更新并批量提交。代码如下:use YWSTgo--创建更新存储过程,更新10000行提交一次create procedure update_

2017-09-24 11:01:54 378

原创 PostgreSQL数据库-PL/PGSQL 使用学习

基本结构create or replace function somefunc() returns varchar as $$declare name varchar := 'wangzhen';begin return name;end $$ language plpgsql ;$$作用函数代码在function中实际上为一个字符串,代码1和代码2等价,但代码中字符

2017-09-15 16:07:44 1747

原创 Postgresql数据库count(distinct)优化

基本信息基本情况 表共800W数据,从260W的结果集中计算出不同的案件数量(130万),需要执行20多秒原SQL内容select count(distinct c_bh_aj) as ajcount from db_znspgl.t_zlglpt_wt where d_cjrq between '20160913' and '20170909';表信息和数据量zn

2017-09-07 11:30:20 7288

原创 一次一波三折的SQL优化经历

一次一波三折的SQL优化经历背景最近收到一个SQL调优任务,该SQL在开发环境统计一个月的数据将近执行5秒。原本以为是一场波澜不惊的调优,没想到为了得到最优结果,经历了一波三折。第一印象初见慢SQLselect case when sum(n_xsajs) is null then 0 else sum(n_xsajs) end as value ,ay.c_aymc as name,ay.c_

2017-09-04 14:09:31 389

原创 单用户对比PG 9.5.4和SYBASE 15.7对超大表的操作性能

背景从某真实环境导出一张1.5亿记录的超大表,单用户分别在ABase 3.5.3(PostgreSQL9.5.4)和SYBASE15.7 下进行常见的增删改查操作,对比一下两个数据库的性能基本环境操作系统,该环境为进行数据加压搭建的测试机器,性能比较好,硬件配置如下:[root@localhost ~]# lscpuArchitecture: x86_64CPU op-mo

2017-08-16 19:15:23 319

原创 SYBASE ASE代理表的应用

SYBASE ASE代理表的应用问题背景在解决数字法院现场问题时发现做读写分离的省份,写库和读库经常发生库结构不一致情况,比如读库字段缺失、索引缺失、字段顺序不一致,失会导致RS队列堆积甚至复制失败,如何检查生产环境的读写库结构一致性呢?公司在大力推行git-flow分布式开发模式,开发任务划分更细化,分支团队更多,每个团队维护使用的数据库也更多,怎么保证和检测代码合并后数据库的一致性呢?解决

2017-08-15 13:22:17 528

原创 SYBASE ASE上排查问题自定义存储过程

背景SYBASE 自带不少排查问题用的存储过程和MDA表,但是在排查问题时这些存储过程要么输出太详实太专业不容易聚焦问题,要么需要联查多张表在转瞬即逝的性能问题面前不能捕获有效的信息。编写整理几个存储过程,希望对大家排查问题有所帮助,同时不足之处还请大家指正!一、排查全局超大表过程名称:sp_dba_largetable排查场景:随着业务系统发展,生产环境的大表已经不是规划时的实体主表,而是一些

2017-08-15 13:15:01 496

原创 20170809.XXX系统设计讨论会总结

1、整体“乱”2、写作风格不统一命名随意,代表业务理解不深,不清楚存什么大小写随意,同一个概念大小写不同一,PDF 就是英文简称,应该全部大写大小写和数据库、字符集、排序相关3、DT用法,D精确到日期,DT精确到时间DT_GENTIME TIME是多余的和DT重复表达同一含义4、VC300/600/900 定义过大,一刀切不合适影响磁盘扇区、IO、效率,影响SYBASE 单页存储的行

2017-08-09 16:20:36 203

原创 聚簇索引对数据插入的影响

背景开发人员反馈系统执行某存储过程特别慢,经排查是由于存储过程执行过程中需要向新建的任务表插入大量数据,该任务表的主键是聚簇索引造成的。聚簇索引为什么会导致插入慢呢?聚簇索引会对数据插入造成多大影响呢?原理在非聚簇索引中,物理数据的存储顺序与索引不同,索引的最低级别包含指向数据页上的行的指针。在聚簇索引中,物理数据的存储顺序与索引相同,索引的最低级别包含实际的数据页。 聚簇索引导致数据记录必须按

2017-08-04 18:07:00 1138

原创 磁盘IO初探

背景数据库系统是一个IO密集型系统,在排查问题时经常遇到IO相关的问题,数据库insert/update慢是否由于磁盘IO慢导致的呢?正常的磁盘IO应该在什么数量级呢?测试测试思路:根据从领导那里学来的方法,在系统空闲时段分别在三种不同的操作系统(磁盘设备)上写入大文件,查看写入速度测试一 虚拟磁盘查看OS版本[root@localhost ~]# uname -aLinux localh

2017-07-19 14:26:09 227

原创 数据库索引选择的探索(一)

数据库索引选择的探索(一)背景当我们编写或者调优SQL时,经常遇到SQL没有根据我们的预期去选择索引,数据库是如何选择最佳索引的呢?原理数据库是一个极其复杂的系统,一条SQL由客户端发出到服务器返回结果,要经过N多个步骤,典型的流程图(摘自《数据库系统实现》)如下:【查询编译器】产生的执行计划对整个SQL的执行效率有着极其深刻的影响,因为SQL是一个规定了”what t

2017-07-04 11:40:17 295

原创 SybaseASE系统表的应用

SybaseASE系统表的应用一、问题背景在排查江西、湖南地区数字XX系统数据库CPU高和慢SQL问题时,发现系统中有很多简单的全表扫描SQL,原因是一些子表外键没有索引导致。添加缺失外健索引成为当务之急。数字法院系统有几十个SMD文档,2000多张表,上万个字段,人工检查SMD文档工作量大,效率低。而sybase的sp_help、sp_helpindex又只能查看单个表的索引情况,...

2017-05-31 10:37:10 1591 1

原创 SYBASE ASE15.7 锁定和并发控制学习

SYBASE ASE15.7 锁定和并发控制学习锁介绍粒度表锁页锁行锁较高粒度的锁定,可以减少获取和管理锁的开销,但是大范围的锁会导致性能的降低。 细粒度的锁定,可以使其他用户访问更多的数据,但是也会增加维护和协调锁的开销,从而降低性能。 若要获取最佳性能,锁定方案必须在并发性和管理开销之间找到平衡。锁方案锁定方案指可以通过sp_helpconfig ‘lock scheme’ 和 sp

2017-05-31 10:13:06 676

原创 sybase 锁定

1、锁定粒度:表、页、行级别的锁定2、sybase 提供的锁定方案:     所有页锁定,锁定数据页和索引页 ,持续整个事务,索引页的锁竞争比数据页激烈,一个索引页包含很多行, APL表     数据页锁定,仅锁定数据页,数据页锁持续整个事务,闩锁索引页,对页进行物理更改期间。DOL表,     数据行锁定,仅锁定数据行,数据行锁持续整个事务,数据页获取闩锁,物理更改期间被

2017-04-18 10:03:41 518

原创 sybase load 时报 sortorder id不一致问题的解决办法

近期在将某环境上dump的数据在公司的sybase环境load时报sortorder id 不一致,不能导入(忘记截图了)。操作系统环境:CentOS 6.5sybase版本:15.7。解决步骤如下:1、根据报错信息确定本机sybase的sortorder id 和 dump 文件的sortorder id。如本机sortorder id为51,dump文件的sortorder  ...

2016-06-15 14:26:04 200

原创 学习总结

svn help command:获取子命令说明。svn info $URL 查看工作空间信息svn info $DIR 查看目录信息fedora 共享windows 目录mount   -t   cifs   -o   username=sti,password=sti   //terminal/software   /home1/tournet/soft_bk

2016-05-16 13:53:16 155

用html+js实现的等额本息贷款月供计算器

用html+js实现的等额本息贷款月供计算器 用html+js实现的等额本息贷款月供计算器 用html+js实现的等额本息贷款月供计算器

2015-03-18

公积金贷款月供计算器

用html+js实现的等额本息贷款月供计算器。

2015-03-18

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

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