本章节介绍了云原生关系型数据库PolarDB的产品功能动态和对应的文档。
2022年05月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
新增列存索引特性 | 列存索引(In-Memory Column Index,简称IMCI)面向OLAP场景大数据量复杂查询。通过列存索引,PolarDB MySQL引擎实现了一体化的实时事务处理和实时数据分析的能力,成为一站式HTAP数据库产品解决方案。通过一套数据库系统,即可满足业务的OLTP及OLAP需求。
说明 使用过程中如果遇到问题,建议提交工单获取全面的技术支持。
|
2022-05-27 | 列存索引 |
2022年04月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
主节点和只读节点可单独变配规格 | PolarDB集群支持对主节点和只读节点分别升降配,即只读节点的规格可以与主节点规格不一致。 | 2022-04-22 | |
新增高性能参数模板功能 | PolarDB MySQL引擎8.0版本自8.0.1.1.21起支持高性能参数模板。您可以将高性能参数模板应用于目标集群,或者基于该模板进一步配置集群参数。在通常情况下,高性能参数模板能够提升数据库的性能。 | 2022-04-21 | 高性能参数模板(8.0) |
新增热备切换功能 | 集群中的只读节点开启热备功能后,可以实现主备切换过程中的快速切换和连接保持。 | 2022-04-13 | 热备切换 |
2022年03月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
本地资源自动变配(秒级扩核) | PolarDB MySQL集群版通用规格支持在DAS控制台设置本地资源自动变配策略,当观测窗口内数据库实例的CPU平均使用率达到设定的阈值时,会在原规格的基础上,将数据库实例的CPU核数按照设定值进行扩容。 | 2022-03-23 | 本地资源自动变配(秒级扩核) |
数据库代理规格支持升级 | 数据库代理企业版规格的升级方案如下:
|
2022-03-10 | 升级数据库代理的规格 |
节点参数支持配置 | PolarDB集群提供节点参数可配置功能,用户可以根据实际需求对任意节点参数进行配置。 | 2022-03-03 | 设置集群参数和节点参数 |
2022年02月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
集群版通用规格支持32核128 GB规格 | 集群版通用规格支持32核128 GB规格。 | 2022-02-18 | 计算节点规格 |
新增产品系列:多主架构集群版 | 多主架构集群版实现从一写多读架构到多写多读架构的升级,主要面向多租户、游戏、电商等高并发读写的应用场景。它支持不同数据库在不同计算节点并发写入,并且支持数据库跨节点动态调度,秒级完成切换,极大提升集群整体并发读写能力。
说明 目前该产品系列还处于灰度发布阶段,如需使用请提交工单申请开通。
|
2022-02-11 | 多主架构集群版 |
2021年12月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
数据库代理升级为数据库代理企业版 |
数据库代理企业版提供两种版本:企业通用版和企业独享版。
相对于数据库代理历史版本(免费版),数据库代理企业版将支持多主架构、计算节点秒级弹性扩展、Proxy限流保护等更多高级功能。
说明 数据库代理企业版暂定于2022年4月1日起付费使用,当前您可以免费使用。
|
2021-12-09 | 数据库代理企业版概述 |
新增产品系列:历史库集群版 |
历史库集群版在历史库单节点版的基础上,基于共享存储实现了一写多读,集群中有一个主节点(可读可写)和至少一个只读节点。历史库集群版多节点架构不仅继承了历史库单节点版的优势,还可用于保障集群的高可用,当系统发生故障时,可读写的主节点和只读节点之间会自动进行故障切换(Failover),保证了服务可用性不低于99.99%。 存量的历史库单节点版可升级至历史库集群版。 |
2021-12-01 | 历史库 |
2021年11月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
新增闪回查询功能 | 通过闪回查询(Flashback Query)功能,您可以高效查询实例、数据库、数据表在过去某个时间点的信息。 | 2021-11-11 | 闪回查询 |
包年包月的集群支持自动变配 | 包年包月的PolarDB MySQL引擎集群支持自动扩容和自动回缩。 | 2021-11-05 | 集群规格自动变配(自动扩容) |
2021年10月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
参数模板中新增多个Thread Pool控制参数 | PolarDB MySQL引擎8.0版本自8.0.1.1.9起新增bypass_thread_pool_ips、bypass_thread_pool_check_ignore_proxy等多个Thread Pool控制参数。 | 2021-10-25 | Thread Pool |
2021年08月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
新增polar_replica_work_on_nonblock_mdl_mode参数 | PolarDB支持polar_replica_work_on_nonblock_mdl_mode参数,开启该参数后,可以防止PolarDB只读节点上的长事务阻塞主节点上的DDL操作。 | 2021-08-26 | 防止只读节点上长事务阻塞DDL操作 |
新增计划内事件功能 | PolarDB计划内的运维事件(例如数据库软件升级、硬件维护与升级)除了会通过短信、语音、邮件或站内信通知您,还会在控制台上进行通知。您可以在计划内事件中,查看具体的事件类型、任务ID、集群名称、切换时间等,也可以手动修改切换时间。 | 2021-08-06 | 查看并管理计划内事件 |
2021年07月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
GDN网络中的集群规格变更 | GDN网络中的集群不再支持2C规格。 | 2021-07-02 | 计算节点规格 |
MySQL 5.7新增库表恢复功能 | PolarDB MySQL引擎5.7版本自5.7.1.0.8起支持按备份集和时间点两种库表恢复方式。 | 2021-07-02 | 库表恢复方式1:从备份集恢复和库表恢复方式2:恢复到过去时间点 |
2021年06月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
TDE加密支持新建表自动加密 | PolarDB MySQL引擎8.0版本自8.0.1.1.15起支持所有新建的表将自动加密。 | 2021-06-15 | 高级选项 |
2021年05月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
SSL配置支持SSL证书自动轮转 | 开启证书自动轮转后,在证书即将过期的10天内,PolarDB会在集群的可维护时间窗口内自动更新证书。 | 2021-05-28 | 开启证书自动轮换 |
2021年03月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
新增参数模板功能,方便批量化管理数据库集群。 | 参数模板可以批量管理数据库集群的参数,您可以使用参数模板功能,快速应用模板到PolarDB集群上。 | 2021-03-09 | 使用参数模板 |
新增增强备份功能,提升数据恢复速度。 | PolarDB支持增强备份功能,能够对最近24小时的备份进行增强保护,您可以根据业务选择开启每2、3或4小时进行一次增强备份。 | 2021-03-09 | 增强备份 |
计算节点支持通用规格 | PolarDB MySQL引擎的集群版支持通用规格,能够使同一服务器上的不同集群,互相充分利用彼此空闲的计算资源(如CPU)。通过复用计算资源享受规模红利,性价比更高。 | 2021-03-02 | 计算节点规格 |
2021年02月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
MySQL 5.7新增支持秒级加字段和Statement Queue机制 | PolarDB MySQL引擎5.7版本自5.7.1.0.6版本起,支持秒级加字段和Statement Queue机制。您可以通过秒级加字段功能快速完成对大表的加列操作,或通过Statement Queue机制减少冲突开销、提高数据库性能。 | 2021-02-09 | 秒级加字段 |
提升数据恢复速度 | PolarDB集群备份和恢复功能均采用多线程并行处理,并通过其它技术创新,10分钟内即可完成从备份集(快照)恢复到一个新的集群。 | 2021-02-09 | 备份和恢复数据 |
2021年01月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
历史库正式上线商用 | PolarDB历史库使用了高数据压缩率的X-Engine引擎,最高可节省70%存储成本,非常适合对计算诉求不高但需要存储一些归档类数据(如钉钉消息等数据)的业务。PolarDB历史库高度兼容MySQL,最大支持200 TB存储容量。 | 2021-01-13 | 历史库 |
支持定时升配或增加节点的功能 | 在升级集群配置或增加节点的时候,您可以选择在未来24小时内的业务低谷期进行升级,减少升级闪断对业务的影响。 | 2021-01-12 | 手动变配 |
2020年12月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
提高部分规格节点的存储容量上限 | PolarDB MySQL引擎8核32 GB的存储上限提升至20 TB,16核128 GB、32核256 GB和64核512 GB规格的存储上限提升至100 TB。 | 2020-12-24 | 计算节点规格 |
PolarDB控制台支持展示任务进度条 | 您可以在PolarDB控制台右上角单击![]() |
2020-12-03 | 无 |
MySQL 5.6支持库表恢复功能 | PolarDB MySQL引擎5.6版本支持库表恢复功能。 | 2020-12-01 | |
5.6支持透明数据加密(TDE) | PolarDB MySQL引擎5.6版本支持透明数据加密(TDE)功能。 | 2020-12-01 | 设置透明数据加密TDE |
2020年11月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
存储包新增支持抵扣一级备份费用 | 除支持抵扣PolarDB集群中存储空间用量,存储包现新增支持抵扣一级备份中超过免费额度的空间用量。 | 2020-11-27 | 存储包规则 |
2020年10月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
MySQL 8.0.2开启公测 | PolarDB MySQL引擎8.0.2版本开启公测。 | 2020-10-26 |
2020年9月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
新增节点规格64核512 GB | PolarDB支持新规格64核512 GB。 | 2020-09-25 | 计算节点规格 |
计算资源包 | PolarDB MySQL引擎 支持计算包,推荐您将计算包配合DAS提供的自动扩、缩容服务一起使用,轻松应对业务量波动。 | 2020-09-25 | |
单节点普惠版集群系列 | PolarDB MySQL引擎新推出超高性价比的单节点普惠版集群系列。 | 2020-09-25 | 概述 |
2020年8月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
澳大利亚(悉尼)和华北1(青岛)开服 | PolarDB MySQL引擎在澳大利亚(悉尼)和华北1(青岛)正式开服。 | 2020-08-21 | |
MySQL 5.7正式上线商业 | PolarDB MySQL引擎5.7版本正式商业化,原公测期间使用PolarDB MySQL引擎5.7版本的用户可购买用于生产环境。 | 2020-08-21 | |
英国(伦敦)开服 | PolarDB MySQL引擎在英国(伦敦)正式开服。 | 2020-08-15 |
2020年7月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
新建集群时支持区分表名大小写、设置时区和删除集群时的数据保护策略 | 您可以创建PolarDB MySQL引擎集群时自定义是否区分表名大小写,以及设置集群所在时区和删除集群时的数据保护策略。 | 2020-07-29 | |
变配页支持一次增加多个只读节点 | 您可以在变更配置时为PolarDB MySQL引擎集群同时增加多个只读节点,只需5分钟左右时间即可完成多个节点的同时添加。 | 2020-07-28 | 增加或删除节点 |
MySQL 5.7开启公测 | PolarDB MySQL引擎5.7版本开启公测。 | 2020-07-28 | |
全球数据库支持全局读写分离 | PolarDB MySQL引擎全球数据库网络中的所有集群地址均可读可写,读请求将被直接发送到本地从集群,而写请求则自动转发到中心地域的主集群。 | 2020-07-01 | 创建与删除全球数据库网络 |
2020年6月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
带地址切换 | 您可以将原RDS MySQL实例升级为PolarDB MySQL引擎,并且保留原来的RDS地址,无需修改应用配置和代码。 | 2020-06-10 | 一键升级RDS MySQL至PolarDB MySQL引擎 |
服务协议等级 | 云原生关系型数据库PolarDB通过技术升级可用性得到了大幅提升,SLA承诺从99.95%提升至99.99%。 | 2020-06-02 | 服务等级协议 |
2020年5月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
备份功能升级 | PolarDB备份功能开放更多高级配置和能力,满足企业级数据备份的需求,进一步保障数据安全。 | 2020-05-12 | 备份与恢复数据 |
备份商业化 | PolarDB将开始收取备份文件和日志文件的存储空间费用,同时会赠送一定额度的免费空间。 | 2020-05-12 | 备份和恢复费用说明 |
2020年4月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
日本(东京)开服 | PolarDB MySQL引擎在日本(东京)正式开服。 | 2020-04-30 | |
西南1(成都)开服 | PolarDB MySQL引擎在西南1(成都)正式开服。 | 2020-04-13 |
2020年3月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
美国东部(弗吉尼亚)开服 | PolarDB MySQL引擎5.6和8.0版本在美国东部(弗吉尼亚)正式开服。 | 2020-03-09 | |
全局一致性 | PolarDB MySQL引擎集群地址支持全局一致性,确保在主备复制延迟的情况下,100%可以查到最新数据。 | 2020-03-03 |
2020年2月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
SSL加密传输 | PolarDB MySQL引擎主地址支持SSL加密传输,SSL在传输层对网络连接进行加密,能提升通信数据的安全性和完整性,但会同时增加网络连接响应时间。您可以按需开启SSL加密功能。 | 2020-02-11 | 设置SSL加密 |
主库不接受读 | PolarDB MySQL引擎上线主库不接受读功能,在确保一致性的前提下,将查询SQL发送到只读节点,来降低主节点的负载,确保主节点稳定。 | 2020-02-07 | 配置数据库代理 |
2020年1月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
新版报警规则 | 云监控上线新的报警规则“云数据库PolarDB MySQL引擎(新版)”,支持更多的报警指标以及更友好的通知体验。
为了更好的通知体验,建议您使用新版报警规则。 |
2020-01-09 | 创建报警规则 |
2019年11月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
诊断与优化功能增加新地域支持 | PolarDB MySQL引擎诊断与优化功能新增美国(硅谷)、德国(法兰克福)地域支持。
诊断与优化功能主要包括:
|
2019-11-19 | |
马来西亚(吉隆坡)开服 | PolarDB MySQL引擎5.6和8.0版本在马来西亚(吉隆坡)正式开服。 | 2019-11-14 | |
支持迁移可用区 | PolarDB MySQL引擎支持更换主可用区,您可以通过该功能将数据库集群计算节点迁移到其他可用区,适用于灾难恢复或者让ECS就近访问的场景。 | 2019-11-13 | 多可用区部署 |
2019年10月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
性能监控API |
|
2019-10-21 | |
存储包在新零售云(聚石塔)上线 | 存储包支持从100 GB到100 TB,共9个规格,容量不够可以随时升级。
|
2019-10-16 | 购买存储包 |
支持设置节点故障切换的优先级 | PolarDB支持设置节点的故障切换优先级。每个节点的默认优先级为1,您可以修改为1-15的任意数值,修改优先级不影响数据库正常使用,实时生效。 | 2019-10-14 | 无 |
故障切换(主备切换) | PolarDB新增计划内的故障切换(主备切换)功能,您可以根据需要把主节点切换到指定的只读节点上。 | 2019-10-14 | 自动/手动主备切换 |
2019年9月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
PolarDB MySQL引擎 8.0 正式上线商用 | 原生支持并行查询,特定场景下性能提升十倍。另外,还支持不锁表快速添加字段,大大降低添加字段对业务稳定性的影响,同时增强了NoSQL的部分功能,可以方便地使用JSON数据类型,在SQL方面增加了窗口函数等高级特性。 | 2019-09-12 | 并行查询(Parallel Query) |
2019年8月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
性能洞察 | PolarDB推出性能洞察功能,以简单直观的方式帮助您迅速评估数据库负载,找到性能问题的源头,提升数据库的稳定性。 | 2019-08-27 | 性能洞察 |
2019年7月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
PolarDB API |
|
2019-07-31 | |
存储资源包 | PolarDB推出了预付费形式的存储包。支持从100 GB到100 TB,共9个规格,容量不够可以随时升级。相比按量付费,包年包月的存储包有折扣,购买的容量越大,折扣力度就越大。 | 2019-07-30 | 购买存储包 |
数据库管理 | 表名长度限制与开源MySQL保持一致。
|
2019-07-12 | 使用限制 |
并行查询 | PolarDB MySQL引擎8.0版本重磅推出并行查询(Parallel Query)框架,当您的查询数据量到达一定阈值,就会自动启动并行查询框架。并行查询利用多核CPU的并行处理能力,大幅提高查询效率。 | 2019-07-01 | 并行查询(Parallel Query) |
2019年6月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
批量购买 | PolarDB批量购买功能发布,创建集群时支持选择集群数量,批量创建多个集群,最多可一次性购买50个集群。 | 2019-06-20 | |
多可用区部署 | PolarDB支持多可用区部署,满足机房级容灾要求。PolarDB是计算和存储分离架构,在购买时可以选择计算节点所在可用区(主可用区),底层数据会自动分布在多个可用区内。同时,PolarDB会在备可用区内预留足够的计算资源用于主可用区故障时进行容灾切换。您可以在控制台上集群的详情页看到数据分布的可用区。 | 2019-06-17 | 多可用区部署 |
一键升级RDS For MySQL到PolarDB | 在创建PolarDB集群时,除了创建全新的PolarDB集群,阿里云还提供如下两种方式:
|
2019-06-12 |
2019年5月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
跨数据库查询 | 支持PolarDB MySQL引擎与其它数据库之间进行跨数据库查询。 | 2019-05-30 | 跨数据库查询 |
PolarDB API |
|
2019-05-10 | |
自定义集群地址 | PolarDB MySQL引擎推出自定义集群地址,可以指定哪些节点提供服务,同时还可以创建多个集群地址,分别调度到不同的节点,以达到资源隔离或独占的效果。 | 2019-05-06 | 配置数据库代理 |
2019年4月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
新增IOPS等8项性能监控指标 | PolarDB新增对IOPS、I/O吞吐量、Redo日志大小、Binlog日志大小的监控指标,便于排查性能和空间问题。 | 2019-04-11 | 查看性能监控指标 |
2019年3月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
标签管理 | PolarDB支持用户对PolarDB资源进行标签化管理,支持对PolarDB资源添加标签和删除标签。该功能目前仅支持OpenAPI、SDK。 | 2019-03-12 | TagResources |
2019年1月
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
支持开启Binlog | PolarDB支持开启二进制日志Binlog,可以更加方便地与MySQL生态融合。通过修改集群参数(loose_polar_log_bin = ON_WITH_GTID )的方式来手动开启,同时Binlog的保留时长受参数loose_expire_logs_hours控制。一般情况下,开启后会有大概30%~40%的写性能损耗,查询性能不受影响。
|
2019-01-15 | 开启Binlog |
2018年
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
OpenAPI支持 | 开放OpenAPI,创建集群、删除集群、管理连接地址、管理账号和数据库、管理参数等功能可以通过API操作。您也可以使用阿里云命令行工具CLI或 Web端命令行工具CloudShell来管理您的PolarDB集群。 | 2018-12-28 | API概览 |
SQL洞察 | 通过采集、分析数据库原始SQL日志,帮您洞察潜在的安全和性能风险。
|
2018-12-21 | SQL洞察 |
默认提供集群地址并支持会话读一致性 | PolarDB集群默认提供一个集群地址,通过连接该地址,即可连接到所有节点。带有读写分离功能,写请求会自动发往主节点,读请求会自动根据各节点的负载发往主节点或只读节点。同时为了确保延迟情况下数据查询一致性,PolarDB提供了会话读一致性保障。 | 2018-12-20 | |
监控报警 | 云原生关系型数据库PolarDB与云监控打通,支持监控报警等功能。您可以在云监控配置对PolarDB数据库的CPU、内存、连接数、网络带宽等指标进行监控并设置报警。 | 2018-10-26 | 查看性能监控指标 |
账号和数据库管理 | 支持在控制台创建、删除数据库;支持创建、删除账号;支持管理账号权限、重置账号等操作。 | 2018-10-19 | |
自定义时间点恢复数据 | 通过创建一个新集群的方式,支持用户自定义时间点来恢复数据。 | 2018-08-13 | 库表恢复方式2:恢复到过去时间点 |
Snapshot备份和恢复 | 支持系统自动创建和用户手动创建Snapshot备份,并通过Snapshot备份创建新集群用于恢复数据。
|
2018-08-13 | 备份与恢复数据 |
手动重启节点 | 支持PolarDB集群主节点、只读节点等的手动重启操作。 | 2018-07-31 | 重启节点 |
全量迁移 | PolarDB接入DTS,支持从RDS(MySQL)全量迁移到PolarDB。 | 2018-07-13 | 从RDS MySQL迁移至PolarDB MySQL |
读写分离 | PolarDB支持通过读写分离数据库连接地址,访问PolarDB集群的能力。提供读写请求自动路由,以及并发请求的自适应负载均衡的能力。 | 2018-07-07 | 概述 |
按量计费售卖模式 | PolarDB增加全规格按量计费售卖,包括新购、升级、降级、增加只读节点、减少只读节点以及按量转包年包月功能。 | 2018-06-25 | 购买方式2:按量付费 |
在线规格变配 | PolarDB增加计算规格在线升级能力。 | 2018-05-25 | |
在线增减只读节点 | PolarDB支持在线增加只读节点或者减少只读节点。 | 2018-05-25 | 增加或删除节点 |
PolarDB全规格放开售卖 | 云原生关系型数据库PolarDB支持更多产品规格售卖,在已有16核128 GB和32核220 GB的基础上,增加支持更多规格售卖,如:2核4 GB、2核16 GB、4核32 GB和8核64 GB。 | 2018-05-24 | 计算节点规格 |
PolarDB商用上线 | 云原生关系型数据库PolarDB是阿里云自研的能满足高吞吐在线事务处理的关系型云数据库。既融合了商业数据库稳定可靠、高性能、可扩展的特征,又具有开源数据库简洁开放的优势。
|
2018-03-27 | 什么是PolarDB |
2017年
功能名称 | 功能描述 | 发布时间 | 相关文档 |
---|---|---|---|
PolarDB(公测)发布 | PolarDB是与MySQL100%兼容的,提供高性能在线事务处理能力的全托管数据库。它融合了商业数据库稳定可靠、高可用、可扩展的优势,又具有开源数据库简洁开放、成本低廉的特征。
|
2017-09-26 | 什么是PolarDB |