HBase的协处理器是"移动计算而非数据"的一个很好的例子.不确定Aerospike是否支持类似的东西?
我们想部署aerospike作为memcache的替代品.我们有两台服务器来部署它.
对于缓存,我们不希望跨多个节点进行数据复制.在我们的架构中,每个节点都有一个缓存.
现在关于aerospike的问题是它是无共享架构,它增加了两个节点之间的同步.数据传输导致两台机器之间的带宽很多.由于我们处于1gbps网络并且缓存空间大约为4Gb,因此一旦缓存开始填满,它就会耗尽所有带宽.
我们只想在没有集群支持的情况下使用aerospike.
无论如何要在aerospike.conf中将其关闭?
如何从airospike中获取所有记录?以及如何获得具有必要价值的bin?
我有时间序列查找.我正在构建并请求相应的密钥,即使它们在一段时间内不存在(获得空记录).有没有更好的方法呢?例如,在获取之前检查密钥是否存在?
谢谢
我对lua和aerospike很新.我想开发一个在aerospike上运行的UDF,但我无法通过调试选项找到一种方法.
我试图安装eclipse LDT,但它似乎无法找到aerospike要求.
我怎样才能做到这一点?
我尝试了一些简单的事情:加载表格的所有记录并打印.
function test(rec)
print(rec['bin1'])
end
Run Code Online (Sandbox Code Playgroud)
当然我创建了表并插入了记录.
谢谢
使用Aerospike aql工具,可以执行"SHOW SETS"查询并获取命名空间中所有可用集的列表.但是如何使用Aerospike golang客户端获取此列表?
我很难从AeroSpike文档中了解以下内容:
http://www.aerospike.com/docs/client/python/usage/kvs/record-structure.html
记录还有两个与之关联的元数据值 - 记录生成(已修改的次数)及其ttl.可以将ttl设置为剩余的第二个数,直到它被认为已过期,或者设置为0(对于"永不过期"和默认值).ttl已过期的记录将由服务器进行垃圾收集.每次写入或触摸记录时(使用touch()),其ttl将重置.
我最初的想法是,如果命名空间策略默认ttl设置为0,那么记录将不会过期.
我的Aerospike命名空间配置如下:
namespace brand {
replication-factor 2
memory-size 4G
default-ttl 0 # 30 days, use 0 to never expire/evict.
storage-engine memory
# To use file storage backing, comment out the line above and use the
# following lines instead.
set twitter {
set-disable-eviction true
}
storage-engine device {
file /opt/aerospike/data/bar.dat
filesize 16G
data-in-memory true # Store data in memory in addition to file.
}
}
Run Code Online (Sandbox Code Playgroud)
我在数据库中做了一些插入,然后当我检索数据时,我得到了以下内容:
{ name: 'test',
twitter: 'test',
domain: 'test.com',
description: 'Your …Run Code Online (Sandbox Code Playgroud) 我正在尝试在aerospike中存储地图并根据地图的关键字获取数据.
首先,我在bin上创建了一个Index,我正在存储地图
aql> create mapkeys index status on test.myset (state) String
aql> show indexes
+--------+---------+-----------+---------+-------+-----------+---------+------------+----------+
| ns | bin | indextype | set | state | indexname | path | sync_state | type |
+--------+---------+-----------+---------+-------+-----------+---------+------------+----------+
| "test" | "state" | "MAPKEYS" | "myset" | "RW" | "status" | "state" | "synced" | "STRING" |
+--------+---------+-----------+---------+-------+-----------+---------+------------+----------+
1 row in set (0.000 secs)
OK
Run Code Online (Sandbox Code Playgroud)
然后我用java客户端来存储地图
AerospikeClient client = new AerospikeClient("127.0.0.1",3000);
WritePolicy writePolicy = new WritePolicy();
writePolicy.timeout=500;
for(int i = 1;i<10;i++){
Key key …Run Code Online (Sandbox Code Playgroud) 我有一个应用程序需要能够指向基于配置文件的任何aerospike数据库,据我所知,使用UDF调用.lua文件将首先安装在aerospike服务器上,我无法保证.有没有一种简单的方法来使用Java客户端更新特定的航空记录记录的元数据?
我们正在使用Aerospike DB,并正在阅读文档。
我找不到很好的算法解释来解释主索引和次索引的工作原理。
该文档说,它使用某种分布式哈希+ B树。
有人可以解释一下。