随笔- 807
文章- 150
评论- 23
阅读-
151万
07 2019 档案
MongoDB 如何使用内存?为什么内存满了?
摘要:最近接到多个MongoDB内存方面的线上case及社区问题咨询,主要集中在: 为什么我的 MongoDB 使用了 XX GB 内存? 一个机器上部署多个 Mongod 实例/进程,WiredTiger cache 应该如何配置? MongoDB 是否应该使用 SWAP 空间来降低内存压力? Mong
阅读全文
mongodb WiredTiger 内存分配
摘要:转载自勤奋的小青蛙 mongodb占用内存非常高,这是因为官方为了提升存储的效率,设计就这么设计的。 但是大部分的个人开发者所购买的服务器内存并没有那么大,所以,我们需要配置下MongoDB的内存缓存大小,不然mongodb会占用非常多。 官方的配置缓存项处文档是这么解释的: WiredTiger
阅读全文
MongoDB 建立与删除索引
摘要:1.1 在独立服务器上面建立索引 在独立服务器上面创建索引,可以在空闲时间于后台建立索引。 在后台建立索引,可利用background:true参数运行 >db.foo.ensureIndex({"somefield":1,{:background":true}) 1、任何类型的索引均可在后台完成建
阅读全文
MongoDB 系统分析器
摘要:1.1 系统分析器作用 可以利用系统分析器(system profiler)来查找耗时过长的操作。 系统分析器可记录特殊集合system.profile中的操作,并提供大量有关耗时长的操作信息,但相应的,会导致数据库性能有所下降。因此,我们可能只需要定期打开分析器来获取信息即可。如系统已经负载过重,
阅读全文
MongoDB 了解正在进行的操作
摘要:1.1 查看正在进行的操作 使用db.currentOp()函数: >db.currentOp() 1、opid 这是操作的唯一标识符,可以通过它来终止操作 2、active 表示操作是否正在进行。如果为false表示操作已交出或正在等其他操作交出锁 3、secs_running 表示该操作已经执行
阅读全文
MongoDB 分片管理(四)数据均衡 -- 特大快
摘要:1.1 特大快形成 如果用date字段作为片键,集合中date是一个日期字符串,如:year/month/day,也就是说,mongoDB一天创建一个块。因块内所有文档的片键一样,因此这些块是不可拆分的。如果块超出了config.settings中设置的最大块大小,那么均衡器就无法移动这个块了。 这
阅读全文
MongoDB 分片管理(四)数据均衡
摘要:通常来说,MongoDB会自动处理数据均衡。 1.1 集群分片的块的均衡 注意,均衡器只使用块的数量,而非数据大小,来作为衡量分片间是否均衡的指标。 1.2 均衡器 1、执行所有数据库管理操作前,都应关闭均衡器 >sh.setBalancerState(flase) --不可用 >sh.stopBa
阅读全文
MongoDB 分片管理(三)服务器管理
摘要:MongoDB 分片管理(三)服务器管理
阅读全文
MongoDB 分片管理(二)查看网络连接
摘要:1.1 查看连接统计 connPoolStats,查看mongos与mongod之间的连接信息,并可得知服务器 上打开的所有连接 1.2 限制连接数量
阅读全文
Mongodb 分片 手动维护chunk
摘要:去年的笔记 For instance, if a chunk represents a single shard key value, then MongoDB cannot split the chunk even when the chunk exceeds the size at which
阅读全文
MongoDB 分片键分类与数据分发
摘要:In sharded clusters, if you do not use the _id field as the shard key, then your application must ensure the uniqueness of the values in the _id field
阅读全文
MongoDB 分片管理(一)检查集群状态
摘要:一、检查集群状态 1.1 使用sh.status()查看集群摘要信息 1、使用sh.status()可以查看分片信息、数据库信息、集合信息 sh.status() 如果数据块较多时,使用sh.status(true) 又是输出会很多,就不会截断,要使用如下查看 2、too many chunks t
阅读全文
MongoDB 副本集
摘要:1、创建副本集 1)创建副本集 replicaSet = new ReplSetTest({"nodes":3}) 2)启动3个mongod进程 replicaSet.startSet() 3)配置复制功能 replicaSet.initiate() 4)查看副本集状态 conn1 = new Mo
阅读全文
MongoDB 集群设置集合分片生效及查看集合分片情况
摘要:一、设计DB分片与Collection分片 #连接mongos /opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo 127.0.0.1:27017 #使用admin数据库 use admin #指定testdb分片生效 db.runCommand( {
阅读全文
mongodb 导入json文件遇到的坑
摘要:使用mongoimport命令导入外部json文件时,发现一直报错 报错结果如下: json数据格式完全正确如下: 经过再三确认格式最终找到解决方案,原来用cmd导入数据时json { }包含的数据必须在同一行 更改格式之后再次使用同样命令,即可导入成功。 转载自: https://www.cnbl
阅读全文
GreenPlum/postgres copy命令导出/导入数据
摘要:一、COPY命令简单实用 一、COPY命令简单实用 1、copy在postgres与GreenPlum介绍 1.1 postgrespostgres的COPY命令可以快速的导出/导入数据到postgresql数据库中,支持常用的文件格式,如:txt、sql、csv、压缩文件、二进制格式等。特别适合批
阅读全文
Mongo mongoexport/mongoimport介绍
摘要:一、Mongoexport导出数据 1,导出json数据 mongoexport -d db -c collection -o save-file.dat 2,导出CSV数据 mongoexport -d db -c collection --type=csv -f field1,field2 -o
阅读全文
mongoDB之监控工具mongostat
摘要:mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。 mongostat命令格式,当然也可以加参数: 在第一个例子中
阅读全文
Oracle ORA-00600[2662] 解决
摘要:一、问题描述 1、数据库情况 1)数据库版本:11.2.0.4; 2)未开启归档; 3)没有备份:无RMAN备份、无DUMP备份; 4)数据库redo log 日志组,每组只有一个成员; 2、问题出现原因 因公司断电,导致生产数据库宕机,开启后,出现ORA-00600[2662]问题:ORA-006
阅读全文
ORA-00600[2662]问题 汇总
摘要:一、ORA-00600[2662]问题模拟及解决方法 参照eygle的相关技术blog,测试下_disable_logging将对数据库产生的影响,由于是隐含参数,所以我们通过如下方法获取对这个参数的描述:SQL> select ksppinm,ksppdesc from x$ksppi where
阅读全文
Oracle 控制文件损坏解决方案
摘要:Oracle 控制文件损坏解决方案 故障一:丢失(损坏)一个控制文件 前台报错:ORA-00205:error in identifying control file,check alert log for more info 解决方案:(干净或非干净方式关闭数据库) 使用完好的控制文件复制(替换)
阅读全文
oracle 备份恢复之recover database的四条语句区别
摘要:1 recover database using backup controlfile2 recover database until cancel3 recover database using backup controlfile until cancel;4 recover database
阅读全文
mongodb 4.0.5 集群搭建五台集群
摘要:配置文件采用yaml方式来配置 生产中取消了仲裁者的角色,因为仲裁者也不会存储数据,只是起到选举的作用,线上为了保证数据安全,每份数据都会配置两个副本集,也就是每份数据存储了三份。 优化配置,采用五台集群 使用非root账户搭建mongodb集群。 环境准备 系统系统 centos7.4五台服务器:
阅读全文
MongoDB 3.4 功能改进一览
摘要:MongoDB 3.4 已经发布,本文主要介绍 3.4 版本在功能特性上做的改进,内容翻译自 [https://docs.mongodb.com/manual/release-notes/3.4/?_ga=1.74729233.2005306875.1453858874)。 分片集群(Sharded
阅读全文
MongoDB 3.2变动一览
摘要:3.2测试版本总算release了!E叔带大家来一览MongoDB 3.2版本的真容。 (PS:内容比较多,在此仅针对个人认为比较重要的进行讲解,markdown写的,貌似WP的markdown插件有点奇怪,格式出来和写的时候不太一样,有点丑,大家见谅。) 以下是原文链接: Development
阅读全文
MongoDB 如何保证 oplog 顺序?
摘要:MongoDB 复制集里,主备节点间通过 oplog 来同步数据,Priamry 上写入数据时,会记录一条oplog,Secondary 从 Primary 节点拉取 oplog并重放,以保证最终存储相同的数据集。 oplog 主要特性 幂等性,每一条oplog,重放一次或多次,得到的结果是一样的;
阅读全文
MongoDB 4.0 事务实现解析
摘要:MongoDB 4.0 引入的事务功能,支持多文档ACID特性,例如使用 mongo shell 进行事务操作 支持 MongoDB 4.0 的其他语言 Driver 也封装了事务相关接口,用户需要创建一个 Session,然后在 Session 上开启事务,提交事务。例如 python 版本 ja
阅读全文
MongoDB journal 与 oplog,究竟谁先写入?
摘要:MongoDB journal 与 oplog,谁先写入?最近经常被人问到,本文主要科普一下 MongoDB 里 oplog 以及 journal 这两个概念。 journal journal 是 MongoDB 存储引擎层的概念,目前 MongoDB主要支持 mmapv1、wiredtiger、m
阅读全文
MongoDB新存储引擎WiredTiger实现(事务篇)
摘要:导语:计算机硬件在飞速发展,数据规模在急速膨胀,但是数据库仍然使用是十年以前的架构体系,WiredTiger 尝试打破这一切,充分利用多核与大内存时代,开发一种真正满足未来大数据管理所需的数据库。本文由袁荣喜向「高可用架构」投稿,介绍对 WiredTiger 源代码学习过程中对数据库设计的感悟。 袁
阅读全文
mongodb存储引擎WiredTiger
摘要:MongoDB3.2后默认采用WiredTiger存储引擎。 组成 WiredTiger由三部分组成: Mongos: 负责查询请求的路由和对ShardServer的管理; ConfigServer: 记录全局配置信息 ShardServer:完成实际查询和数据提取操作 p.png Transpor
阅读全文
WiredTiger 4.1.0 发布,MongoDB 存储引擎
摘要:WiredTiger 4.1.0 发布了。WiredTiger 是一个开源的、高性能、可伸缩的 MongoDB 数据存储引擎。 下面是一些性能比较图表: 该版本暂未提供更新内容。 下载地址: Source code (zip) Source code (tar.gz) WiredTiger 4.1.
阅读全文
MongoDB存储引擎、索引 原
摘要:wiredTiger MongoDB从3.0开始引入可插拔存储引擎的概念。目前主要有MMAPV1、WiredTiger存储引擎可供选择。在3.2版本之前MMAPV1是默认的存储引擎,其采用linux操作系统内存映射技术,但一直饱受诟病;3.4以上版本默认的存储引擎是wiredTiger,相对于MMA
阅读全文
MongoDB Wiredtiger存储引擎实现原理
摘要:Mongodb-3.2已经WiredTiger设置为了默认的存储引擎,最近通过阅读wiredtiger源代码(在不了解其内部实现的情况下,读代码难度相当大,代码量太大,强烈建议官方多出些介绍文章),理清了wiredtiger的大致原理,并简单总结,不保证内容都是正确的,如有问题请指出,欢迎讨论交流。
阅读全文
MongoDB 副本集
摘要:一、MongoDB 副本功能集简介 1、冗余和数据可用性 2、MongoDB中的副本集
阅读全文
mongodb 高级聚合查询
摘要:mongodb高级聚合查询 在工作中会经常遇到一些mongodb的聚合操作,特此总结下。mongo存储的可以是复杂类型,比如数组、对象等mysql不善于处理的文档型结构,并且聚合的操作也比mysql复杂很多。 注:本文基于 mongodb v3.6 目录 mongo与mysql聚合类比 aggreg
阅读全文
MongoDB 聚合
摘要:MongoDB 聚合 MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似sql语句中的 count(*)。 aggregate() 方法 MongoDB中聚合的方法使用aggregate()。 语法 aggregate() 方法的基
阅读全文
MongoDB 索引
摘要:索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。 这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。 索引是特殊的数据结构,索引存储在一个易于遍历读取
阅读全文
mongodb 开发规范
摘要:一.命名规则 1.数据库命名规则 数据库名可以是满足以下条件的任意UTF-8字符串: (1)不能是空字符串(”") ; (2)不能含有”(空格)、.、$、/、、和(空字符); (3)应全部小写; 一.命名规则 1.数据库命名规则 (4)最多30字符。 注意事项: 数据库名最终会变成文件系统里面的文件
阅读全文
MongoDB 基本操作 数据库、集合
摘要:一、数据库创建与删除 查看当前所有的数据库 show das/show databases 查看当前数据库 db 创建数据库 use hopedb db.dropDatabase() 删除当前数据库 二、集合创建与删除 语法 db.createCollection(name, options) na
阅读全文
MongoDB CRUD 操作
摘要:crud是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。crud主要被用在描述软件系统中数据库或者持久层的基本操作功能。 一、创建操作 创建或插入操作即向 集合 collection 添加新的 文档 docume
阅读全文
hash 算法
摘要:Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输
阅读全文
PV UV TPS QPS
摘要:名词解释 PV Page View,网页浏览量。网页被读者调用浏览的次数。网页每次打开或刷新一次页面,记录一次。用户对同一页面的多次访问,访问量累计。 UV Unique Visitor,独立访问者。是指通过互联网访问、浏览这个网页的自然人。在一定时间内,访问网站的不同访客的数量,且每个访客只被统计
阅读全文
OLTP OLAP
摘要:一、OLTP、OLAP概念 OLTP On-Line Transaction Processing联机事务处理过程(OLTP)也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。 OLAPOn-line
阅读全文
Linux OOM killer 与相关参数详解
摘要:一、前言 本文是描述Linux virtual memory运行参数的第二篇,主要是讲OOM相关的参数的。为了理解OOM参数,第二章简单的描述什么是OOM。如果这个名词对你毫无压力,你可以直接进入第三章,这一章是描述具体的参数的,除了描述具体的参数,我们引用了一些具体的内核代码,本文的代码来自4.0
阅读全文
Linux 内存分配失败(关于overcommit_memory)
摘要:1、问题现象和分析:测试时发现当系统中空闲内存还有很多时,就报内存分配失败了,所有进程都报内存分配失败:sshd@localhost:/var/log>free total used free shared buffers cachedMem: 12183700 8627972 3555728 0
阅读全文
Oracle 10g和11g中的自动统计任务
摘要:1) 先来看下oracle 10g中的自动统计任务的问题。 从Oracle Database 10g开始,Oracle在建库后就默认创建了一个名为GATHER_STATS_JOB的定时任务,用于自动收集CBO的统计信息。 这个自动任务默认情况下在工作日晚上10:00-6:00和周末全天开启。调用DB
阅读全文
Oracle 全部后台进程简介
摘要:LGWR,DBWR,SMON,PMON,CKPT是必需的五个后台进程。ARCH是最重要的可选后台进程。最重要的六个进程:1.LGWR重做日志写进程,LOG write 负责将重做日志缓冲区记录顺序写入重做日志文件。LGWR在下列情况下将重做日志缓冲区记录(内存)顺序写入重做日志文件(外存)中5种情况
阅读全文
Oracle 11g 禁用 SQL Tuning Advisor 与 auto space advisor
摘要:生产上有一套11g数据库alert.log报错ORA-16957: SQL Analyze time limit interrupt。 查询MOS相关文档Troubleshooting: ORA-16957: "SQL Analyze time limit interrupt" Errors (文档
阅读全文
ES WIndows 安装 ES与ES-head
摘要:一、ES的安装 1、到ES官网下载ES 安装ES前,需要安装JDK1.8以上版本 https://www.elastic.co/downloads/elasticsearch 2、解压ES 3、安装ES 打开bin目录下elasticsearch.bat 4、验证 进入 http://localho
阅读全文
Neo4j 在Linux下的安装登录
摘要:第一步:安装JDK https://blog.csdn.net/qq_33951308/article/details/82933535 第二步:下载并安装neo4j 下载地址 或者直接用wget命令 wget https://neo4j.com/artifact.php?name=neo4j-co
阅读全文
Neo4j数据进行备份、还原
摘要:一、neo4j备份方式 neo4j数据库的备份还原分为两种: offline 和 online。 Offline backup - dump Dump a database into a single-file archive. - load Load a database from an arch
阅读全文
Neo4j 快速清除数据库数据
摘要:在开发过程中,很多时候需要快(简)速(单)清(粗)除(暴)Neo4j中存在的海量数据节点和关系数据。在这种情况下,delete和detach从性能上都已力不从心。Neo4j官方推荐清库方法,即删除graph.db数据库文件,暴力清空数据库。1. 关闭Neo4j服务器进程检查服务器进程是否启动,如启动
阅读全文
Elasticsearch 调优之 搜索速度优化
摘要:本章讨论搜索速度优化:搜索速度与系统资源、数据索引方式、查询方式等多方面 1、为文件系统cache预留足够的内存 1)应用程序一般情况下,读写都会被操作系统“cache” 2)cache保存在物理内存中,命中cache可以降低对磁盘的读写频率 3)搜索对系统cache很依赖,如果搜索从磁盘读取数据,
阅读全文
Elasticsearch 调优之 写入速度优化到极限
摘要:基于版本: 2.x – 5.x 在 es 的默认设置,是综合考虑数据可靠性,搜索实时性,写入速度等因素的,当你离开默认设置,追求极致的写入速度时,很多是以牺牲可靠性和搜索实时性为代价的.有时候,业务上对两者要求并不高,反而对写入速度要求很高,例如在我的场景中,要求每秒200w 条的平均写入速度,每条
阅读全文
Elasticsearch 调优之 shrink
摘要:对于索引分片数量,我们一般在模板中统一定义,在数据规模比较大的集群中,索引分片数一般也大一些,在我的集群中设置为 24。但是,并不是所有的索引数据量都很大,这些小数据量的索引也同样有较大的分片数。在 elasticsearch 中,主节点管理分片是很大的工作量,降低集群整体分片数量可以降低 reco
阅读全文
elasticsearch 性能调优
摘要:此处我们是修改为60s 其实可以改为-1s 这样就是不刷新,我们需要在查询的时候进行一次索引刷新然后再查询,这个嘛就得看你们用户能容忍多少时间长度了。 es最近老是挂掉,无缘无故,表现症状为 对于大小超过100g的index(5个分片 1e数据量左右)插入超级慢,由于机器资源有限 ,只能想出 将每一
阅读全文
Elasticsearch原理讲透
摘要:小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了。 随着央视诗词大会的热播,小史开始对诗词感兴趣,最喜欢的就是飞花令的环节。 但是由于小史很久没有背过诗词了,飞一个字很难说出一句,很多之前很熟悉的诗句也想不起来。 倒排索引 吕老师:但是我让你说出
阅读全文
prometheus 监控ElasticSearch核心指标
摘要:本文主要讲述使用 Prometheus监控ES,梳理核心监控指标并构建 Dashboard ,当集群有异常或者节点发生故障时,可以根据性能图表以高效率的方式进行问题诊断,再对核心指标筛选添加告警。 根据《How to monitor Elasticsearch performance》一文中的介绍:
阅读全文
PostgreSQL 慢查询SQL语句跟踪
摘要:示例:启用 SQL 跟踪PostgreSQL 日志支持的输出格式有 stderr(默认), csvlog , syslog 一般的错误跟踪,只需在配置文件 【postgresql.conf】简单设置几个参数,当然还有错误级别等要设置。 logging_collector = onlog_destin
阅读全文
postgresql slow sql report 慢查询报告
摘要:其实也不完全算PostgreSQL的技巧,应该算是SHELL技巧。 首先要配置好postgresql.conf,让PG记录下慢查询,并且日志固定格式,如下: log_destination = 'csvlog' log_min_duration_statement = 100ms pg_ctl re
阅读全文
Oracle 通过sqlnet.ora文件控制对Oracle数据库的访问
摘要:一、通过sqlnet.ora文件控制对Oracle数据库的访问 出于数据安全考虑,对Oracle数据库的IP做一些限制,只有固定的IP才能访问。修改$JAVA_HOME/NETWORK/ADMIN/sqlnet.ora文件增加以下内容(红色表示注释):#开启ip限制功能tcp.validnode_c
阅读全文
Oracle数据库限定特定用户 特定IP 登录
摘要:不允许test用户在 192.168.1.3 机器上访问数据库。 两种写法。 1 2. 这里说下ORA_CLIENT_IP_ADDRESS 这个函数,直接调用是空的。 这个函数只在系统触发器中有用,在DDL 无效。 http://blog.csdn.net/edcvf3/article/detail
阅读全文
Elasticsearch 监控
摘要:导语 Elasticsearch(文中简称ES)是分布式全文搜索引擎,产品提供高可用、易扩展以及近实时的搜索能力,广泛应用于数据存储、搜索和实时分析。很多服务的可用性对ES重度依赖。因此,保障ES自身可用性,是实现服务高可用的重中之重。 基于京东云丰富的运维实战经验,接下来我们将陆续推出ES运维干货
阅读全文
Elasticsearch 使用:创建、插入、查询、更新、删除
摘要:Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 Lucene 可能是目前存在的,不论开源还是私有的,拥有最先进,高性能和全功能搜索引擎功能的库。但是 Lucene 仅仅只是一个库。为了利用它,你需要编写 Java 程序,并在你的
阅读全文
ES 的基本用法
摘要:ES的基本用法 ES的基本概念 1> 集群和节点 一个es集群是由一个或多和es节点组成的集合 每一个集群都有一个名字, 如之前的wali 每个节点都有自己的名字, 如之前的master, slave1, slave2 节点是可以存储数据, 参与索引数据等的独立服务 2> 索引(类似于数据库里面的d
阅读全文
elasticsearch 集群管理(集群规划、集群搭建、集群管理)
摘要:一、集群规划 搭建一个集群我们需要考虑如下几个问题: 1. 我们需要多大规模的集群? 2. 集群中的节点角色如何分配? 3. 如何避免脑裂问题? 4. 索引应该设置多少个分片? 5. 分片应该设置几个副本? 下面我们就来分析和回答这几个问题 1、我们需要多大规模的集群? 需要从以下两个方面考虑: 1
阅读全文
ElasticSearch 集群环境搭建,安装ElasticSearch-head插件,安装错误解决
摘要:ElasticSearch-5.3.1集群环境搭建,安装ElasticSearch-head插件,安装错误解决 说起来甚是惭愧,博主在写这篇文章的时候,还没有系统性的学习一下ES,只知道可以拿来做全文检索,功能很牛逼,但是接到了任务不想做也不行, leader让我搭建一下分布式的ES集群环境,用来支
阅读全文
Greenplum 基准测试
摘要:https://my.oschina.net/javacy/blog/2997135
阅读全文
MySQL 计算时间差函数 TIMESTAMPDIFF、DATEDIFF
摘要:一、TIMESTAMPDIFF 支持天、小时、秒等 selet TIMESTAMPDIFF(hour,odl_time,now()); 计算old_time与现在时间的小时差。 二、DATEDIFF select datediff(now(),old_time);
阅读全文
PostgreSQL 时间函数 extract函数
摘要:计算时间差天数 select extract(day FROM (age('2017-12-10'::date , '2017-12-01'::date))); 计算时间差秒数 select extract(epoch FROM (now() - (now()-interval '1 day') )
阅读全文
Greenplum最佳实践
摘要:一、最佳实践数据库参数部分 GP数据库参数配置 以下配置存于文件–postgresql.conf中,仅列出一些最常用的参数。 shared_buffers:刚开始可以设置一个较小的值,比如总内存的15%,然后逐渐增加,过程中监控性能提升和swap的情况。effective_cache_size :
阅读全文
Greenplum 查看表的分区键与分区类型
摘要:方法一 查看表的分区键 select d.nspname||'.'||a.relname as table_name,string_agg(b.attname,',') as column_namefrom pg_catalog.pg_class ainner join pg_catalog.pg_
阅读全文
Postgresql vacuum freeze相关参数
摘要:先看3个参数:autovacuum_freeze_max_age | 500000vacuum_freeze_min_age | 10vacuum_freeze_table_age | 100000 首先如果pg_class表age(relfrozenxid)大于autovacuum_freeze_
阅读全文
采用非常规方法(非gprecoverseg) 恢复greenplum数据库
摘要:greenplum数据库中mirror的作用就是作为primary的备份存在。那么恢复down掉的mirror或primary时,是否可以直接复制文件从primary或mirror到对应的mirror或primary来启动数据库,而不采用gprecoverseg呢?答案是肯定的。下面将讨论其中需要涉
阅读全文
Oracle 修改SID --不建议修改
摘要:1、登录数据库查看SID select instance_name,status from v$instance; 2、关闭数据库 shutdown immdiate; 3、修改/etc/oratab文件 4、修改Oracle用户下.bash_profile,并source .bash_profil
阅读全文
Greenplum 调优--查看子节点SQL运行状态
摘要:摘自《Greenplum企业应用实战》 重点: 使用gp_dist_random函数,将查询下发到每个Segement 创建查看子节点SQL运行状态视图 1)创建v_active_sql视图方便查看SQL create view v_active_sql as select pg_stat_acti
阅读全文
Greenplum 函数 gp_dist_random
摘要:转载自:https://yq.aliyun.com/articles/7593 函数作用: gp_dist_random('gp_id')本质上就是在所有节点查询gp_id, gp_dist_random('pg_authid')就是在所有节点查询pg_authid, 使用greenplum时,如果
阅读全文
Greenplum 调优--数据分布法则 - 分布列与分区的选择
摘要:分布列选择黄金法则 由于Greenplum是一个分布式的数据库,数据是分散存储在各个数据节点的,所以需要告诉Greenplum数据应该如何分布。 短板效应 当用户请求QUERY时,Greenplum会在所有的节点并行执行,所以最慢的节点会成为整个系统的瓶颈。 Greenplum 支持的分布算法 :
阅读全文
Greenplum 调优--数据倾斜排查(二)
摘要:上次有个朋友咨询我一个GP数据倾斜的问题,他说查看gp_toolkit.gp_skew_coefficients表时花费了20-30分钟左右才出来结果,后来指导他分析原因并给出其他方案来查看数据倾斜。 其实很多朋友经常使用如下的方式来检查数据分布: select gp_segment_id,coun
阅读全文
Greenplum 调优--数据倾斜排查(一)
摘要:对于分布式数据库来说,QUERY的运行效率取决于最慢的那个节点。 当数据出现倾斜时,某些节点的运算量可能比其他节点大。除了带来运行慢的问题,还有其他的问题,例如导致OOM,或者DISK FULL等问题。 如何监控倾斜 1、监控数据库级别倾斜 2、监控表级倾斜 出现数据倾斜的原因和解决办法 1.分布键
阅读全文
Greenplum 调优--VACUUM系统表
摘要:Greenplum 调优--VACUUM系统表 1、VACUUM系统表原因 Greenplum是基于MVCC版本控制的,所有的delete并没有删除数据,而是将这一行数据标记为删除, 而且update其实就是delete加insert。所以,随着操作越来越多,表的大小也会越来越大。对于OLAP 应用
阅读全文
PostgreSQL、Greenplum 日常监控 和 维护任务
摘要:背景 Greenplum的日常监控点、评判标准,日常维护任务。 展示图层 由于一台主机可能跑多个实例,建议分层展示。 另外,即使是ON ECS虚拟机(一个虚拟机一个实例一对一的形态)的产品形态,实际上也建议分层展示,以示通用性。 主机级图层 1、全局 2、以集群分组 展示图形 1、饼图(正常、警告、
阅读全文
Greenplum 监控segment是否正常
摘要:在greenplum运行过程中,Segement很有可能因为压力大出现不可用的情况, 主备Segement发现了切换,或是主备Segement网络断开,数据不同步了。在 默认情况下,如果GreenPlum4.X版本中,有一个Segment失败了,数据库还是会 正常运行的,如果是主Segemnt失败了
阅读全文
GreenPlum 数据库启动关闭及数据库状态检查
摘要:本篇文章主要记录GreenPlum数据库的启动、关闭及状态查询。GreenPlum数据库提供gpstart和gpstop脚本来启动和关闭数据库,可以通过—help参数来查看这些脚本的帮助信息。 view source 01 [gpadmin@mdw master]$ gpstart --help 0
阅读全文
GreenPlum 数据库创建用户、文件空间、表空间、数据库
摘要:前几篇文章介绍了GreenPlum数据库的安装、启动、关闭、状态检查、登录等操作,数据库已经创建好了,接下来介绍如何使用数据库。按照习惯,需要先创建测试用户、表空间、数据库。先创建测试用户dbdream。 view source 1 postgres=# create role dbdream pa
阅读全文
Greenplum 表空间和filespace的用法
摘要:转载:https://yq.aliyun.com/articles/190 Greenplum支持表空间,创建表空间时,需要指定filespace。postgres=# \h create tablespace;Command: CREATE TABLESPACEDescription: defin
阅读全文
Greenplum table 之 外部表
摘要:转载自: https://www.cnblogs.com/kingle-study/p/10552097.html 一、外部表介绍 Greenplum 在数据加载上有一个明显的优势,就是支持数据的并发加载,gpfdisk是并发加载的工具,数据库中对应的就是外部表 所谓外部表,就是在数据库中只有表定义
阅读全文
Greenplum 行存、列存,堆表、AO表的原理和选择
摘要:转载自: https://github.com/digoal/blog/blob/master/201708/20170818_02.md?spm=a2c4e.11153940.blogcont179210.17.6f682764HWr8pC&file=20170818_02.md 背景 Green
阅读全文
Greenplum table 之 appendonly的列存储表
摘要:一、appendonly的列存储表 1、创建列存储表 create table test_column_ao( id bigint, name varchar(128), value varchar(128), ) with (appendonly=true,orientation=column,c
阅读全文
Greenplum table 之 appendonly表
摘要:一、压缩表 1、appendonly压缩表的数据视图为pg_appendonly 2、appendonly在Greenplum后也可更新与删除
阅读全文
Greenplum 执行计划之广播与重分布
摘要:关联数据在不同节点上,对于普通关系型数据库来说,是无法进行连接的。关联的数据需要通过网络流入到一个节点中进行计算,这样就需要发生数据迁移。数据迁移有广播和重分布两种。在GP中,每一个广播或重分布会产生一个切片,每一个切片在每个数据节点上都会对应发起一个进程来处理该slice负责的数据,上一层负责该s
阅读全文
GreenPlum 锁表以及解除锁定
摘要:最近遇到truncate表,无法清理的情况,在master节点查看加锁情况,并未加锁这种情况极有可能是segment节点相关表加了锁,所以遇到这种情况除了排查master节点的锁,所有的segment也要查看锁的持有情况,然后根据情况,进行处理。 master节点:查看segment锁情况selec
阅读全文
Postgresql 解决锁表
摘要:转载地址:https://blog.csdn.net/cicon/article/details/68068462##一、postgresql解决锁表--查询是否锁表了select oid from pg_class where relname='可能锁表了的表'select pid from pg
阅读全文
Greenplum 查看连接与锁信息数据字典
摘要:查看系统中会话/连接/SQL与锁情况 1、查看当前活动的客户端连接数 SELECT count(*) FROM pg_stat_activity WHERE NOT pid=pg_backend_pid(); 2、查询客户端连接的情况 SELECT pid,case when waiting='f'
阅读全文
Greenplum 常用数据字典
摘要:一、数据库集群信息 1、gp_segment_configration 2、pg_filespace_entry 这两个表是在pg_global表空间下面的,是全局表。 用来查看集群segment信息,比如segment个数。 二、常用数据字典表 1、pg_class 保存了所有表、视图、序列、索引
阅读全文
Linux 内核参数说明
摘要:转载自: https://www.cnblogs.com/tolimit/p/5065761.html 因个人能力有限,不能保证所有描述都正确,还请大家集思广益,有错误的地方欢迎大家留言指正,同时也欢迎大家留言对未标注项进行补偿,谢谢。 内核参数列表 内存参数列表 网络参数列表 文件系统参数列表 用
阅读全文
Greenplum 如何直连segment节点
摘要:Greenplum 展开阅读全文 直连greenplum segment节点的方法, utility模式 : 使用这种方式,不与其他节点通讯,只操作当前节点。也没有数据分布的概念。 如果使用utility模式连接的是master节点,写入数据时,数据不会分布到segment,使用正常模式连接后,写入
阅读全文
GreenPlum 数据备份与恢复
摘要:GreenPlum数据备份与恢复gp_dump是GP并行备份的备份工具,在运行gp_dump的时候master与所有的segment节点都开始备份(standby节点和segment节点中的mirror实例不参加备份),数据文件都是放在各个的节点服务器上,消耗的时间和数据量最大的、消耗时间最长的节点
阅读全文
greenplum(postgresql) 数据字典
摘要:greenplum是基于postgresql开发的分布式数据库,里面大部分的数据字典是一样的。我们在维护gp的时候对gp的数据字典比较熟悉,特此分享给大家。在这里不会详细介绍每个字典的内容,只会介绍常见的应用以及一些已经封装好了的函数。具体的介绍大家可以去看postgresql的中文文档(附件),里
阅读全文
PostgreSQL 用户、角色、权限管理
摘要:PostgreSQL是一个多用户数据库,可以为不同用户指定允许的权限。 角色 PostgreSQL使用角色的概念管理数据库访问权限。 根据角色自身的设置不同,一个角色可以看做是一个数据库用户,或者一组数据库用户。 角色可以拥有数据库对象(比如表)以及可以把这些对象上的权限赋予其它角色, 以控制谁拥有
阅读全文
PostgreSQL 使用PG_Rman进行物理备份
摘要:背景 在Oracle下我们可以使用rman进行物理备份,支持数据库的全量、增量、归档的备份模式而PostgreSQL作为开源数据库,近些时间来也一直向商业版数据库看齐,也推出了开源功工具pg_rman,也具备了oracle rman大部分的功能 pg_rman介绍 pg_rman是一个开源的Post
阅读全文
Postgresql 物理热备份 -- PITR 时间点恢复(Point In Time Recovery)
摘要:时间点恢复(Point In Time Recovery)
阅读全文
Postgresql 物理备份冷备份 与 热备份
摘要:一、冷备份 将数据库停下来,然后把数据库的PGDATA目录拷贝下来就可以了。 PostgreSQL把与数据库实例有关的配置文件和数据文件都放在PGDATA目录下,所以做冷备份很简单。 二、热备份 热备份称之为在线备份。 有两种热备份方法 1、使用数据库的PIRT方法进行热备份。PIRT的原理--时间
阅读全文
Postgresql 物理热备份 -- 快照备份
摘要:Postgresql 物理热备份 -- 快照备份
阅读全文
Postgresql pg_dump 与 pg_restore 使用举例
摘要:pg_dump备份 pg_dump osdb > osdb.sql pg_dump -h 192.168.122.1 -Uosdb osdb > osdb.sql pg_dump -t testtab > testtab.sql pg_dump -t "schema1.job*" -T schema
阅读全文
Postgresql pg_restore
摘要:pg_restore参数详解
阅读全文
Postgresql pg_dump
摘要:pg_dump 命令详解 指定服务器名称 指定端口 指定要连接的用户名 从不提示密码 强制pg_dump在连接到一个数据库之前提示密码 该设置会导致在连接到数据库时发布一个set role rolename命令。相当于切换到另一个角色。当以验证的用户缺少pg_dump需要的权限时,可以使用这个功能切
阅读全文
PostgreSQL 常用数据视图/字典
摘要:1、pg_namespace
阅读全文