登录 / 注册
IT168技术开发频道
IT168首页 > 技术开发 > 技术开发评论 > 正文

IBM DB2 11.1与Oracle Database 12c对比

2018-05-04 09:12    IBM 来源:IBM  作者: IBM 编辑: 赵钰莹

  【IT168 评论】市场形势 对于希望根据 IT 基础架构需求做出关键选择的企业来说,面临的选择从未如此 丰富。通过运用内部、云端和混合备选方案交付 IT 资源,企业能够根据自身需 求和现有资产量身定制解决方案。无论 IT 领域多样化程度如何,作为企业级规 划、运营和报告的关键驱动力,企业数据库平台仍然是主要的考虑因素。选定 的数据库平台将影响企业范围内的业务流程,选择一个安全可靠的平台,能够 轻松兼容不同以往的创新技术,将有助于最大限度降低拥有成本。

  联机事务处理 (OLTP) 解决方案仍在不断演变,力求满足日益增长的企业需求。企业资源规划 (ERP)、电子商务以及一系列其他系统的全新部署工作和旧系统更换工作正在有条不紊地开展。为支 持网络和移动事务,同时还将部署大量应用,并且保持高性能和高可用性。尽管技术创新步伐飞快, 但全球多家企业报告称,这充其量不过是 IT 预算的渐进式增长,企业仍在严格实施成本控制。着力 提高基础系统效率和性能的公司应当采用经济有效、灵活多变且可扩展的数据库平台,进而更高效地 满足未来日益增长的工作负载需求。

  本文从交付有效的安全功能、高性能的 OLTP 容量和吞吐量、高效的系统配置和管理自动化角度, 介绍 IBM DB2 11.1 for Linux, UNIX, and Windows (DB2 11.1 LUW) 和 Oracle Database 12 c 这 两款领先的企业数据库竞争产品的成本/效益情况。

  主要着眼于电信、医疗保健和个人银行业务领域比较数据库安装情况。对于这些环境中的 OLTP 工 作负载,使用 DB2 11.1 的三年成本平均要比 Oracle 12 c 低 33%。(图 1)

  对于 Oracle 12 c 来说,相当于全职 (FTE) 的数据库管理员 (DBA) 数量庞大,相应的人力成本也非常 之高。在相同的安装情况下,使用 DB2 Advanced Enterprise Server Edition (AESE) 的三年人力 成本平均要比使用 Oracle Database 12 c 的三年人力成本低 49%。

  形成复合型公司概况时做出的一些假设,都立足于采用了 DB2 和/或 Oracle 数据库,或者已完成两 者间迁移的全球企业所提供的信息。另外,本文还对 DB2 11.1 LUW 和 Oracle Database 12 c 的 详细功能进行了比较,着重强调了技术与成本的关系。

  企业应密切关注数据库投资的理由有很多,且不少理由都令人心服口服。不管是挖掘和培养新兴和/ 或现有客户销售机会,核实客户满意度,还是查明运营低效问题,数据库都在很大程度上决定了企 业充分利用信息赢得业务优势的有效程度。数据库平台对企业同比 IT 成本轨迹产生的影响,远比人 们普遍所认为的要大得多。高度可用的数据库在确保业务连续性方面仍一如既往地重要,数据库的 普及也使得有效配置和高效管理成为提升企业生产力的关键所在。

  OLTP 技术区分因素 IBM DB2 11.1 LUW 和 Oracle Database 12 c 相互竞争,是两大最知名的企业数据库平台。2017 年 3 月,Oracle Database 12c 用于云端和内部部署的最新版本 R12.2 正式发布,更新并扩充了 2013 年 7 月发布的功能集。IBM DB2 11.1 LUW 2016 年 6 月的发行版则包含发布前三年内开发 和/或获取的增强功能和新增功能。

