![]() |
Aerospike |
数据库模式 | Multi-model Document store,Key-value store,Spatial DBMS |
官网 | https://aerospike.com/ |
说明文档 | https://docs.aerospike.com/ |
安装说明 | |
数据类型说明 | |
DDL说明 | |
元数据说明 | |
示例代码 | |
驱动类 | com.aerospike.jdbc.AerospikeDriver |
驱动下载 | https://github.com/aerospike/aerospike-jdbc |
驱动maven | com.aerospike:aerospike-jdbc:1.7.5 |
JDBC-URL | jdbc:aerospike:{host}:{port}/{namespace} |
支持语言 | .Net,C,C#,C++,Erlang,Go,Java,JavaScript (Node.js),Lua,Perl,PHP,Python,Ruby |
支持接口 | JDBC,Proprietary protocol |
Aerospike是一款高性能、低延迟的分布式NoSQL数据库,专为需要快速响应和高吞吐量的应用场景设计,以下从其核心特性、架构、应用场景、安装配置要点等方面展开介绍:
核心特性
- 高性能与低延迟:提供亚毫秒级延迟,单节点可达百万级QPS,满足实时性要求高的业务场景,如广告实时竞价(RTB)、实时风控等。
- 高吞吐量与可扩展性:支持每秒数百万级别的事务处理,通过增加节点可线性提升集群的存储容量和处理能力,实现无缝扩展。
- 强一致性模型:支持可配置的强一致性,确保数据准确性,适用于对数据一致性要求严格的场景,如金融交易。
- 多模型支持:除键值存储外,还支持列表、映射等复杂数据类型,满足多样化数据存储需求。
架构设计
-
数据模型:
- 命名空间(Namespace):最高级别的数据划分单位,相当于数据库概念,每个命名空间可有不同存储配置和策略。
- 集合(Set):类似于关系型数据库中的表,用于对记录进行分类。
- 记录(Record):数据的基本存储单元,由唯一键(Key)和一组键值对(Bin)组成。
- 键值对(Bin):记录中的字段,每个Bin有名称和对应值,支持多种数据类型。
- 存储引擎:采用混合内存架构,将索引存储在内存中,数据存储在SSD或NVMe等高速存储介质上,并针对SSD写入特性进行优化,减少写放大效应,延长SSD使用寿命。
- 无中心节点设计:采用对等集群架构,无主节点或元数据节点,任何节点故障都不会导致集群不可用,通过自动分片与数据再平衡,使用一致性哈希算法将数据分片分布到不同节点,节点加入或退出集群时自动进行数据再平衡。
- 高可用性保障:通过数据复制和故障自动转移确保集群高可用性,支持同步或异步复制数据到多个副本,提高数据可靠性,提供原子性操作,确保并发环境下的数据正确性。
应用场景
- 广告实时竞价(RTB):对用户数据进行实时分析和响应,其低延迟特性非常适合。
- 实时推荐系统:存储和检索用户行为数据,提供个性化推荐。
- 金融交易平台:处理高频交易数据,要求高一致性和高可用性。
- 物联网(IoT)数据处理:处理来自大量设备的实时数据,要求高并发和低延迟。
- 用户画像和大数据分析:快速存储和检索大量用户属性和行为数据。
- 电商应用:用于商品搜索、库存管理、订单处理等场景,保证高峰期的稳定性和性能。
安装与配置要点
- 系统要求:操作系统推荐使用CentOS 7/8或Ubuntu 18.04/20.04,CPU建议至少8核心,内存根据索引大小和数据量建议32GB及以上,存储需高速SSD或NVMe磁盘,网络需千兆以上,推荐万兆网卡。
-
安装步骤:
-
社区版:可通过包管理器安装,如以CentOS为例,先添加Aerospike仓库,再使用
yum install aerospike-server-community
命令安装。 - 企业版:需从Aerospike官方网站下载对应版本安装包,并按文档安装,企业版4.6及以上版本服务器启动需功能密钥文件。
-
社区版:可通过包管理器安装,如以CentOS为例,先添加Aerospike仓库,再使用
-
配置要点:默认配置文件位于
/etc/aerospike/aerospike.conf
,需配置网络(服务端口、心跳机制和数据传输端口)、服务(线程数、协议类型等)、命名空间(存储方式、复制因子、过期策略等)。