简单介绍

aerospike目前有开源版本和企业版本,aerospike主要分为三部分aerospike-server、aerospike-tools、aerospike-amc。
aerospike-server是服务节点,主要用于数据的存储和查询。aerospike-tools是工具包,里面有asbackup、asrestore、aql等常用工具包。aerospike-amc是监控平台,通过amc可以查看整个as集群的状态,比如数据存储量、可用磁盘、可用内存等。

aerospike的数据结构

  1. Namespaces
    Namespaces是as数据库的最高层级,相当于关系型数据库的库层级。

  2. Sets
    Sets,相当于关系型数据库的表。Sets属于Namespaces。

  3. Records
    类比于关系型数据库的行,包含Key、Bins和Metadata。Key唯一,一般是通过Key查询指定信息。Bins相当于列。Metadata一般存储ttl等基本信息。

aerospike如何使用

首先我们访问官网https://docs.aerospike.com/,官网是我们学习知识首先考虑的途径。

进入官网后,选择Docs,可以看到左边有一系列菜单,首先可以根据以下指导进行安装。

不过在安装之前,我们需要了解为什么使用aerospike,aerospike的优势在于哪里?我们在学习一个工具、一门技术或者一门语言之前,一定要了解清楚自己的学习目标。为什么要学?aerospike的使用场景是哪些?相比较于redis有什么优势?

aerospike和redis的优势对比

  1. aerospike存储支持两种模式,SSD和内存。Redis仅能存储在内存中。这意味着大规模扩展aerospike有非常好的成本优势,而aerospike利用SSD能够提供具有竞争力的性能。
  2. aerospike支持多线程,而Redis仅能支持单线程。
  3. aerospike是建立在持久化的基础上的,索引存储在内存里面,而数据存储在SSD里面。aerospike通常具有亚毫秒级数据访问速度,即使数据库中有数十亿条数据,或几十或者几百TB的数据。而Redis的持久性是通过快照和附件文件达成的,这可能会导致大幅度的性能下降甚至导致数据丢失。

java客户端集成

了解了aerospike的优势之后,我们接着学习aerospike的使用方法吧。我们先看下用java写、读、删除、修改一条记录的方法吧。

// 写入单个值
Key key = new Key("test", "myset", "mykey");
Bin bin = new Bin("mybin", "myvalue");
client.put(policy, key, bin);
// 写入多个值
Bin bin1 = new Bin("name", "John");
Bin bin2 = new Bin("age", 25);
client.put(policy, key, bin1, bin2);
// 删除值,设置值为空
Bin bin1 = Bin.asNull(binName1); // Set bin value to null to drop bin.
client.put(policy, key, bin1);
// 写入数据并设置有效期为2s
WritePolicy writePolicy = new WritePolicy();
writePolicy.expiration = 2;
client.put(writePolicy, key, bin);
// 读取所有列
Record record = client.get(policy, key);
// 读取两列数据,name和age
Record record = client.get(policy, key, "name", "age");
// 删除namespace为test,set为myset,key为mykey的数据
Key key = new Key("test", "myset", "mykey");
client.delete(policy, key);
// 通过批处理读取多条数据
Key[] keys = new Key[size];for (int i = 0; i < size; i++) {keys[i] = new Key("test", "myset", (i + 1));
}Record[] records = client.get(policy, keys);

如果想了解其他语言的使用方式,可以在官网https://docs.aerospike.com/server/guide/single获取使用方式。比如python、golang等语言。

备份和恢复

作为一个数据库,在使用过程中避免不了的是导入和导出的功能。从https://docs.aerospike.com/tools/backup/asbacku可以asbackup和asrestore的使用说明。

我们先介绍一下asbackup的一些重要参数

--host,默认是127.0.0.1,表示连接的as集群地址。
--port,默认是3000,表示连接as集群的端口
--parallel,并行度,表示并行运行的最大扫描调用数。一个namespace是4096个分区。如果设置为4,则分为4个scan分别扫描1024个分区。parallel参数一般设置越大,导出的效率会越高。但是as集群的cpu使用率会提升,as集群的读写耗时可能会增加。所以在设置parallel的时候需要根据业务场景进行设置,一旦发现影响业务正常运行需要马上kill掉。kill掉进程之后导出会马上停止,as集群会逐渐恢复正常。
--directory,导出路径,在导出时候需要确保该目录下是没有文件的。
--compress,压缩算法,可设置为zstd,压缩效率是2倍多。

asrestore同样也有一些重要参数

--host,默认是127.0.0.1,表示连接的as集群地址。
--port,默认是3000,表示连接as集群的端口
--parallel,为写入群集而生成的客户端线程数。较高的数字意味着更快的恢复,但这可能会对服务器性能产生负面影响。但是as集群的cpu使用率会提升,as集群的读写耗时可能会增加。所以在设置parallel的时候需要根据业务场景进行设置,一旦发现影响业务正常运行需要马上kill掉。kill掉进程之后导出会马上停止,as集群会逐渐恢复正常。
--directory,导出路径,在导出时候需要确保该目录下是没有文件的。
--compress,压缩算法,可设置为zstd,压缩效率是2倍多。