IBM DB2 11.1与Oracle Database 12c对比

  对比 DB2 11.1 LUW 和 Oracle Database 12 c 时,分清特定功能的设计初衷以及这项功能的实际效 果如何非常重要。事务型工作负载的特征与分析型工作负载的特征截然不同。前者需要一次频繁读 写多行数据,而不是顺序扫描大量数据。此类数据库通常也比用于分析系统的数据库要小,I/O 涉及 更小的数据块。

  关键业务型应用需要高水平的可用性和灾难恢复能力。性能主要取决于核心数据结构的效率。低效 的代码结构可能会增加处理器、内存和磁盘开销,降低吞吐量,增加瓶颈和宕机风险,并造成其他 不希望出现的影响。

  在所有这些方面,IBM DB2 11.1 LUW 和 Oracle Database 12 c 都有着显著的不同。数据库经常变 更大小、模式、基础数据结构以及工作负载时,DB2 的自动数据库调优和管理功能显然更胜一筹。 在这种环境下,使用 Oracle Database 方法和功能通常需要手动解决方案,利用繁复的管理流程进 行配置,往往也需要额外投入大量费用。

  IBM 一直大力投资 SQL 兼容性,不断简化采用 DB2 和向 DB2 过渡的流程。从 Oracle Database 应用迁移至 DB2 11.1 LUW 的企业往往会发现,98%-99% 的代码仍保持不变,只需稍微改变一下 开发技能。针对 Oracle 过程语言/结构化查询语言 (PL/SQL) 和开源 PostgreSQL 的本机支持,以 及管理员和开发人员常用的各种代码、工具和功能,全都构建在核心数据库引擎中,而不是以软件 覆盖形式来实现。因此,企业将会体验到与 DB2 11.1 LUW 本机用户相同级别的性能。

  部署基础

  对于内部部署,DB2 通过与 pureScale 集群解决方案集成,提供卓越的可扩展性和灵活性。DB2 pureScale 旨在为企业环境中的事务处理提供极致的可扩展性和持续可用性。IBM Spectrum Scale 软件定义存储与 pureScale 集群相集成,支持企业定制和优化自己的存储基础架构。Oracle Real Application Clusters (RAC) 是数据库集群技术,旨在支持向外扩展服务器部署和高可用性集群(尽 管该技术主要部署用于后者)。

  多节点并行数据库部署(俗称“ 集群 ”)是分布式数据库配置,其中涉及的大量独立计算节点作为 一个整体协同工作。数据库集群根据其基本部署设计,一般可以分为 共享磁盘 或 无共 享 集群。共享 磁盘架构支持在多个联网计算节点上运行实例,每个计算节点对集群中的所有数据存储都具有同等 访问权。无共享设计包括在多个节点上运行数据库实例,每个节点对集群中不同的内存和存储资源 具有独占访问权。

  为了避免关键业务型系统宕机,相比于 Oracle RAC 多分区数据库环境,IBM DB2 pureScale 可为 处理大量工作负载提供更高的效率、灵活性和吞吐量,以及更快速的故障转移和恢复能力。

  因为共享磁盘设计利用基于节点的缓存和锁定机制,所以复杂的锁定管理可能会成为限制可扩展性 和吞吐量的一个重大瓶颈。缓存也可能因为每个节点都要访问大量共享数据而变得效率低下。如果 不能在处理节点间有效分配工作负载,开销可能会出现问题。

  DB2 pureScale 架构旨在优化事务工作负载的处理,它由利用自身资源独立处理请求但访问共享数 据的成员组成。DB2 pureScale 通过集群缓存设施 (CF) 支持集中式锁定和缓存功能。尽管起初基于 大型机 DB2 数据共享的 Parallel Sysplex 实施,但 DB2 pureScale 的设计是共享磁盘和无共享架 构的混合,有效地结合了二者之所长。

  DB2 11.1 LUW 中包含的 DB2 pureScale 设计增强功能显著地提升了性能和扩展能力,同时简化了 安装和部署。

  DB2 11.1 LUW pureScale 系统可以扩展到 128 个数据库服务器,同时提供持续可用性和自动负载 均衡。尽管 pureScale 允许在单个实例中使用多个数据库,针对 pureScale 集群的每个连接仍可以 访问单个共享数据库映像。自动工作负载均衡支持将处理工作重新路由至拥有更多可用资源的成 员。借助强大的存储复制命令、久经考验的 Spectrum Scale 文件系统功能、集群 CF 优势以及 PowerHA 技术,检测和自动执行 pureScale 故障恢复既简单又有效。

  DB2 Configuration Advisor 可自动设置数据库配置参数,优化数据库创建性能,减少后期通常所 需的数据库调优工作量。 运行状况监视器 工具通过截屏提供数据库运行状况信息,而不会降低性 能。 实用程序调速 可进一步监管实用程序和工具,确保不会对性能产生不利影响。

  Data Server Manager (DSM) 是集 DB2 数据库的监控、调优、配置和管理功能于一体的工具,管 理员由此能够通过一个集中式工具,使用基于浏览器的图形用户界面 (GUI) 来管理 DB2 实例。 基于 文本的低开销 dsmtop 工具支持用户监视关键性能指标。用户可以为 dsmtop 设置高刷新率,进而 实现近乎实时的监视。这两种工具均可用于简化数据库管理和监管,同时提高运营效率。

  优化和自动化

  在 IBM DB2 发展历史中,大多强调简化和自动化一直是其设计的主旋律。与 Oracle 对应功能相 比,利用核心 DB2 功能,DBA 能够在更短的时间内以更少更简单的操作来执行任务。高度自动化 水平增强了这些特性。

  多项功能中都采用了自主技术,例如用于数据库调优和性能优化的各种工具。DB2 pureScale 数据 库的查询可以自动卸载到资源具有高可用性的成员。利用 DB2 pureScale 向外扩展十分简单,无需 重新分区、应用更改或性能调优,便可添加成员,这是因为此数据库拓扑对应用透明可见。相比之 下,Oracle RAC 的共享一切架构对应用并不透明,需要 DBA 广泛测试应用来实现可扩展性。

  Spectrum Scale 是通过 DB2 pureScale 安装的高性能分布式文件系统,可处理 DB2 pureScale 系 统内的例行文件和存储管理。 自动化的表和索引维护与重组 功能通过减少数据碎片简化了存储管理和 维护操作。

  Oracle Automated Storage Management (ASM) 和 Oracle ASM Cluster File System (ACFS) 为 Oracle Database 12 c 提供类似的功能。但是,Oracle ACFS 的集成程度不如 Spectrum Scale,仅 在特定条件下支持最新发行版中的数据库文件。Oracle 的动态重新平衡策略无法优化工作负载处理 性能,因为它只关注磁盘空间均衡,而不考虑工作负载特性和 I/O 统计数据。

  特别引人注意的是,DB2 的 自调优内存 是业界领先的自调优技术。该技术可用于 DB2 pureScale 环 境中的每个成员,并且可以自动迭代调整配置参数,优化资源分配,进而提高内存性能。DB2 可自 动执行内存管理、数据库维护、安装以及其他流程,比 Oracle 对等产品的自动化范围更广。这种自 动化不但有助于提高 DBA 的工作效率,还有助于提高性能(相比手动方法,可更迅速、更高效地调 整系统参数)和可用性(可以降低性能瓶颈和人为错误所带来的风险)。

  与 Oracle RAC 相比,DB2 pureScale 产生的集群开销更低。在完成初始配置、扩展、添加新应 用、工作负载均衡、性能优化和测试等任务时,也只需 DBA 的少量干预。

  压缩

  DB2 11.1 LUW 中的存储压缩技术比 Oracle Database 12 c 中的技术更有效。因而大幅减少了对存 储硬件和软件工具、备份系统和介质的使用,节约了大量数据中心能源和租用成本。

  对于 OLTP 应用, 自适应压缩 在利用经典的表级压缩实现的压缩率上进一步提升。DB2 10.1 中引进 的这种功能整合了一系列的压缩算法,利用页面级压缩方法为表压缩提供补充。

  在 AIX 上压缩 DB2 备份和归档日志时,POWER7+ 和 POWER8 服务器上的全新内核嵌套加速器 NX842 硬件提高了性能。这种创新避免了从 CPU 资源执行此类操作,实现了比软件压缩例程更大的 硬件压缩率。

  由于这些先进的压缩和自主功能,迁移至 DB2 的用户报告称,备份时间平均缩短 43%。

  Oracle 的对等功能 Advanced Compression 基本上与 2007 年在 Oracle Database 11g R1 中实 施的一样。它利用热图来确定数据块的活动级别,并相应地压缩分层数据。当数据库结构严密,并且 没有随时间的推移发生太大变化时,Oracle Advanced Compression 往往最为有效。而对于涉及频 繁数据变更的大量事务型工作负载,Advanced Compression 则可能效果不佳。据 Oracle 自身文 档所述,“对于极高的流量或非常小的表,用户应当考虑关闭压缩……”。由于可能会产生很高的开 销,Advanced Compression 往往建议用于 CPU 可用性很高的系统。

  从 Oracle 迁移至 DB2 的用户报告称,存储需求平均降低 47%。平均来看,DB2 用户也已将压缩率 额外提高了 39%。

  加密和安全

  DB2 加密功能集成在核心处理中,适用于存储中的数据和传输中的数据。对于在客户端和数据库服 务器之间传输的数据,支持安全套接字层 (SSL) 技术,有时也称为传输层安全性 (TLS) 技术。对于静 态数据, DB2 本机加密 提供安全加密和密钥管理功能,这些功能对应用和模式透明可见,不仅可以 保护数据库,还可以保护创建的任何备份映像。这种对称加密模式还会自动检测和利用针对加密操作 的硬件加速,比如 Intel AES-NI。DB2 on AIX 可以进一步利用 AIX 加密文件系统来保护系统中的所 有文件。

  DB2 10.5 通过每个实例的本地文件密钥库机制,初次为本机加密提供了支持。自 10.5 发行版起, DB2 开始使用 FIPS(联邦信息处理标准)140-2 认证的加密库和加密算法,符合 NIST(美国国家 标准与技术研究院)SP 800-131A 的要求。

  DB2 11.1 LUW 支持集中式密钥库,能够远程集中管理所有加密密钥。例如,DB2 11.1 LUW 能够 利用 IBM Security Key Lifecycle Manager (ISKLM) 密钥库,确保主密钥管理行业标准符合密钥管 理互操作性协议 (KMIP) 1.1。此外,DB2 11.1.1.1 还可以直接支持 Gemalto(原名为 Safenet) Luna SA HSM 和 Thales nShield Connect+ 等硬件安全模块 (HSM)。

  DBA 还可以利用行和列访问控制 (RCAC) 在行和列级别上管理用户对表的访问,支持更高级别的安 全和定制功能。通过基于标签的访问控制 (LBAC),管理员可基于特定条件(例如,用户能够查看被 列为 最高机密 的信息)启用读和/或写访问权,进而能够进一步调整访问权来满足企业需求。

  DB2 内的用户身份认证可以通过操作系统、轻量级目录访问协议 (LDAP) 服务器或者使用 Kerberos 协议来管理。DB2 还可以管理授权用户对特定数据或资源执行哪些操作。这可以直接通过与特定用 户 ID 相关的数据库级别授权和特权来控制,也可以通过创建和使用数据库角色来控制,这些角色可 用于将多个数据库级别权限和对象特权结合在一起。

  Oracle Advanced Security 提供类似的功能,但是仅作为 Oracle Database Enterprise Edition 的 额外付费选项提供。Advanced Security 使用透明数据加密 (TDE),对数据库层中的静态数据进行加 密。Oracle Key Vault 支持主密钥管理,但是对于每个服务器安装都需要独立的许可。Oracle Database 也可以支持 SSL/TLS。

  随着混合服务和云外包服务领域继续扩张,漏洞和风险隐患也在不断增加。在挑选最佳数据库平台 时,安全性无疑是一个至关重要的考虑因素。Oracle Database 和 IBM DB2 都支持一系列同样令人 印象深刻的加密和认证合规标准;但据 NIST 指出,2016 年 Oracle Database 出现了 11 个漏洞警 报,而 IBM DB2 只出现两个。

  此类结果得益于 DB2 11.1 LUW 安全策略的不断改进。

  高可用性

  DB2 pureScale 的增强功能包括内置故障检测、恢复自动化以及数据共享架构。DB2 pureScale 也 可以与高可用性灾难恢复 (HADR) 相集成,这是一个广泛使用的灾难恢复解决方案,可与 Oracle 的 Data Guard 和 Active Data Guard 相提并论。两家供应商的解决方案都支持用户将中央高可用性集 群与远程站点故障转移和恢复功能结合起来。

  显而易见,DB2 11.1 pureScale 的可用性和可管理性有了重大改进。由于 DB2 pureScale 现在可以 利用地理上分散的 DB2 pureScale 集群 (GDPC) 技术在不同地理位置分发成员,因而提高了灾难恢 复保护水平。DB2 pureScale 通过支持在线滚动式维护(例如,补丁、硬件和固件更新以及操作系 统修订),减少了关键业务型工作负载的计划内宕机时间。

  对于需要最高可用性的关键业务型工作负载,DB2 pureScale 的双活复制可最大限度减少宕机时 间。如果其中一个成员出现故障,其余所有成员仍将保持活动状态,大部分数据都不会受到影响。

  万一某个 DB2 成员出现故障,恢复过程仅要求 DB2 锁定使用中的数据,而在 Oracle 恢复期间,则 需要锁定所有数据。DB2 集群服务将自动重启 DB2 pureScale 实例中任何出现故障的资源或成员。 这些成员可以在初始主机也可以在不同的主机上重启,而不会影响实例的其余部分。在恢复期间,优 先回滚正在进行的事务,以解锁并保持一致性。而 Oracle Database 则不是这样,它必须在被动备 用节点中重新实例化。

  DB2 集群服务还提供自动心跳故障检测和恢复功能。出现故障的成员会自动与集群系统隔离。在故 障成员恢复期间,数据库实例对于其他所有集群成员仍然可用,并且可供访问。一旦应用和客户端 与故障成员的连接暂时中断,就会自动重新路由至集群中的另一个成员。

  CF 通过提供在集群成员间协调缓存的共享缓冲池,还有助于快速执行故障转移和恢复。CF 包含来 自本地缓冲池的数据,可作为共享通信区域,服务器成员可以将其用作为集群范围的共享内存。除 了缓冲池管理之外,CF 还提供全局锁定功能,确保数据并发性并防止数据损坏。由于无需通过本 地缓存和锁定机制进行导航,这些集中式特性最终加快了故障转移和恢复的速度。(图 2)

  此外,Tivoli System Automation for Multiplatforms 还通过检测运行不当的系统、事务和流 程,提供自我修复功能,无需中断应用用户的操作,即可启动纠正措施。

