11、键值存储:特性、企业应用与优化策略

键值存储:特性、企业应用与优化策略

1. 键值存储的常见特性

1.1 实现 ACID 支持

Aerospike 和 Redis 是实现最终一致性的例外,它们采用无共享集群。在这种集群中,每个键有以下特点:
- 主节点:只有主节点能为单个键提供答案,确保获取到最新副本。
- 多个从副本节点:包含主节点上所有数据的副本。

Aerospike 通过在事务向数据库客户端标记完成之前,将修改立即刷新到磁盘,提供完整的 ACID 事务一致性,且速度极快,反驳了 ACID 会降低写入速度的说法。它原生处理原始 SSD 进行数据写入,绕过较慢的操作系统文件系统支持。不过,更多的 SSD 意味着更高的服务器成本。Redis 配置为数据到达时立即刷新到磁盘,速度足够快,能保证数据持久化需求,其默认设置是每隔几秒将数据刷新到磁盘,服务器故障时可能有少量数据丢失风险。

需要符合 ACID 的键值存储的场景包括:
- 接收实验所需的传感器数据。
- 消息系统中必须保证消息接收。例如,Redis 提供的发布/订阅机制作为消息服务器后端,结合 ACID 支持可实现持久消息传递。

1.2 键管理

键值存储的快速读取能力源于使用定义良好的键,这些键通常经过哈希处理,能明确数据所在的分区(及服务器)。一个好的键能唯一标识满足查询的单条记录,无需查看记录中的值;而差的键则需要应用代码解释记录来确定是否匹配查询。

如果键设计不佳,可能导致某台服务器负载过重,性能下降。例如,使用当前系统时间作为键,会将所有新数据推到集群的最后一个节点,导致重新平衡困难。

1.3 分区 </

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值