阿里云NoSQL数据库
2021-02-19 19:02:45 0 举报
AI智能生成
阿里云所有非关系型数据库产品的要点总结
作者其他创作
大纲/内容
非关系型/NoSQL数据库
非关系数据库简介
非关系型数据库用于存储非结构化数据。根据统计80%的商业数据是非结构化的,而且非结构化数据的增长速度是结构化数据的两倍
模式自由:不需要定义表结构,数据表中的每条记录都可能有不同的属性和格式
其他格式:文档、图片等
获取大量信息时,不需要像关系型数据库中要对多表进行关联查询。仅需要根据id取出相应的value就可以完成查询
因此查询的编写、理解和优化都比关系型数据库容易
通常不具有关系型数据库的ACID约束
不支持事务操作
但是可以保证事务的最终一致性
无法进行join关联表查询,不适用于关系多的数据
不遵循范式要求,去掉完整性约束,减少表之间的依赖
非关系数据库适用场景
数据库表schema经常变化
数据库表字段是复杂数据类型
高并发数据库请求
海量数据的分布式存储
云原生多模数据库 Lindorm
产品简介
适用于任何规模、多种模型的云原生数据库服务
宽表引擎
面向海量KV、表格数据,具备全局二级索引、多维检索、动态列、TTL等能力
适用于元数据、订单、账单、画像、社交、feed流、日志等场景
时序引擎
面向IoT、监控等场景存储和处理量测数据、设备运行数据等时序数据
搜索引擎
面向海量文本、文档数据,具备全文检索、聚合计算、复杂多维查询等能力
还可无缝作为宽表、时序引擎的索引存储,加速检索查询,适用于日志、账单、画像等场景
文件引擎
提供宽表、时序、搜索引擎底层共享存储的服务化访问能力,从而加速多模引擎底层数据文件的导入导出及计算分析效率,兼容开源HDFS标准接口
支持海量数据的低成本存储处理和弹性按需付费
开放数据生态:提供简单易用的数据交换、处理、订阅等能力,支持与MySQL、Spark、Flink、Kafka等系统无缝打通
产品优势
Lindorm VS HBase VS Cassandra 对比详见官网链接
极致性价比:支持千万级高并发吞吐、毫秒级访问延迟,并通过高密度低成本存储介质、智能冷热分离、自适应压缩,大幅减少存储成本
建议场景
可替代目前使用类HBase+ElasticSearch或HBase+OpenTSDB+ES的应用场景,比如监控、社交、广告等。数据存取、数据同步的链路长
利用Lindorm的原生多模能力,将很好地解决架构复杂、查询痛苦、一致性弱、成本高、功能不对齐等痛点,让业务创新更高效
当业务发展,需要支持跨可用区高可用、全球同步或者降低存储成本时,各技术组件都需要独立演进和发展,耗时耗人耗力,是一件非常痛苦的事情
应对信息化技术发展中的主要矛盾场景。即\"日益多样的业务需求带来的多种类型数据与数据存储技术架构日趋复杂成本快速上升之间的矛盾\"
5G、IoT、智能网联车等新一代信息技术应用场景,面临多种类型数据(业务数据、日志、测量数据、图片、文件等)的高效存储问题
云数据库 Redis 版
Redis简介
Redis 是完全开源免费的,使用 BSD 开源协议,是一个灵活的高性能 key-value 数据结构存储,可以用来作为数据库、缓存和消息队列
Redis 是一种内存数据库,将所有数据集存储在内存中,读写性能瓶颈就不再是硬盘了
支持对内存数据进行持久化保存
支持事物,比较弱,仅能保证事物中的操作按顺序执行
Key可以包含: (string)字符串、哈希、链表(list)、(set)集合
与其他 key-value 存储有什么不同
Redis 有着更为复杂的数据结构并且提供对它们的原子性操作
Redis 的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象
Redis 运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存
RDB 和 AOF 两种磁盘持久化方式是不适合随机访问,因为它们是顺序写入的
应用场景
配合关系型数据库做高速缓存。Redis作为缓存层,加速应用访问。全量数据存储在后端的关系型数据库中(RDS)
作为业务数据库使用,支持持久化。并发性能高
实例类型
云数据库Redis社区版
兼容开源Redis的高性能数据缓存服务,支持主从双副本、集群、读写分离等架构
适合中小型或验证型应用,适用于标准化Redis使用和迁移场景
云数据库Redis企业版
阿里云进行了安全防护、部署、运维和性能等方面的提升
性能增强型
采用多线程模型,性能为同规格标准版实例的3倍
开源版本Redis是单线程的
支持数据闪回功能,可以恢复指定时间点的数据
以性能为中心的关键业务场景
持久内存型
基于Intel 傲腾™数据中心级持久内存(AEP),提供大容量、兼容Redis的内存数据库产品
数据持久化不依赖传统磁盘,保证每个操作持久化的同时提供近乎Redis社区版的吞吐和延时,极大提升业务数据可靠性
需要高性能且高数据持久化要求,且成本作为次要考虑因素的数据缓存与存储场景
容量存储型
基于云盘ESSD研发,兼容Redis核心数据结构与接口,可提供大容量、低成本、强持久化的数据库服务
适用于兼容Redis、需要大容量且较高访问性能的温冷数据存储场景
大存储、低访问密度、低访问延迟要求,且成本作为首要考虑因素的数据存储场景
混合存储型
采用混合存储模式(内存加硬盘),磁盘中保存全量数据,内存中保存热数据供应用快速读写,实现了性能与成本的平衡
同时通过RDB和AOF备份,在提供高速数据读写能力的同时满足了对数据持久化需求
适用于业务冷热数据区分明显,且对成本敏感的场景
实例架构
标准版-单副本
适用于纯缓存场景,支持单节点集群弹性变配,满足高QPS(Queries per Second)场景,提供超高性价比
单副本实例只有一个数据库节点(即只有master),节点出现故障时,系统会重新启用一个新的Redis节点,并自动将服务切换到没有数据的新节点。切换完成后,应用程序需要将数据重新预热
标准版-双副本
主从架构高可用。系统工作时主节点(Master)和副本(Replica)数据实时同步,主节点故障时系统自动秒级切换,备节点接管业务
集群版-单副本
采用集群架构,每个分片服务器采用单副本模式。适用于纯缓存类业务或者QPS压力较大的业务场景
集群版-双副本
采用分布式架构,每个数据分片都支持主从(master-replica)高可用,能够自动进行容灾切换和故障迁移
Redis读写分离版
读写分离实例采用主从(Master-Replica)架构提供高可用,主节点挂载只读副本(Read Replica)实现数据复制,支持读性能线性扩展
非集群版读写分离实例支持一个只读副本、三个只读副本或五个只读副本三种版本
集群版读写分离实例在每个分片下挂载一个只读副本,提供分片级别的自动读写分离能力,适合超大规模高读写比的业务场景
实例规格
云数据库Redis社区版和企业版的每种架构都有多种规格
云数据库MongoDB版
MongoDB简介
优点
开发应用简单上手
文档结构的存储方式,能够更便捷的获取数据
弱一致性(最终一致),更能保证用户的访问速度
内存映射存储引擎,所以分配更大内存时的并发读写性能更高
既有面向小规模数据库集群功能——复制集,也有针对海量数据进行分片的功能
缺点
数据结构
MongoDB是面向文档的NoSQL(非关系型)数据库,它的数据结构由字段(Field)和值(Value)组成,类似于JSON对象
存储结构
MongoDB的存储结构区别于传统的关系型数据库,有三个单元组成
文档(Document):MongoDB中最基本的单元,由BSON键值对(key-value)组成。相当于关系型数据库中的行(Row)
集合(Collection):一个集合可以包含多个文档,相当于关系型数据库中的表格(Table)
数据库(Database):等同于关系型数据库中的数据库概念,一个数据库中可以包含多个集合。您可以在MongoDB中创建多个数据库
存放评论等半结构化数据、存储类似json、不经常变化的数据、支持二级索引
游戏场景:存储游戏用户信息,用户的装备,积分等直接以内嵌文档的形式存储,方便查询更新
物流场景:存储订单信息,订单状态在运送过程中会不断更新,以内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来
社交场景
存储聊天记录。MongoDB提供了丰富的查询方式,并在写入和读取方面都相对较快
存储用户信息以及用户发表的朋友圈信息
通过地理位置索引实现附近的人,地点等功能
视频直播:存储用户信息,礼物信息等
物联网场景:存储所有接入的智能设备信息,以及设备回报的日志信息,并对这些信息进行多维度的分析
大数据应用
使用云数据库MongoDB作为大数据的云存储系统,随时进行数据提取分析,掌握行业动态
云数据库 Hbase 版
Hbase 简介
和Hadoop有着“共同血统”,配合起来互补
HBase提供了一个基于记录的存储层,能够快速随机读取和写入数据,正好弥补了Hadoop的缺陷,Hadoop侧重系统吞吐量,而牺牲I / O读取效率为代价
优点
支持千万的QPS、PB级海量数据存取
无限水平扩展
适用于插入比查询操作更频繁的情况:比如,对于历史记录表和日志文件
查询简单(基于rowkey或者rowkey范围查询)
数据类型单一:HBase中数据类型都是字符串
稀疏:列族中,可以指定任意多的列,列数据为空不会占用存储空间的,也提高了读性能
列族存储。适合对于数据结构字段不够确定或杂乱无章非常难按一个概念去进行抽取的数据
缺点
单一RowKey固有的局限性决定了它不可能有效地支持多条件查询
不适合于大范围扫描查询
仅支持行级(单行)事务(HBase的事务是行级事务,可以保证行级数据的原子性、一致性、隔离性以及持久性)
开源版HBase的配置非常麻烦,需要大量专业知识
大数据场景:海量数据的低成本存储与分析,在阿里云上很容易与Spark、MaxCompute等大数据平台集成
金融&零售:海量订单记录与风控数据的实时存储
互联网社交:高效、稳定的Feed流信息存储
广告场景:海量广告营销数据的实时存储
云数据库Cassandra版
Cassandra简介
分布式架构带来的水平扩展性能极其优异
在大规模集群下,增强一个关系型数据的性能、可靠性是非常困难的。Cassandra 是从一开始设计就解决这个问题
互联网业务有如下特点:极致在线、高并发、高存储、可调的一致性、灵活,MySQL并不是最佳选择,Cassandra为此而生
人工维护操作少
CQL查询语言(类似于SQL) 学习难度较低
阿里云Cassandra版本
支持从160GB到10PB的容量,支持从数千QPS到数千万的QPS
提供企业级高可用:单节点下线或故障,业务无性能抖动,0宕机时间
大数据存储的利器、方便搭配X-Pack Spark
数据是根据partition key做hash计算后分布到各个节点的,全表扫描各个节点的效率是很低的
所以Cassandra 查询操作的一个基本原则就是尽可能的查找少的节点。
部署模式仅提供基于分区方式的,不像MongoDB还有复制集这个小规模的数据库集群设计
CQL相比较于SQL有很多的限制,原因在于Cassandra是为大数据存储设计
eg. CQL 为了提高检索效率, where 语法中不支持or
业务灵活多变
数据模型灵活,对表结构的变更是一个非常轻量级的操作,非常适用于初创型的业务需求,让数据库能更快地跟上业务改进的步伐
写密集、统计和分析型工作
支持很高的多客户线程并发写性能和突发的峰值
很好地支持写多于读的场景,例如用户状态更新、社交网络、建议/评价以及应用统计等
数据驱动的业务
用大量数据对用户行为进行分析的场景中,可以通过整合多种数据来源,实时存储用户行为数据,构建用户画像,提供大数据风控、推荐等服务
Cassandra + Spark
时序数据库 TSDB
时序数据库的发展
在工业大数据数据库存储领域,除了传统的关系型数据库和分布式数据库以外,还有一种类型的数据库是非常有必要的,就是实时数据库和时序数据库
实时数据库不只是一个数据库,而是一个系统,包括对各类工业接口的数据采集,海量监测数据的压缩、存储及检索,基于监测数据的反馈及控制功能等
实时数据库都是出售给大型工业企业的,因此价格昂贵,在物联网时代,对于中小工业企业来说,是个不小的成本
时序数据库其实主要是实时数据库的数据存储部分,除了数据点和时间戳之外,还提供标签和内容等对数据的描述
时序数据库不提供工业接口、下行控制等功能,这些都需要开发人员自行开发,或者将原有的接口与时序库对接
提供百万高效写入,高压缩比低成本存储、预降采样、插值、多维聚合计算,查询结果可视化功能
解决由于设备采集点数量巨大,数据采集频率高,造成的存储成本高,写入和查询分析效率低的问题
物联网(IoT)设备监控系统 ,企业能源管理系统(EMS),生产安全监控系统,电力检测系统等行业场景
物联网设备监控分析
物联网设备无时无刻不在产生海量的设备状态数据和业务消息数据,这些数据有助于进行设备监控、业务分析预测和故障诊断
电力化工及工业制造监控分析
设备通过工业接口协议将自身状态数据和生产业务数据接入工业设备网关,然后通过 MQTT 协议发送到物联网套件,
进而传输到云上的消息服务系统并经过流计算系统处理后写入 TSDB,完成时序数据的存储和分析
系统运维和业务实时监控
通过日志或者其他方式对原始指标数据进行采集和实时计算,最后将实时计算的结果数据存储到 TSDB,实现监控和分析的展现
时序数据库 InfluxDB
一款专门处理高写入和查询负载的时序数据库,用于存储大规模的时序数据并进行实时分析,包括来自DevOps监控、应用指标和IoT传感器上的数据
简单高效的HTTP API写入和查询接口
针对时序数据,量身订造类似SQL的查询语言,轻松查询聚合数据
允许对tag建索引,实现快速有效的查询
数据保留策略(Retention policies)能够有效地使旧数据自动失效
图数据库GDB(Graph Database)
是一种支持属性图模型,用于处理高度连接数据查询与存储的实时可靠的在线数据库
非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景
相对关系型数据库的优势
传统关系型数据库对于超过3张表关联的查询十分低效难以胜任,但图数据库可轻松应对社交网络的各种复杂存储和查询场景
图数据库能够轻松支持这类场景,性能往往能够轻松的达到传统关系型数据库的十倍乃至几十倍
GDB支持ACID事务,默认提供READ COMMITTED的事务隔离级别
社交网络
社交用户关系中的2度查询请求,传统关系型数据库处理起来至少是秒级别的,3度查询更差甚至无法支持
金融欺诈检测
例如,通过贷款、分期消费者的联系人(或者联系人的联系人)信用信息,对用户进行信用评分,如果评分较低,则拒绝贷款或者提升利率
实时推荐引擎
例如,在某App中,通过用户位置及以前的购买行为信息,当某用户A到达某商场B,App可以向用户实时推荐附近的门店及商品等信息
知识图谱
例如,基于图数据库,您可以快速实现针对足球明星的知识图谱应用,帮助用户发现感兴趣的信息。
表格存储 (Tablestore)
阿里云自研的多模型结构化数据存储,提供海量结构化数据存储以及快速的查询和分析服务
一种全托管的结构化数据存储。使用户只需专注于业务研发,无需担心软硬件预置、配置、故障、集群扩展、安全等问题,在保证高服务可用性的同时,极大地减少了管理及运维成本
表格存储支持多种数据模型
Wide column模型:一款经典模型,目前绝大部分半结构化、结构化数据都存储在Wide column模型系统中
Timeline模型:表格存储自研模型,主要用于消息数据,适用于IM、Feed和物联网设备消息下推等消息系统中消息的存储和同步
Timestream模型:适用于时序数据、时空数据等核心数据场景
Grid模型:适用于科学大数据的存储和查询场景
通过数据分片和负载均衡技术,实现了存储无缝扩展
可支持不少于10 PB数据存储量,单表可支持不少于1 PB数据存储量或1万亿条记录
数据强一致
表格存储采用按量付费,能够以较低的成本满足访问波动明显、高并发、低延时的需求
元数据
业务系统对文件元数据的存储和分析不可或缺
消息数据
Timeline模型主要用于消息数据,能够抽象出支撑海量Topic的轻量级消息队列,可以存储大量社交信息
轨迹溯源
面向轨迹类场景的Timestream模型,可以轻松管理、分析跑步、骑行、健走、外卖等轨迹数据
科学大数据
多维网格数据是一种科学大数据,在地球科学领域(气象、海洋、地质、地形等)应用非常广泛,且数据规模也越来越大
互联网大数据
热点新闻及娱乐八卦可以在短短数分钟内,有数万计转发,数百万的阅读
商品在各类电商平台的订单量,用户的购买评论也都对后续的消费者产生很大的影响。商家的产品设计者需要汇总统计和分析各类平台的数据做为依据
物联网
提供PB级数据存储规模,无需分库分表,同时支持千万QPS,可以轻松满足IoT设备、监控系统等时序数据的存储需求,大数据分析SQL直读
高效的增量流式读接口让数据轻松完成离线分析与实时流计算
可信账本数据库(LedgerDB)
提供“区块链”数据库服务
将区块链上数据的不可篡改、不可抵赖性与中心化系统的高性能与低延迟优势相结合,同时避免了接入区块链的高成本和高门槛
存储低成本:LedgerDB为中心化服务,仅需要1个节点,节点存储3份数据
监管友好:配合成员权限管理,监管机构和被监管机构可同时使用一个LedgerDB,满足多方需求
直接使用在各种场景中,存储其业务数据,增强业务数据的可信性,比如:金融/政务/医疗/物联网/数字版权/农产品溯源/企业征信等
也可搭配现有数据库产品使用,用于系统日志、操作日志的不可篡改存储
0 条评论
回复 删除
下一页