IBM DB2 11.1与Oracle Database 12c对比

  这项功能可在集群中自动透明地移动应用,进而提高持续可用性,无需手动监控。

  相比之下,Oracle RAC 集群中有节点发生故障后,必须执行锁定重新分配流程,可能需要几分钟时 间才能完成。系统确定需要恢复的内容后,方才能解锁数据库流程。对于大型关键业务型系统,许 多事务和记录都可能会受到影响。DB2 pureScale 因其集中式锁定和缓存管理功能不受单个成员故 障的影响,缓解了这个复杂冗长的流程带来的种种压力。CF也具有冗余性,以防出现CF故障。

  打包和定价

  IBM 提供了DB2 11.1的各种产品版本,可供客户灵活选择。对于高端产品,DB2 Advanced Workgroup Server Edition (AWSE) 和AESE包含加密、pureScale以及BLU Acceleration技术等多种高价值功能。DB2 BLU Acceleration是许多集成功能的集合,包括内存中列式处理、可操作的压缩以及数据跳过等功能,支持高性能分析。

  对于Oracle Database,要想获得类似功能,就必须购买附加产品。举例来说,Oracle Data Guard需要获得所有数据库备用核心的许可,而DB2 HADR只需要获得一个备用核心的许可。

  表 1对DB2 11.1 AESE组件和类似的Oracle堆栈进行了汇总。除非另有说明,否则将按处理器显示Oracle美国定价。

  迁移至DB2的客户通常报告称,软件和中间件许可成本可节约高达40%。对于大型部署,节约的这些成本加起来可达数百万美元。

