高性能分布式No SQL数据库Aerospike(四)——经验总结和最佳实践

简介: 高性能分布式No SQL数据库Aerospike(四)——经验总结和最佳实践

同时扩容两个节点


Aerospike集群同时扩容两个节点时,集群可能会出现意外情况。

从Aerospkie社区找到官方回复,Aerospike扩容时每次只能扩容1个节点。扩容方法是将新增节点UDP组播地址和端口配置成跟现有集群组播地址一致。同时扩容1个以上节点时,会出现意想不到的情况。


数据迁移会和客户端竞争读写资源


Aerospike集群扩容成功后各节点之间会有大量的数据迁移,数据迁移会和客户端竞争读写资源从而影响到线上读写性能。

需要在迁移之前配置好数据迁移相干参数,控制数据迁移进度,避免出现数据迁移占用过量资源、乃至服务重启的情况。


正常的重启流程


正常的重启流程是,1个节点1个节点的重启,如果直接重启所有节点会出现备份数据被删除的情况。

为了保证数据不丢失,严格依照标准的重启流程来,每一个节点重启完后等待数据迁移完成后,再重启下一个节点。


access-address 参数配置


access-address 参数配置成内网ip还是配置成外网ip适合?不配的话会出现甚么情况?

access-address 用来配置集群ip参数列表提供给客户端使用。如果既需要外网访问,有需要内网访问,那末就不用配置这个参数。只需要内网访问配置成内网IP,只需要外网访问的话配置成外网IP。


HotKey


Aerospike对HotKey有限制,因而频繁对一个key读写时,会返回HotKey错误(errorcode 14) 。服务端可以通过增大 transaction-pending-limit配置来提高对同一个key操作的并发量,它的默认为20,值为0时表示不限。增大该配置可能会降低一定性能。客户端可能需要对该异常增加重试处理,但重试可能会进一步增大HotKey的风险。


Rebalance


在节点宕机或是增减节点时会Rebalance数据,这个过程会影响对外服务质量。但Rebalance速度可以控制,因而需要在保证服务质量和集群快速恢复二者间做权衡。


Aerospike不会存储原始key


Aerospike不会存储原始key,实际索引的是原始key的一个20字节hash值,如果业务需要使用原始key则必须另外设置bin存储。即便key和value值的字节数较少,但key本身占据20个字节,因而实际占用的空间会比较大。

目录
相关文章
|
7天前
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
6天前
|
存储 缓存 NoSQL
常见的 NoSQL 数据库有哪些?
常见的 NoSQL 数据库有哪些?
10 2
|
7天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
8天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
19天前
|
监控 算法 网络协议
|
18天前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
16 2
|
22天前
|
存储 SQL JSON
介绍一下RDBMS和NoSQL数据库之间的区别
【10月更文挑战第21天】介绍一下RDBMS和NoSQL数据库之间的区别
48 2
|
23天前
|
SQL JSON Java
没有数据库也能用 SQL
SPL(Structured Process Language)是一款开源软件,允许用户直接对CSV、XLS等文件进行SQL查询,无需将数据导入数据库。它提供了标准的JDBC驱动,支持复杂的SQL操作,如JOIN、子查询和WITH语句,还能处理非标准格式的文件和JSON数据。SPL不仅简化了数据查询,还提供了强大的计算能力和友好的IDE,适用于多种数据源的混合计算。
|
22天前
|
存储 SQL NoSQL
数据库技术深度探索:从关系型到NoSQL的演变
【10月更文挑战第21天】数据库技术深度探索:从关系型到NoSQL的演变
30 1
|
24天前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。