- 计算
- 网络
- 存储与CDN
-
数据库
-
云数据库 RDS MySQL
- 产品概述
- 产品定价
- 快速入门
- 操作手册
- 案例实践
- API文档
-
常见问题
- 如何访问MySQL实例?
- MySQL实例的安全性如何?
- 如何向MySQL实例中导入数据?
- 如何向MySQL实例中导出数据?
- 如何创建新用户并授予权限?
- QPS是如何统计的?
- 什么是内存溢出?
- 默认的最大连接数是多少?
- 如何查看数据库运行状态?
- 如何查看MySQL实例的SlowLog?
- 如何修改MySQL实例的配置参数?
- 如何安装和卸载插件?
- 如何使用MySQL-Proxy使MySQL实例可以通过外网访问?
- 何查看MySQL实例的各项监控指标?
- 是否可以查看云数据库运行状态?
- 默认的配置是针对哪种存储引擎优化的?
- 如何在云主机上搭建云数据库从库并进行主从同步呢?
- 如何正确设置字符集?
- 如何查询MySQL实例的客户端和服务器端版本
- 相关协议
- 云数据库 RDS PostgreSQL
- 云数据库 Redis
- 云数据库 MongoDB
- 分布式数据库 InDDB
- 云数据库 Memcache
-
云数据库 RDS MySQL
- 安全
- 人工智能
-
大数据
- ES服务 Elasticsearch
- 数据仓库 DW
- 托管Hadoop
- 管理和监控
-
API
-
对象存储OSS
- 创建Bucket-CreateBucket
- 获取Bucket信息-DescribeBucket
- 更改Bucket属性-UpdateBucket
- 删除Bucket-DeleteBucket
- 前缀列表查询 – PrefixFileList
- 上传文件 – PutFile
- 表单上传 – PostFile
- 秒传文件-UploadHit
- 下载文件-GetFile
- 查询文件基本信息-HEADFile
- 删除文件 – DeleteFile
- 初始化分片 – InitiateMultipartUpload
- 上传分片 – UploadPart
- 完成分片 – FinishMultipartUpload
- 放弃分片 – AbortMultipartUpload
- 查看配额状态-GetUFileQuota
- 查询配额支付价格-GetUFileQuotaPrice
- 查看配额使用报表-GetUFileReport
- 获取配额信息-GetUFileQuotaInfo
- 获取已上传成功的分片列表-GetMultiUploadPart
- 更新令牌-UpdateUFileToken
- 删除令牌-DeleteUFileToken
- 获取令牌信息-DescribeUFileToken
- OSS 错误码列表
- 操作文件的Meta信息 – OpMeta
- API文档综述
-
弹性公网IP EIP
- 1、申请弹性IP-AllocateEIP
- 2、获取弹性IP信息-DescribeEIP
- 3、更新弹性IP属性-UpdateEIPAttribute
- 4、释放弹性IP-ReleaseEIP
- 5、绑定弹性IP-BindEIP
- 6、解绑弹性IP-UnBindEIP
- 7、调整弹性IP带宽-ModifyEIPBandwidth
- 8. 修改弹性IP出口权重-ModifyEIPWeight
- 9. 获取弹性IP价格-GetEIPPrice
- 10. 获取弹性IP带宽改动价格-GetEIPUpgradePrice
- 11. 获取弹性IP计费方式-GetEIPPayMode
- 12. 设置弹性IP计费方式-SetEIPPayMode
- 13. 申请内网虚拟IP-AllocateVIP
- 14. 获取内网虚拟IP信息-DescribeVIP
- 15. 释放内网虚拟IP- ReleaseVIP
- 16. 创建带宽包-CreateBandwidthPackage
- 17. 获取带宽包信息-DescribeBandwidthPackage
- 18. 删除带宽包-DeleteBandwidthPackage
- 19. 开通共享带宽-AllocateShareBandwidth
- 20. 获取共享带宽信息-DescribeShareBandwidth
- 21. 调整共享带宽-ResizeShareBandwidth
- 22. 关闭共享带宽-ReleaseShareBandwidth
- 23. 将EIP加入共享带宽-AssociateEIPWithShareBandwidth
- 24. 将EIP移出共享带宽-DisassociateEIPWithShareBandwidth
- 25. 获取带宽用量-DescribeBandwidthUsage
- 26. 更新防火墙属性-UpdateFirewallAttribute
- 27. 获取防火墙信息-DescribeFirewall
- 28. 应用防火墙-GrantFirewall
- 29. 错误码
-
云服务器ECS
- 1、获取VNC登录信息-GetUHostInstanceVncInfo
- 2、启动云服务器-StartUHostInstance
- 3、重启云服务器-RebootUHostInstance
- 4、关闭云服务器-StopUHostInstance
- 5、获取云服务器业务组列表-DescribeUHostTags
- 6、字段规范
- 7、删除云服务器-TerminateUHostInstance
- 8、重置云服务器密码-ResetUHostInstancePassword
- 9、修改云服务器业务组-ModifyUHostInstanceTag
- 10、修改云服务器名-ModifyUHostInstanceName
- 11、获取挂载磁盘的升级价格-GetAttachedDiskUpgradePrice
- 12、修改云服务器配置-ResizeUHostInstance
- 13、获取升级配置价格-GetUHostUpgradePrice
- 14、创建云服务器-CreateUHostInstance
- 15、移除硬件隔离组-LeaveIsolationGroup
- 16、创建硬件隔离组-CreateIsolationGroup
- 17、删除自制镜像-TerminateCustomImage
- 18、创建自制镜像-CreateCustomImage
- 19、导入镜像-ImportCustomImage
- 20、修改云服务器备注-ModifyUHostInstanceRemark
- 21、修改挂载的磁盘大小-ResizeAttachedDisk
- 22、模拟服务器掉电-PoweroffUHostInstance
- 23、重装系统-ReinstallUHostInstance
- 24、获取镜像列表-DescribeImage
- 25、获取云服务器价格-GetUHostInstancePrice
- 26、获取云服务器信息-DescribeUHostInstance
- 27、普通机型开启CDP-UpgradeToArkUHostInstance
-
对象存储OSS
- 用户提醒
- 服务等级协议(SLA)
- 企业上云常见问题
- 其他协议
- 云市场
- 开发者
- 账户管理
-
业务使用InDDB有三种典型方式:
读写分离:InDDB只配置单个存储节点,下挂多个只读实例;业务的数据库表结构保持和单机数据库一致, 利用InDDB中间件节点分发读请求;
垂直分库:InDDB配置多个存储节点, 每个存储节点保存业务数据库若干个表, 但表不做拆分,由InDDB中间件提供统一的访问地址。当单个业务的数据量已达单机数据库上限,但单个表的容量并未达到上限时,可以采用该方法解决单机数据库的容量问题。
水平拆分:InDDB配置多个存储节点, 将大表通过水平拆分的方式,分拆到多个存储节点进行存。当单个表的数据量达到单机数据库上限时,可以采用该方法解决单机数据库的容量问题。
下面分别介绍InDDB在这三种模式下,对MySQL的兼容程度。
读写分离
读写分离模式下,InDDB能够做到对MySQL 100%的兼容。 包括:
1、 SELECT语句和INSERT/UPDATE/DELETE/REPLACE等DML语句,支持SQL Prepare;
2、CREATE TABLE/CREATE INDEX等DDL语句;
3、支持事务。
4、系统管理命令,如SHOW/SET/GRANT等。
5、MySQL的高阶功能, 如视图、触发器、存储过程、事件等。
6、MySQL系统函数全部支持,支持LOAD DATA命令。
但是, 我们并不建议业务使用InDDB来做读写分离,因为已经有更好的产品:InDDB读写分离中间件。InDDB读写分离中间件是从InDDB中间件代码中,专门抽取出读写分离的代码(并做了高度精简)构建而成, 具有轻量、高性能、MySQL 100%兼容的特点。该中间件永久免费, 后续将增加更多数据库管理特性, 目标是成为一款读写分离最高效、数据库管理功能最强大的中间件产品。
垂直分库
垂直分库模式下,业务SQL必须保证所操作的库表对象,都位于同一个存储节点;不支持跨存储节点的SQL操作。
如果操作对象都位于同一个存储节点,业务的MySQL兼容性,和读写分离模式保持一致。
同时,在垂直分库模式下,可以在存储节点下挂载多个只读实例,来对某个存储节点上的库表进行读写分离。
水平拆分
水平拆分模式下, MySQL的兼容性是有损的。具体而言:
1、SELECT语句, 不支持划分规则不一致的多表JOIN。 比如, 不支持一张做了水平划分的表,和另一张没做水平划分表的join;不支持一张按照uid划分的tuser表, 和按照orderid划分的torder表的join。 也不支持一张按uid划分成4份的tuser表, 和另一张按uid划分成5份的t_order表的join。SELECT语句, 支持划分规则完全一致的多个表的join。 比如:三张表t1,t2,t3均按照id划分为4份,对于三张表join的SQL语句,InDDB能够支持。
2、不支持SQL PREPARE。
3、INSERT/UPDATE/DELETE/REPLACE等DML语句只能操作单个分片, 不支持同时操作多个分片的DML语句。
4、支持所有SQL语句落到同一个分片的事务,不支持跨分片操作的事务。
5、不支持涉及到水平拆分表的MySQL的高阶功能, 如视图、触发器、存储过程、事件等。
6、支持全部针对库表对象的DDL,支持用户权限管理命令GRANT。
7、SET命令,只支持:
7.1 SET names ’charset_name‘
7.2 SET names ’charsetname‘ COLLATE 'collationname'
7.3 set autocommit=0/1
其他Set命令可以通过,不报错, 但不会生效。
支持所有SHOW命令、支持LOAD DATA命令。
注:在水平拆分模式下,也可以在存储节点下挂载多个只读实例,来对某个存储节点上的库表进行读写分离。