IBM DB2 11.1与Oracle Database 12c对比

  成本明细

  本文从电信、医疗保健和个人银行业务领域出发,对这些领域企业安装的三个DB2 11.1 LUW AESE和同等 Oracle Database 12 c Enterprise Edition 软件集的成本进行了比较。这些安装信息 汇总在表2中。

  这些配置反映了用户调研结果,以及从其他企业概况、应用组合及数据库特性类似的场景中获得的 信息。性能、压缩、FTE 人员配备和采用的其他变量以用户提供的信息为基础,这些用户已为类似 应用部署了 DB2 和/或 Oracle 数据库,或者已从 Oracle 迁移至 DB2 最新版本。

  最终配置和FTE人员编制如表3和4所示。

IBM DB2 11.1与Oracle Database 12c对比

IBM DB2 11.1与Oracle Database 12c对比

  安装成本明细显示在表5和表6中。成本计算如下:

  数据库软件成本根据表 1 中显示的 DB2 11.1 LUW AESE 和 Oracle Database 12 c Enterprise Edition 的使用情况计算得出,后者包含额外收费选项,提供与 DB2 同等的功能。这两种数据库均使 用 AIX 操作系统。

  DB2 pureScale 和 Oracle RAC 用作为集群解决方案。计算结果包含三年软件许可和支持费用。DB2 许可基于处理器价值单元,Oracle Database 许可则基于每个处理器的价格。

  存储和备份成本分别根据 FlashSystem 900 和 Storwize V7000 的使用情况计算得出。FlashSystem 900 阵列与 IBM MicroLatency 模块一起用于 RAID 5 配置。使用带有 600 GB 小型磁盘的 Storwize V7000 机柜进行备份。根据预估的安装需求调整存储和备份空间大小。

  数据库服务器计算结果基于 IBM Power Systems E880 服务器的使用情况。所有安装都采用了 AIX 7.2 操作系统和 PowerVM 虚拟化。电信、医疗保健和个人银行业务领域企业的计算结果包含了 IBM PowerHA SystemMirror 故障转移集群软件。

  人员成本根据 Oracle Database(带 RAC)DBA 的预估年薪(112,097 美元)和获得 pureScale 认 证的 DB2 DBA 的预估年薪(106,476 美元)计算得出。这些估计以网上提供的各种数据库管理员的 行业标准工资为基础。考虑到奖金、福利和其他人均成本,工资上浮了 43.7%,同时针对三年期限相应翻三倍。

