电子商务网站建设维护实训报告,feed wordpress,企业做网站需要准备什么资料,网站备案流程详解亚信科技专注通信行业多年#xff0c;AntDB数据库从诞生开始#xff0c;就面对通信级的大数据量应用场景挑战#xff0c;在性能、稳定性、规模化等方面获得了超过10年的通信核心业务系统验证#xff0c;性能峰值达到每秒百万的通信核心交易量。AntDB-M#xff08;AntDB内存…亚信科技专注通信行业多年AntDB数据库从诞生开始就面对通信级的大数据量应用场景挑战在性能、稳定性、规模化等方面获得了超过10年的通信核心业务系统验证性能峰值达到每秒百万的通信核心交易量。AntDB-MAntDB内存引擎具有如此卓越的性能与其优良的内存结构设计密不可分。因此本文主要阐述AntDB-M的内存结构设计。 1
概 述 AntDB-M是一款全内存态运行OLTP数据库其数据的管理以表为单位通过表空间进行管理。存储分为两种形态1内存态2文件态。文件态为内存态的序列化后导出文件后文表空间均指内存态。 2
表空间 表空间代表的是表的数据存放的内存空间。每个表都有自己独立的一个表空间。表空间在表创建时创建或者在服务启动加载表时创建。表空间的结构为一个三层结构内容分为两部分1)表空间元数据2表空间数据块 三层结构表空间的内存结构是一个三层结构1一级地址2二级地址3数据块 通过该结构每个表空间可以存放的记录条数可以达到20万亿条之多。 记录条数 一级地址 * 二级地址 * 数据块记录数 32K * 32K * 2K 20万亿条 图1表空间三级结构 表空间元数据表空间元数据描述了当前空间的大小信息以及表数据记录在数据块的两级地址信息。它一般被用于表空间数据的管理以及对表数据的高效访问。表空间的三层结构中前两层都属于元数据结构比较简单存放的是下一层的地址信息。 表空间数据块表空间数据块是用来存放表数据的地方。数据块的实现结构为一个双向链表。每个数据块分为两部分1元数据2数据空间 1元数据 元数据为当前数据块的管理信息主要包括当前数据块大小、可分配数据记录数、分配的记录对象ID范围等信息。需要注意的是数据块的大小、可分配数据记录数不是固定的。这是在创建表时基于表记录实际大小以及一些额外数据计算而来。 2数据空间 数据空间为存放表数据实际分配的地址空间每个数据空间为一个连续地址空间。数据空间根据行大小分为9档依次为 256K,512K,1M,2M,4M,8M,16M,32M,64M。 按照每个数据空间可以保存2K~4K记录来分配。当记录长度小于128B时记录数可能可能超过4K。 数据空间大小 块元数据大小 数据块可容纳记录条数 * 表记录行大小(带扩展信息) 图2行记录格式 记录编号每条记录都有自己的一个唯一编号该编号由数据插入时分配。 数据的插入不是简单的追加而是找到一个数据空间中的空闲位置插入。数据的查询、修改、删除也是根据记录编号来快速定位数据。每个空闲位置编号唯一。 每个数据块都都会记录当前的空闲位置这些空闲位置不需要额外的空间进行记录在数据块内的数据空间被分配给特定记录前这些原本用于存放记录的空间被用来记录空闲记录位置信息。这些空闲位置信息为一个简单的双向链表将所有空闲位置串联起来。这样表空间的每行记录都有一个唯一编号通过该编号可以快速定位所在的数据块、以及块内地址。 图3数据块结构图 记录编号与记录地址关系记录编号通过简单计算即可得到记录实际存放地址。 图4记录编号与记录地址关系 数据块的创建数据块在插入数据、更新数据记录redo记录、服务启动加载数据到内存时按需创建。数据变更需要创建数据块时每次只会申请一个数据块数据加载时会根据当前需要的数据块个数批量申请创建每次创建一个。 数据块的释放一个表空间被创建后只有在表被drop、truncate时表空间包括元数据及数据块才会被释放。rename表时仅修改表相关元数据表空间保持不变。 3
内存管理 表空间的内存管理分为两类1数据块2非数据块。 不同类型内存管理可以根据内存大小提供更高效的管理方式。 内存分配分为两种1内存2内存映射
-内存即直接从RAM中分配内存。
-内存映射即通过pmap方式映射到文件只用于超大表建表时设置了超大表选项的数据块其他都使用 “内存”方式。 “内存”方式的分配也分为两种策略1RAM2PMEM 其中“PMEM”策略仅适用于安装了Intel傲腾持久内存设备的硬件环境。在建表选择表空间的分配时默认为“RAM”策略。 4
溢出列 数据空间中的记录都为定长记录对于变长类型列数据不在记录内存放。记录内仅记录数据长度、数据实际位置。 对于溢出列数据有单独的内存空间存放管理这里不展开说明。 5
索 引 表的索引分为hash索引、btree索引。两种索引都有各自独立的内存空间。这里不展开说明。 6
总 结 AntDB-M通过简洁、高效的内存结构设计为整体的高性能打下了坚实的基础。以少量的内存、支撑了更多的数据记录。让用户可以用更少的成本来支撑更多的业务。 关于AntDB数据库
AntDB数据库始于2008年在运营商的核心系统上为全国24个省份的10亿多用户提供在线服务具备高性能、弹性扩展、高可靠等产品特性峰值每秒可处理百万笔通信核心交易保障系统持续稳定运行近十年并在通信、金融、交通、能源、物联网等行业成功商用落地。