The Construction and Practice of Apache Pegasus in Offline and Online Scenari...acelyc1112009
A presentation in Apache Pegasus meetup in 2022 from Wei Wang.
Apache Pegasus is a horizontally scalable, strongly consistent and high-performance key-value store.
Know more about Pegasus https://pegasus.apache.org, https://github.com/apache/incubator-pegasus
MySQL 5.6 GA版本已经发布了,其中包含了大量的新特性,了解这些新特性,不仅对数据库内核研发有帮助,对于更好的使用MySQL数据库也有着极大的意义。本分享将深入剖析MySQL 5.6新特性的实现细节,一共分为两期:分别是InnoDB引擎以及MySQL Server。本次为第一期,分享 MySQL 5.6 InnoDB引擎中的性能优化与功能增强。
此簡報為 Will 保哥 於 2015/6/25 (四) 接受 SQL PASS Taiwan 邀請演講的內容。
現場錄影: http://www.microsoftvirtualacademy.com/training-courses/sql-server-realase-management?mtag=MVP4015686
[ Will 保哥的部落格 - The Will Will Web ]
http://blog.miniasp.com
[ Will 保哥的技術交流中心 ] (Facebook 粉絲專頁)
https://www.facebook.com/will.fans
[ Will 保哥的噗浪 ]
http://www.plurk.com/willh/invite
[ Will 保哥的推特 ]
https://twitter.com/Will_Huang
[ Will 保哥的 G+ 頁面 ]
http://gplus.to/willh
4. 简介
基于O S 研发• 基于OpenStack研发
• 为用户提供IaaS、PaaS层次的云服务解决方案,可构建
公有云和私有云服务公有云和私有云服务
• 提供虚拟化管理、项目管理、系统资源管理、资源状态监
控 告警管理 计费管理 用户管理等功能控、告警管理、计费管理、用户管理等功能
K li Cl dKylinCloud
Based on OpenStack
21. CacheTiering介绍g
• Cache tiering是为了提高Ceph性能而引入的一个优化• Cache tiering是为了提高Ceph性能而引入的一个优化
– 使用两个pool来管理数据对象:cache pool和base pool
– cache pool通常使用访问速度较快的设备,如ssd,用于缓存热数据
– base pool使用访问速度一般的设备,用于存储冷数据
– 对象的操作一般先通过cache pool,并缓存在cache中
– 当满足一定条件时 cache pool的对象再回刷至底层base pool中– 当满足 定条件时,cache pool的对象再回刷至底层base pool中
• 目前支持以下模式:
– Writeback
Ceph Client
F t I/OTi i i
– Forward
– Readonly
– Readforward
Cache pool
Active data in cache pool
Faster I/OTiering is
transparent to
ceph client ops
– Readforward
– Readproxy
Objecter
base pool
p
Inactive data in base pool
base pool
Slower I/O
22. CacheTiering优化g
T t b d h t• Temperature based cache management
• IO hint for cache managementg
• Write back throttling
M d l j l d• Metadata-only journal mode
33. 算法设计
针对冷数据 设置TIER NOCAHCE标志• 针对冷数据,设置TIER_NOCAHCE标志
• write流程:将冷数据对象写入到base pool, 不经过cache
pool
• read流程: 直接从base pool读取冷数据,不需要将冷数
据promote到cache pool
cache pool
Tier_nocache
base poolbase pool
36. 算法设计
设定cache target dirty high ratio(默认0 6)为• 设定cache_target_dirty_high_ratio(默认0.6)为
高速回刷的阈值
设定 h t t di t ti (默认0 4)为低速• 设定cache_target_dirty_ratio(默认0.4)为低速
回刷的阈值
脏数据比例 0 4 空闲模式 不回刷数据• 脏数据比例<0.4,空闲模式,不回刷数据
• 0.4<脏数据比例<0.6,低速回刷
• 脏数据比例>0.6,高速回刷
43. 算法设计OPs
transaction
OSD
do_osd_ops()
transaction
y z
filestore对数据操作进行分类
1) unstable ->journalxfilestore分三步
y z
) j
2)data->object
3)metadata,stable->journal
x
y
z
分 步
依次完成数据y、
z的写入
3)metadata,stable journalz
如果三个步骤依次顺序完成,数据写入成功,处于
t bl 状态stable状态
如果x写入失败,则对象没有被修改,处于stable状态
如果x写入成功,y或z写入失败,则对象数据可能被如果 成功 y或 失败 则对象数据 能被
修改,处于unstable状态