Greenplum备份恢复浅析## Greenplum备份恢复浅析 姓名:___ 邮箱:zhuodao.zwj@alibaba-inc.com 公司:阿里云 Greenplum数据备份恢复: 1. 数据量较大 2. 不能完全使用Xlog日志备份 3. 需要保证数据完整性和一致性 ## Greenplum提供了: 1. 非并行备份和恢复: --pg_dump和pg_dumpall(pg_restore) --copy、psql --copy、psql 2. 并行备份和恢复 --gpcrondump(gpdbrestore) ## 并行备份和恢复  gpcrondump  gpcrondump命令使用-K来指定唯一时间戳来标示某个备份集文件,其中如果当前备份目录中存在更未来的备份集,则备份报错。 gpcrondump命令使用-t 或者--table-file,-T或者--exclusive-table-file,-s或者--sche 0 码力 | 17 页 | 1.29 MB | 2 年前3
3 使用Python加速文件传输和文件复制 Giampaolo Rodolao copy files efficiently ## • Part 2: • psutil 第1部分 ○基础的 Unix 概念 ○基础的 Socket 操作 ○高效的传输文件 ☐高效的复制文件 第2部分 ○ psutil ## UNIX concepts (oversimplified) [简单聊聊 Unix 的相关概念] ## System call / 系统调用 - 系统调用 I/O • open() • read() • write() Processes / 进程 • fork() • kill() • wait() Filesystem / 文件系统 • chmod() • mkdir() • getcwd() Communication / 通信 • pipe() • splice() • mmap() ## Kernel / 203d8521/p10_1.jpg) ## File descriptors / 文件描述符 - it's a reference to "something" (usually a file) - it can be mixed with system calls - 是对文件/套接字等资源的引用 ● 可以和系统调用连用 ## Print >>>0 码力 | 78 页 | 654.51 KB | 2 年前3
微信 SQLite 数据库
损坏恢复实践## 微信 SQLite 数据库 损坏恢复实践 johnwhe (何俊伟) ☐ 问题背景 ☐ 常规做法 ☐ 数据备份 ◇ Repair Kit ☐ 组合方案 ## SQLite 恢复 ## 问题背景 微信聊天记录只存客户端 微信团队 欢迎你再次回到微信。如果你在... SQLCipher 加密数据库 ## 问题背景 ☐ SQLite 概率性损坏 ☐ 1/20,000 ~ 256MB ~1%,1GB ~1% ☐ 设备断电、kernel crash、空间不足 ☐ 问题背景 ☐ 常规做法 ☐ 数据备份 ◇ Repair Kit ☐ 组合方案 ## SQLite 恢复 ## 常规做法 .dump 命令 来自 SQLite 命令行工具 ☐ 整个 DB 输出为 SQL 语句 $ sqlcipher samples/sample-repairdb/src/ma ### .dump 用于恢复 ☐ 打开损坏 DB 后使用 ☐ 遇到错误前一直输出 ☐ 遇到错误,跳到下一个表 ### .dump 成功率 ☐ 成功率仅 ~30% ☐ 打不开 DB ☐ 打开了读不出数据 ☐ 问题背景 ☐ 常规做法 ☐ 数据备份 ☐ Repair Kit ☐ 组合方案 ## SQLite 恢复 ## 数据备份 ☐ 主要考虑因素 恢复成功率 ☐ 空间大小 ☐0 码力 | 31 页 | 546.35 KB | 2 年前3
MySQL 数据库架构灾难恢复解决方案..... ## MySQL 数据库架构 灾难恢复解决方案 MySQL InnoDB Cluster Set 介绍 MySQL SE 罗伟文 …… …… …… …… …… ## Safe Harbor Statement 以下内容旨在概述我们的一般产品方向。它仅供参考,不得纳入任何合同。它并不提供任何材料、代码或功能的承诺,不应据此做出购买决策。Oracle产品描述的任何特性或功能 [Image](/uploads/documents/4/1/b/f/41bf4e9c6607aa3e903e68d7ea1e501d/p5_2.jpg) 数以百万计的银行客户无法访问在线帐户。银行花了将近2天的时间才恢复正常运作。  ## 过去、现在和未来 [Image](/uploads/documents/4/1/b/f/41bf4e9c6607aa3e903e68d7ea1e501d/p7_1.jpg) - 设置复制拓扑通常是手动完成的,需要执行许多步骤包括用户管理、恢复备份、配置复制... - MySQL只提供技术部分,让用户来设置(始终自定义的)架构。 - 甚至需要其他软件...为DBA和专家带来了大量工作,他们花时间自动化和集成他们的定制架构 ## Present0 码力 | 52 页 | 3.07 MB | 2 年前3
Curve文件系统空间分配方案Curve文件系统空间分配方案(基于块的方案,已实现) - 背景 - 本地文件系统空间分配相关特性 - 局部性 - 延迟分配/Allocate-on-flush - Inline file/data - 空间分配 - 整体设计 - 空间分配流程 - 特殊情况 - 空间回收 - 小文件处理 - 并发问题 - 文件系统扩容 - 接口设计 根据CurveFS方案设计(总体设计,只实现了部分),文件系统基于当前的块进行实现,所以需要设计基于块的空间分配器,用于分配并存储文件数据。 ## 本地文件系统空间分配相关特性 局部性 尽量分配连续的磁盘空间,存储文件的数据。这一特性主要是针对HDD进行的优化,降低磁盘寻道时间。 延迟分配/Allocate-on-flush 在sync/flush之前,尽可能多的积累更多的文件数据块才进行空间分配,一方面可以提高局部性,另一方面可以降低磁盘碎片。 Inline file/data 几百字节的小文件不单独分配磁盘空间,直接把数据存放到文件的元数据中。 针对上述的本地文件系统特性,Curve文件系统分配需要着重考虑局部性。 虽然Curve是一个分布式文件系统,但是单个文件系统的容量可能会比较大,如果在空间分配时,不考虑局部性,inode中记录的extent数量很多,导致文件系统元数据量很大。 假如文件系统大小为1PiB,空间分配粒度为1MiB,0 码力 | 11 页 | 159.17 KB | 1 年前3
Curve文件系统元数据管理Curve文件系统元数据管理(已实现) Inode 1、设计一个分布式文件系统需要考虑的点: • 2、其他文件系统的调研总结 • 3、各内存结构体 • 4、curve文件系统的元数据内存组织 • 4.1 inode定义: • 4.2 dentry的定义: • 4.3 内存组织 5元数据分片 • 5.1 分片方式一:inode和dentry都按照parentid分片 5.1 1.1 场景分析 查找:查找/A/C。 - 创建:/A/C不在,创建/A/C - 删除文件:删除/A/C • 删除目录:删除/A - rename: rename /A/C到/B/E - symbolic link: - hardlink: 生成一个hardlink /B/E,指向文件/A/C - list: 遍历/A目录 5.1.2 好处 5.1.2 问题 • 生成一个hardlink /B/E,指向文件/A/C • 6、curve文件系统的多文件系统的设计 ## 1、 设计一个分布式文件系统需要考虑的点: 1. 文件系统的元数据是否全缓存? 2. 元数据持久化在单独的元数据服务器上?在磁盘上?在volume上? 3. inode+dentry方式?当前curve块存储的kv方式? 4. 是否有单独的元数据管理服务器? ## 2、 其他文件系统的调研总结0 码力 | 24 页 | 204.67 KB | 1 年前3
curvefs client删除文件和目录功能设计curvefs client 删除文件和目录功能设计 背景 相关调研 moosefs chubaofs 方案设计思考 1. Trash机制是实现1个(类似chubaofs),还是2个(类似moosefs)? 2. Trash 放在哪里? 3. 是否需要做 session 机制(在 metaserver 打开),来维护 inode 的打开情况? • 方案设计 • Trash机制: ret; ## 存在两个问题: 一是删除时nlink字段未考虑: 文件的nlink用于实现hard link。hard link使用nlink字段表示文件的link的引用计数,第一次创建文件是nlink字段为1。每创建一个新的指向该文件的hard link时,nlink字段+1,每删除一个hard link或指向的原文件时,nlink字段-1。 当nlink字段减到0时,才真正删除inode 目录的nlink字段与文件的nlink字段不同,目录的nlink字段初始值为2,并且在目录下,每创建一个新目录,nlink字段也会+1,删除目录nlink相应的减1。 目录不支持硬链接。 ## 二 是删除时lookup count未考虑: lookup count 指的是文件的访问计数。当文件/目录被打开时,即使文件/目录已经被另一个进程删除了(nlink=0),该文件/目录仍然可以被打开的0 码力 | 15 页 | 325.42 KB | 1 年前3
Curve文件系统元数据Proto(接口定义)curve文件系统元数据proto(代码接口定义,已实现) ## 1、 代码结构和代码目录 curve文件系统是相对于curve块设备比较独立的一块,在当前curve项目的目录下,增加一个一级目录curvefs,curvefs下有自己独立的proto\src\test。  ## 2、 文件系统proto定义 #### 2.1 mds.proto mds.proto /* * Copyright (c) 2020 NetEase Inc. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use0 码力 | 15 页 | 80.33 KB | 1 年前3
Curve文件系统元数据持久化方案设计元数据持久化 • 前言 • Raft Log • Raft Snapshot - 持久化文件 - key value pairs - 其他说明 实现 • 1、inode、entry 的编码 • 2、KVStore • Q&A • 单靠 redis 的 AOF 机制能否保证数据不丢失? • redis 的高可用、高可扩方案? • redis + muliraft 根据之前讨论的结果,元数据节点的架构如下图所示,这里涉及到两部分需要持久化/编码的内容: • Raft Log: 记录 operator log • Raft Snapshot:将内存中的数据结构以特定格式 dump 到文件进行持久化 copyset-2 copyset-1 ,用于标识该文件为 curvefs 元数据持久化文件| |version|4|文件版本号(当文件格式变化时,可以 100% 向兼容加载旧版持久化文件)| |size|8|键值对数量| |key\_0 码力 | 12 页 | 384.47 KB | 1 年前3
2.1.1Go 在百亿级分布式文件系统的实践GO CN Go在百亿级分布式文件系统的实践 徐桑迪 Juicedata 核心系统工程师 JuiceFS 简介 01 为什么选择 Go 02 基础内存优化 03 深度内存优化 04 内存快照持久化 05 第一部分 JuiceFS 简介 ’ alt=‘OCR图片’/> JuiceFS 简介 为云环境设计的分布式文件系统 兼容POSIX、HDFS和S3协议 支持回收站、目录配额、克隆 单命名空间支持百亿级文件数 单命名空间支持百亿级文件数 高性能、高可靠、高扩展性 ’ alt=‘OCR图片’/> 第二部分 为什么选择 Go ’ alt=‘OCR图片’/> 为什么选择 Go 快速开发 多线(协)程:go 关键字,channel 特性 性能分析:go tool pprof 等 故障分析:详细的 stack trace 编译速度快 内存管理:自带GC ’ alt=‘OCR图片’/> 为什么选择 Go 性能优秀:编译型语言 s.Put(key, p) }() } ’ alt=‘OCR图片’/> 第四部分 深度内存优化 ’ alt=‘OCR图片’/> 深度内存优化 文件系统元数据服务进程: 占用近百 GiB 内存 缓存尽可能多的文件(十亿级) 高速处理元数据请求(百微秒) ’ alt=‘OCR图片’/> 深度内存优化 自主管理小对象的分配 GC 全局能看到的指针要少 GC递归扫描的深度要小0 码力 | 26 页 | 894.68 KB | 1 月前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100
相关搜索词
Greenplum备份恢复gpcrondumpgp_dump并行备份恢复非并行备份恢复零拷贝psutilsendfile上下文切换性能优化SQLite损坏恢复微信数据备份恢复率多区域多主数据库InnoDB ClusterClusterSetReplicaSetRPORTOCurve文件系统空间分配局部性延迟分配文件系统设计元数据管理元数据持久化inodedentry分片策略Trash机制nlink字段lookup countSession机制元数据Protorpc接口文件系统proto定义Raft一致性算法MultiRaft键值对Redis分布式文件系统GoJuiceFS内存优化内存快照持久化













