云数据库怎么选?

  • 回答 (3)
  • 关注 (0)
  • 查看 (146)

浏览器信息

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0
用户1162084用户1162084提问于
Tabor我是大脸我骄傲,一天用掉半瓶料。回答于

选择数据库版本

在腾讯云上CDB for MySQL目前提供完全兼容原生MySQL的5.5,5.6,5.7版本供选择,强烈建议选择5.6或更高的版本,它们提供了更稳定的数据库内核,优化改进5.5及更老版本的设计以提升系统的性能,并提供了多项极具吸引力的新特性。将以MySQL 5.7为例介绍新版本特性。

MySQL 5.7是CDB目前提供的最新版本,具有被普遍认可的高性能、可靠性和易用性。它部分优化点和新特性如下:

原生 JSON 支持

在 MySQL 5.7 中,新增了一种新的数据类型,用来在 MySQL 的表中存储 JSON 格式的数据。原生支持 JSON 数据类型主要有如下好处:

• 文档校验 – 只有符合JSON规范数据段的才能被写入类型为 JSON 的列 中,所以其实相当于有了自动JSON语法校验。

• 高效访问 – 更重要的是,当您在一个 JSON 类型的列中存储 JSON 文档的时候,数据不会被视为纯文本进行存储。实际上,数据用一种优化后的二进制格式进行存储,以便可以更快速地访问其对象成员和数组元素。

• 性能 – 可以在 JSON 类型列的数据上创建索引以提升 query 性能。这种索引 可以由在虚拟列上所建的“函数索引”来实现。

• 便捷 – 针对 JSON 类型列附加的内联语法可以非常自然地在 SQL 语句中集 成文档查询。例如(features.feature 是一个 JSON 字段):

SELECT feature->"$.properties.STREET" AS property_street FROM features WHERE id = 121254;

使用 MySQL 5.7,您现在可以在一个工具中无缝地混合最好的关系和文档范例,在 不同的应用和使用案例中应用关系型范例或文档性范例当中最适合的范例。这为 MySQL 用户大大扩大了应用范围。

Sys Schema

MySQL SYS Schema 是一个由一系列对象(视图、存储过程、存储方法、表和触 发器)组成的 database schema,以使主要存储在 Performance Schema 和 INFORMATION_SCHEMA 中诸多的表中监测数据资源可以以方便、可读、对 DBA 和开发者的友好的方式进行访问。

MySQL SYS Schema 默认包含在 MySQL 5.7 中,并提供摘要视图以回答诸如下面所列的常见问题:

• “谁占了我数据库服务的所有资源?”

• “哪些主机对数据库服务器的访问量最大?”

• “我实例上的内存都上哪去了?”

InnoDB相关改进

InnoDB 在线操作(Online DDL):现在您可以在不重启 MySQL 的情况下,动态地调整您的 Buffer Pool size 以适应需求的 改变。现在 InnoDB 也可以在线自动清空 InnoDB 的 UNDO 日志和表空间,这样就消除了产生大共享表空间文件 (ibdata1) 问题的一个常见原因。最后,MySQL 5.7支持重命名索引和修改varchar的大小,这两项操作在之前的版本中,都需要重建索引或表。

InnoDB 原生分区:在 MySQL 5.7 InnoDB 中包含了对分区的原生支持。InnoDB 原生分区会降低负载,减少多达 90% 的内存需求。

InnoDB 缓存预热:现在,当 MySQL 重启时,InnoDB 自动保留您缓存池中最热的 25% 的数据。您再也不需要任何预加载或预热您数据缓存的工作,也不需要承担 MySQL 重启带来的性能损失。

MySQL 5.7 更多优化和新特性可查看MySQL官方资料

选择实例规格(数据库内存)

当前CDB for MySQL并未提供单独的CPU选项,CPU将根据内存规格按比例分配。您可以根据自己的业务特征购买相应的数据库规格,我们为每一种实例都做了详尽的标准化测试以为您提供选型时的性能参考。但需要注意的是,Sysbench标准化测试并不能代表所有的业务场景,建议您在将业务正式运行在CDB之前对数据库做一次压力测试,以便于更加了解CDB在您的业务场景下的性能表现。

查看CDB for MySQL性能说明

内存是实例的核心指标之一,访问速度远远大于磁盘。通常情况下,内存中缓存的数据越多,数据库的响应就越快;如果内存较小,当数据超过一定量后,就会被刷新到磁盘上,如果新的请求再次访问该数据,就要从磁盘上把它从磁盘中读取进内存,消耗磁盘io,这个时候数据库响应就会变慢。

对于读并发较大或读延迟较为敏感的业务,我们建议您不要选择过小的内存规格,以保障数据库的性能。

选择硬盘(数据存储空间)

CDB数据库实例的硬盘空间仅包括MySQL数据目录,不含binlog、relaylog、undolog、errorlog、slowlog日志空间。在写入的数据量超出实例硬盘空间时,如未及时升级,可能会触发实例锁定。因此在选购硬盘空间时,建议您对未来一段时间内可能的数据量增长保留一定冗余,避免因硬盘容量不足引起的实例锁定或频繁升级。

选择适合您的数据复制方式

CDB for MySQL提供了异步、半同步、强同步三种复制方式。了解CDB的数据复制方式

如您的业务对写入时延或数据库性能较为敏感,建议您选择异步复制方式。

云数据库的高可用

CDB for MySQL采用的主备M-M的高可用架构,其主备之间的数据同步依靠binlog日志的方式。同时支持将实例恢复到任何一个时间点,这个功能需要依靠运用备份和日志。因此,通常情况下您无需再搭建备份恢复系统或付出其他额外支出来保障实例的高可用。

云数据库的扩展性

CDB for MySQL的数据库版本,内存/硬盘规格均支持在线的动态热升级。升级过程不会中断您的业务,您无需担心业务规模增长带来的数据库瓶颈。

将CVM和CDB配合使用

通常情况下,在购买成功后您需要将CVM和CDB配合使用。

嗝屁软件工程回答于

服务器和云数据库必须是同一地区的哟~比如服务器是广东区,数据库也必须是广东区~

天使的炫翼回答于

如果业务中对mysql没有特别的需求,建议选择5.5的版本, 5.6稍微比5.5内存占用多一些. 另外建议选择和服务器同区域下的CDB, 这样更高效一些. 外网下的效率始终没有内网效率高.

可能回答问题的人

  • 西风

    renzha.net · 站长 (已认证)

    7 粉丝1 提问72 回答
  • HKC

    红客学院 · 创始人 (已认证)

    26 粉丝7 提问15 回答
  • 小书虫

    0 粉丝1 提问12 回答
  • o o

    1 粉丝490 提问11 回答

扫码关注云+社区

领取腾讯云代金券