aerospike小白老手都爱的使用经验相关推荐

  1. html和css还有js表白网页大总结,小白老手都能看

    HTML表白网页,直男暖男撩妹必备 介绍 简单易学 最后说明 介绍 适合初学者学习,感受开发的魅力,也可以去参考来完成课程作业或者简单毕设要点,最重要的是可以装13撩妹. 简单易学 下载链接在这里点击 ...

  2. 都爱云支付首页模板(上传即可使用)

    简介: 上次给大家分享了个仿写都爱云模板因为只是发的index.php很多小白站长不知道如何使用,今天给大家分享一个直接上传到模板文件的插件版都爱云首页模板(上传即可使用) 网盘下载地址: http: ...

  3. 2014 年编程语言排名,人人都爱 TypeScript

    前几年(2012版,2013版) 的排名缺少了 Andrew Binstock 的栏目 --"编程语言的起伏".这个在去年在已经闭刊的 Dr.Dobb Journal 上发表过了( ...

  4. 青龙面板薅羊毛–都爱玩(日收益2元左右)

    青龙安装部署教程 没服务器的先自行购买,腾讯云2H4G8M首年70–点击购买 QQ交流:1014549449 --------------点击跳转 1.项目介绍: 看广告获得分红币DAB,分红模式,每 ...

  5. ftp 工具_ftp工具软件,五大站长们都爱的ftp工具软件

    ftp工具是什么工具,可能有人会回答说不知道,因为一般只有从事网站管理的工作者会使用的多一点.但不是每个人生来就会的,所以刚开始肯定都会学习怎么使用ftp工具.这篇文章就来给大家推荐五大站长们都爱的f ...

  6. 聊聊身边的嵌入式,为什么老司机都爱后视镜

    为什么老司机都爱后视镜 有句话形容我们老司机的成长过程,叫:一年虎,二年狼,三年变成小绵羊.如果你不懂这句话的意思,证明你还不是一个合格的老司机.如果没和别人发生过亲(Gua)密(Ceng)接(Shi ...

  7. 魔兽世界联盟物价稳定的服务器,一个残酷的真相!在《魔兽世界》怀旧服,女生一般都爱选联盟...

    原标题:一个残酷的真相!在<魔兽世界>怀旧服,女生一般都爱选联盟 随着<魔兽世界>经典旧世的人气渐涨,暴雪又追加了3组PVP服,让不少没能抢注到心仪昵称的玩家欣喜若狂.这样一来 ...

  8. 过年,设计师都爱的烫金红色PSD装饰素材

    2021年了 春节也即将到来 出现了很多的相关素材 说起素材,过年,设计师都爱的烫金红色PSD装饰素材 一起来看看优图网 www.uppsd.com 带来了好英勇的都有哪些吧! 春节烫金新年海报PSD ...

  9. 为什么创业的人都爱跑步

    为什么创业的人都爱跑步?创业如同马拉松,需要朝向一个理想的持之以恒,正如AMT创业15载只为了一个共同的理想--使AMT成为一家中国人创办的世界级咨询服务企业.AMT董事长孔祥云先生与AMT共同创始人 ...

最新文章

  1. Swift - 使用SwiftHTTP通过HTTPS进行网络请求,及证书的使用
  2. 从CCF的改革看中国科技社团的改革
  3. HPC System Design
  4. 触发器代码(更新表A数据自动更新表B字段列)
  5. 关于计算机网络拓扑说法正确,计算机网络试题库 - 谢希仁(第六版)(答案解析)...
  6. 收集的yum命令博文
  7. 计算机的三个基本功能,操作系统的三个作用是什么
  8. html 图片剪裁压缩,HTML5 canvas实现图片拉伸、压缩与裁剪
  9. ArcGis Server开发Web GIS新手体验(二)
  10. devops 开发_DevOps如何消除开发瓶颈
  11. wps合并所有sheet页_别找了,你要的Excel多表合并都在这里了
  12. JasperReport报表开发(一)--原理介绍
  13. Linux运维之ntpdate同步网络时间
  14. MATLAB:数值微积分
  15. ureport 显示html,UReport2 与业务结合
  16. 先进核反应堆 ——新能源概论结课作业
  17. 北京上海开车遇加塞,像个人行不行?!
  18. 最重要Python面试题,逻辑题,Python与数学之美
  19. iOS 边学边记 直播SRT、UDT协议详解
  20. 2021Java面经:java封装的概念

热门文章

  1. 简单查询火车的时刻表
  2. 软考什么时候报名?2023年上半年软考报考指南来啦~
  3. [Beta阶段]第一次Scrum Meeting
  4. 期市财经:济南青外盘期货开户_10月8日外盘期货原油策略建议
  5. ubuntu更新adobe flash playe
  6. 【网络】运输层介绍以及主要协议(一)TCP
  7. torch(七)、Math operations(2)
  8. 将Unicode编码转换为汉字
  9. N76E003配置看门狗watchdog
  10. ArcGIS中根据DEM和地形起伏度进行地貌分类划分