高性能分布式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个字节,因而实际占用的空间会比较大。

目录
相关文章
|
8天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
51 10
|
8天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
68 6
|
5天前
|
SQL 数据库
数据库SQL语言实战(二)
数据库SQL语言实战(二)
|
5天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
32 3
|
8天前
|
SQL 监控 数据库
数据库管理与电脑监控软件:SQL代码优化与实践
本文探讨了如何优化数据库管理和使用电脑监控软件以提升效率。通过SQL代码优化,如使用索引和调整查询语句,能有效提高数据库性能。同时,合理设计数据库结构,如数据表划分和规范化,也能增强管理效率。此外,利用Python脚本自动化收集系统性能数据,并实时提交至网站,可实现对电脑监控的实时性和有效性。这些方法能提升信息系统稳定性和可靠性,满足用户需求。
32 0
|
8天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
16天前
|
数据库 SQL 索引
什么是数据库 SQL Execution Plan
什么是数据库 SQL Execution Plan
10 0
|
16天前
|
存储 缓存 NoSQL
Redis 服务器指南:高性能内存数据库的完整使用指南
Redis 服务器指南:高性能内存数据库的完整使用指南
|
存储 传感器 数据管理
【软件设计师备考 专题 】面向对象数据库和分布式对象:理解新的数据管理概念
【软件设计师备考 专题 】面向对象数据库和分布式对象:理解新的数据管理概念
50 0
|
25天前
|
存储 数据采集 数据挖掘
【软件设计师备考 专题 】数据仓库和分布式数据库基础知识
【软件设计师备考 专题 】数据仓库和分布式数据库基础知识
194 0