基于腾讯云的云数据库基础和产品介绍
1.数据库基础知识
数据库类型对比
对比项 |
关系型SQL |
非关系型NoSQL |
数据存储 |
关系表 |
数据集(键值/JSON 文档/哈希表/其他) |
模式结构 |
结构化、提前定义表结构 |
动态调整模式,非结构化 |
扩展方式 |
纵向扩展,提高处理能力 |
横向扩展、增加分布式节点 |
数据查询 |
标准通用的查询语言 SQL |
非标准非结构化的查询语言( UnQL) |
关键特性 |
ACID |
CAP,BASE |
主要优势 |
结构化、事务处理、易于维护使用 |
扩展性、灵活调整、大数据分析 |
主要劣势 |
扩展性、高并发场景、大数据分析 |
事务支持较弱,标准不统一 |
- NoSQL数据库类型
- 键值数据库
- 使用哈希表存储键和指向特定的数据的指针
- 主流产品有Redis,Memcached
- 应用场景为内容缓存、购物车等
- 文档数据库
- 以文档形式 (JSON/BSON/XML) 存取数据,Schema-Free 弱模式结构。
- 主流产品有MongoDB, CouchDB
- 应用场景为应用日志系统、网站/博客平台
- 列式数据库
- 键仍然存在,但指针指向多个列、以列簇式存储相关数据。
- 主流产品有 HBase, Cassandra
- 应用场景为分布式文件系统、大数据分析
- 图数据库
- 以图储存数据、实体顶点,边代表关系。
- 主流产品有 Neo4J,InfoGrid,Infinite Graph
- 应用场景为社交网络、推荐引擎
数据库排名与发展趋势
- DB-Engines Ranking 按月更新数据库流行度排名:
- Oracle
- MySQL
- MicroSoft SQL Server
- PostgreSQL
- MongoDB
- 发展趋势
- 融合
- 软件与硬件融合︰数据库一体机
- NoSQL 与 SQL 融合:NewSQL
- OLAP 与 OLTP 融合:HTAP
- DBMS 与 AI 融合︰
- 突破
- 海量数据处理∶大数据分析
- 高性能∶集群/分布式/低延迟
- 稳定性: 数据复制,备份容灾
- 架构突破︰内核优化/云原生 DB
腾讯云数据库产品
- 关系型数据库
- MySQL
- MariaDB
- SQL Server
- PostgreSQL
- TDSQL
- CynosDB
- 非关系型数据库
- Redis
- MemCached
- MongoDB
- CTSDB
- HBase
- 数据库服务
2.关系型数据库
云数据库 MySQL
- TencentDB for MySQL 让用户在云端部署使用 MySQL 数据库。
- 兼容性
- 性能优化:
- 深度优化 MySQL 内核;
- 使用 PCI-e SSD 提升 I/O 性能
- 单实例 24 万 QPS,6TB 存储空间
- 一主多从、支持读写分离。
- 安全保障
- 高可用性
- 实时热备,基于 binlog 5 日内无损恢复数据﹔
- 自动容灾,自动故障检测、主备切换/迁移对用户透明;
- 应用场景
- 游戏
- 业务需求: 基于玩家数量变化分派资源,多时间点的数据保留与回档。
- 应对方案: 弹性扩容、快速回档
- 移动APP
- 业务特点∶高并发访问、多读少写
- 应对方案∶读写分离、性能优化
云数据库 SQL Server
- SQL Server 是微软推出的基于 Windows 系统的商用关系型数据库。
- TencentDB for SQL Server 具有微软正版授权,可在云端轻松部署使用。
- 产品功能
- SQL Server 镜像机制
- 采用数据库镜像 (Database Mirroring ) 实现高可用复制
- 每个库对应一组监控 Agent,通过心跳对数据库进行实时监控;
- 如果节点故障,系统将自动恢复/重建﹔节点切换对业务透明。
- 应用场景
- Windows 平台架构及云数据库 SQL Server 可以协助用户快速部署企业 OA / ERP/销售管理等移动办公平台。
云数据库 PostgreSQL
- PostgreSQL 是开源 NewSQL 数据库,结合 SQL 和 NoSQL 特性,已成为商用首选开源关系数据库。
- TencentDB for PostgreSQL 让用户在云端轻松设置、操作和扩展 PostgreSQL 数据库:
- 更多的功能特性支持
- 商用级数据强一致
- 超高的性能
- 高可靠性
- 应用场景
- 强大计算性能、空间地理信息处理能力,适用于面向企业复杂 SQL 处理的 OLAP 或 OLTP 场景∶
- 企业核心应用: 如 ERP、交易系统、财务系统等
- 含 LBS 的应用: 大型游戏、O20 等应用;
- 数据仓库和大数据∶支持更多数据类型和高级分析功能
- 建站或 APP∶自定义函数、数据格式; 全文搜索功能。
云数据库 MariaDB/TDSQL
- OLTP和OLAP
- OLTP联机事务处理,主要是对数据的增删改
- 日常交易处理
- 面向实时交易类, 如电商交易、订单
- 主要消耗磁盘 IO
- 实时读写要求高
- OLAP联机分析处理,主要是对数据的查询
- 统计、报表、分析
- 面向统计分析的, 如 ERP、BI 等
- 主要消耗 CPU
- 实时读写要求低
- 数据复制方式
- MariaDB 由 MySQL 创始人创立,承诺永远开源,高度兼容 MySQL。
- MariaDB产品优势
- 强同步MAR,腾讯自研异步多线程强同步复制方案
- 强同步保障数据一致性
- 改造线程池模型提升性能, 将串行同步线程异步化,引入线程池能力;
- 业务层透明∶业务层面无需做读写分离或同步强化工作;
- 金融级强─致: 每个节点都包含完整数据副本,可以随时切换
- 自动管控: 支持自动成员控制,故障节点自动从集群中移除。
- 高可用
- 一主多从透明故障切换
- 实时自动实例监控与修复
- 多可用区部署,备份回档。
- 高性能
- 面向 OLTP 场景
- 深度定制优化内核
- 读写分离扩展性能。
- TencentDB for MariaDB 定位于高安全性高性能的企业级云数据库。
- 分布式数据库 TDSQL:
- TDSQL 是腾讯云维护的金融级分布式架构 MariaDB 内核分支; 支持自动水平拆分,业务感受完整的逻辑表,数据均匀拆分到物理分片中。TDSQL 解决如下难题︰
- 单机数据库到达瓶颈
- 应用层分片开发工作量大
- 开源 NoSQL 运维支持不足
- 水平拆分机制
- 垂直切分就是按业务应用切分不同内容分派到不同数据库中。
- 水平切分将一个表的数据分散到多个物理独立的数据库服务器中。
- Share-Nothing架构
- 一个数据库被拆分为多个物理节点
- 每一个节点都有一个对应的磁盘
- 所有节点整合为一个逻辑整体
- 应用场景
- 金融服务:强一致性、高性能高并发、高安全性
- 大型应用:超高并发实时交易场景
- 物联网数据:PB 级数据存储访问场景
- 文件索引:万亿行数据毫秒级存取
- 高性价比商业数据库解决方案
云数据库 CynosDB
- CynosDB 是腾讯云自研的企业级云原生分布式云数据库︰
- 高性能︰单节点读性能可达 130 万 QPS,MySQL 8 倍、PostgreSQL4 倍
- 大容量: 最高 128TB 的海量存储,可自动扩缩容
- 低成本∶价格仅为通用商业数据库的 1/15
- 兼容性:100%兼容 MySQL 和 PostgreSQL
- CynosDB架构
- 内核定制优化:60 多项数据库内核优化,实现诸多企业级特性。
- 日志即数据库:将 WAL LOG 下沉到存储层,网络 IO 减少到最低。
- 新硬件与软件优化:SPDK 和 RDMA 零拷贝技术,减少系统切换性能损耗。
- 弹性扩展:CynosFS 可计算智能存储,自动扩缩容与故障检测。
- 应用场景
- 企业核心应用:高性能,高可用,低成本
- 互联网或游戏业务:大容量,弹性扩展,秒级备份回档
3.非关系型数据库
云数据库 MongoDB
- TencentDB for MongoDB 基于开源 MongoDB 打造的高性能、分布式文档数据库服务。
- 兼容开源 MongoDB 协议、DynamoDB 协议
- 腾讯自研的 MongoDB 分布式集群
- 模式自由 schema-free
- 自动容灾、备份回档
- MongoDB容灾架构
- 主从热备架构,具有自动容灾机制
- 集群通过心跳检测监控节点状态
- 主节点不可达时,集群内会自动选举出新的主节点
- 主节点故障后重新拉起,会变成从节点; 如果拉起失败,会补充新节点进入集群
- 任一从节点不可达时,会尝试拉起节点或者补充新节点
- 应用场景
- 游戏开发场景
- 需求: 游戏需求变化快,版本迭代快,需要频繁修改数据库表结构。
- 方案: MongoDB 无固定模式,大幅缩短版本迭代周期。
云数据库 Redis
- 提供兼容开源 Redis 协议的弹性缓存和存储服务。
- 支持主从热备,自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
- 腾讯自研的CKV引擎兼容Redis
存储引擎 |
社区版 |
腾讯CKV |
支持版本 |
单机版,主从版,集群版 |
主从版,集群版 |
架构 |
单线程 |
多线程 |
QPS |
8-10万 |
8-12万 |
冷热分离 |
不支持 |
不支持 |
强同步 |
不支持 |
不支持 |
数据备份 |
通过bgsave备份,需要2倍内容 |
不需要额外内存 |
平滑升级 |
集群版支持 |
支持 |
快速启动 |
慢 |
基于内存共享数据,1秒内 |
单节点容量 |
0.25GB-60GB |
4GB-384GB |
云数据库 MemCached
- 提供兼容 MemCached 协议、高性能、高可靠、易用的弹性缓存和存储服务。
- 提供主从热备、自动容灾切换、在线扩容、数据备份、等实例监控全套数据库服务。
- MemCached 自动容灾机制
- 单个实例保存在多个节点,双机热备。
- 节点故障时,系统自动切换或人工切换。
- 当主节点故障时,接入机会把读写请求发送到从节点
- 新增一个从节点开始从新的主机拷贝数据,完成主从同步
- 当从节点故障时,直接加入新的从机节点
- MemCached 在线扩容
- 自动扩容以保证用户实例始终有 20%的可用空间。
- 实例需要扩容时:
- 检查实例当前所在存储节点的剩余空间是否满足扩容需求;
- 如果满足则直接原地扩容,否则需要增加额外的存储节点。
- Redis/MemCached都是内存数据库,应用场景比较接近
- 存储需要高速访问的热点数据
- 游戏行业场景∶积分排行榜。
- 互联网/APP: 热点访问/下载数据
- 电商场景︰商品分类数据/图片、商品搜索结果
云数据库 CTSDB
- 时序数据库主要用于处理带时间标签(按照时间的顺序变化) 的数据。
- TencentDB for CTSDB 提供高性能、分布式、安全、稳定的云端时序数据库。
- 高并发写入∶写内存-Dump-批量写入
- 低成本存储: Rollup 数据聚合、数据压缩
- 聚合分析能力∶丰富聚合查询与分析方式
- 应用场景
4.数据库一体机 TData
- 数据库一体机 TData: 融合高性能计算、热插拔闪存、Infiniband 网络的软硬件—体化数据库解决方案。
- 优势
- 金融级安全/合规
- 高可靠性
- 高性能/性价比
- 快速部署/扩展
- 应用场景
- 可满足 OLAP、OLTP 以及混合负载等场景
- 两地三中心∶同城双活、异地灾备,如金融行业。
5.腾讯云数据传输服务DTS
- 腾讯云数据传输服务(Data Transmission Service , DTS) 提供一体化的数据库数据传输管理服务
- DTS迁移要求
- 源数据库类型:
- MySQL、Redis、MariaDB、PostgreSQL、Percona
- 接入类型:
- 公网、专线接入、VPN 接入、云联网; 云数据库、CVM 自建。
- 目标数据库:
- 应用场景
6.腾讯云数据库计费方案
关系型数据库计费
- 实例费用=实例规格费用 (内存大小)+存储空间费用(磁盘容量)
- MySQL 计费方式∶
- 按量计费∶按小时三级阶梯计费,使用越长价格越低。
- T1:0<T1<96小时
- T2:96<T2≤360小时
- T3:>360小时
- 包年包月∶预付费、元/月
- 仅支持包年包月计费的数据库:
- 实例总价=(内存容量*单价+硬盘容量*单价)*实例数量*时长*折扣率
- 云数据库 MariaDB
- 云数据库 SQL Server
- 云数据库 PostgresQL
- 实例总价=(分片内存*单价+分片磁盘*单价)*分片数量*时间*折扣率
- 升级规则
- 升级费用=实例到期剩余天数T*(目标实例月单价 P2-当前实例月单价 P1)/30
MongoDB 计费
- 实例费用=实例规格(内存)费用+存储空间费用计费方式
- 包年包月: 预付费
- 按量计费: 基于不同内存规格,三级阶梯计费。
Redis 计费方案
- 基于内存使用量计费
- 包年包月∶预付费
- 按量计费
- 按秒计费,按小时结算; 购买时冻结 1 小时费用; 基于使用时长阶梯分段计费。
Memcached 计费
- 基于内存使用量,按量计费:
- 按天计费,按月结算,每月 2、3 号进行结算扣费
- 每日费用=每日内存最大值 x 单价
posted @
2023-03-02 12:51
RilyLC
阅读(
65)
评论()
编辑
收藏
举报