IBM DB2 11.1与Oracle Database 12c对比

IBM DB2 11.1与Oracle Database 12c对比

IBM DB2 11.1与Oracle Database 12c对比

  组织内 DBA 的雇佣情况受所支持应用的变化、执行的管理任务类型以及不同工作描述的影响。对于 本文而言,各公司概况所需的 FTE 都基于用户调查结果。从 Oracle 迁移至 DB2 的企业报告称, FTE 人员编制减少了两到三倍。

  数据中心成本计算包括数据中心房屋租赁成本和电费,同时考虑到了数据中心基础架构设备的购 买、维护和运营成本,比如,不间断电源 (UPS)、配电系统 (PDS) 以及散热系统。用电成本是根据 每千瓦时 (kWh) 全国平均值计算得出的。对于现有设施,以保守的方式假设每平方英尺的年度平均 成本,由此计算得出相关成本(也就是说,不包含新设施建设成本)。

  所有成本均以美元为单位显示。

  结论

  企业关键业务型应用对 OLTP 数据库平台的依赖程度远超以往,这种平台应能够实现创记录的高水 平运行时间,为高可用性集群提供实时响应能力,同时展示十分稳定的灾难恢复能力。DB2 11.1 LUW 和 DB2 pureScale 已通过各种功能和工具不断加以完善,支持自动调优和性能优化。Oracle RAC 架构不对应用透明可见,需要 DBA 进行大量应用配置、测试和调优操作,以便有效优化集群 资源的手动分配情况。

  从电信、医疗保健和个人银行业务领域来看,这些领域公司在事务处理环境中使用 DB2 11.1 的三年 成本平均要比使用 Oracle 12 c 低 32%。这种成本上的差异主要在于不同的数据压缩方法、工作负 载管理机制、管理复杂程度以及供应商打包和定价造成了不同的资源要求。

  DB2 11.1 中用于执行 OLTP 的核心数据库结构通常更为轻巧和简单,产生的系统开销也比 Oracle Database 12 c 产生的开销要低。DB2 11.1 LUW 中的存储压缩技术比 Oracle 的技术更高效。配置 越少越简单,意味着在存储硬件和软件工具、备份系统和介质、人力成本以及数据中心能源和租用 成本上也就能够节约更多资金。

  DB2 11.1 LUW 中的 SQL 兼容性增强功能,在大多数情况下支持在 DB2 环境中执行为其他关系数 据库编写的应用,而无需修改代码。这也减少了迁移至 DB2 耗费的时间和复杂程度。已迁移至 DB2 的企业通常都已降低了存储需求和许可成本。

标签: DB2 , 数据库 , Oracle , IBM
  • IT168企业级IT168企业级
  • IT168文库IT168文库

扫一扫关注

行车视线文章推荐

首页 评论 返回顶部