You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建Aerospike的Namespace与Set?是否仅支持配置文件方式

结论先行

5年前博客提到的「仅能通过修改配置文件创建Namespace」的说法完全属实,不存在运行时动态创建Namespace的操作命令;但Set不需要提前手动创建,也不需要修改配置,写入第一条数据时会自动生成。

Namespace 具体操作方法

Namespace是Aerospike的顶层存储隔离单元,对应独立的存储配额、副本策略、持久化规则、引擎类型等核心配置,属于集群级静态资源,必须在所有节点的配置文件中预定义后滚动重启生效:

    1. 登录集群每台节点,编辑Aerospike默认配置文件/etc/aerospike/aerospike.conf
    1. 添加目标Namespace的配置段,基础配置示例如下:
# 命名为demo_ns的namespace配置示例
namespace demo_ns {
  # 副本数设置为2
  replication-factor 2
  # 分配4G内存用于数据缓存
  memory-size 4G
  # 存储引擎配置
  storage-engine device {
    # 持久化文件路径
    file /opt/aerospike/data/demo_ns.dat
    # 持久化文件大小16G
    filesize 16G
    # 数据常驻内存开启
    data-in-memory true
  }
}
    1. 逐台执行节点重启操作,严格遵循滚动重启规则:单台节点重启完成、通过asadm确认集群回到健康状态后,再操作下一台节点,避免业务中断。
    1. 所有节点重启完成后,在aql或asadm中执行show namespaces,确认新Namespace已在集群中生效。

注意:Namespace创建完成后,存储引擎类型、副本数这类核心参数修改仍需调整配置文件后滚动重启,不支持热更新。

Set 具体操作方法

Set是Namespace下的逻辑数据分组,类似关系型数据库中的表,没有预创建流程:

  • 不需要修改配置,也不需要执行专门的创建命令,当你第一次向指定Namespace下的目标Set写入第一条数据时,Set会被自动创建。
  • 比如在aql命令行中直接执行以下写入语句,不存在的demo_set会自动生成:
INSERT INTO demo_ns.demo_set (PK, username, register_time) VALUES ('u_1001', 'test_user', 1717209600)
  • 如果需要给Set配置独立的记录配额、二级索引、默认TTL等规则,可以在Set自动生成后通过动态配置命令、客户端接口直接设置,无需重启节点。
  • Set不支持直接删除,需要清空Set数据时可调用truncate接口,或配置数据过期策略让数据自动淘汰。

内容的提问来源于stack exchange,提问作者Sravanth Sai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 18:09:36