DSP

Aerospike数据库实战(一) -- Aerospike是大数据时代互联网广告专用数据库,为RT

2019-07-13 12:02发布

本人原创作品,转载注明出处:http://blog.csdn.net/yanshu2012/article/details/54140429 长久以来互联网广告为了解决跨域cookie识别问题,数据精准营销等问题,处于整个交易链的中下游的Ad exchange 平台,DSP平台需要一款高性能的缓存数据库。尤其在RTB领域,整个竞价流程需要控制在100ms以内。媒体,Ad exchange ,DSP之间还存在天然的物理上的网络延迟,所以实际留给Ad exchange 平台,DSP平台从缓存数据库里读取数据的时间很少,一般需要控制在5ms内。为了应对这部分需求,Ad exchange ,DSP平台通常使用开源的Redis数据库。由于Redis数据库是内存型数据库,性能上基本上可以满足需求。但是同时带来了一个问题:需要大量内存来存储cookie映射关系,用户标签等,内存很贵,这部分存储成本非常高。进入大数据时代,大量使用内存导致的成本问题,尤为突出。在这种背景下Aerospike数据库应运而生。 Aerospike数据库相比于Redis有以下几个方面的优势:

1. Aerospike 成本低廉

Aerospike通过内存+SSD的方案代替Redis纯内存的方案,成本上有巨大优势。 根据Aerospike官方文档,计算出存储1亿cookie耗费:
[[http://www.aerospike.com/docs/operations/plan/capacity/]]
内存:64Byte*2(备份因子)*100000000 = 11G
硬盘:128Byte*2(备份因子)*100000000 = 22G
对比线上Redis持久化方案:
16G 内存(4.5G硬盘)
Aerospike Databases 双备份方案理论上比Redis持久化单备份方案成本小20%左右。
用Aerospike Databases 双备份方案存储50亿cookie,需要内存:11G*50/0.8(冗余系数) = 687.5G 硬盘: 22G*50/0.8(冗余系数) = 1375G
Redis持久化方案每一个key->value只存了一份,使用Aerospike ssd存储方案每一个key->value存储了两份 Aerospike 的value是存储到ssd中的。在一个key多个value的场景下,Aerospike 比Redis成本上的优势会更加明显。

2.Aerospike 读写性能优异

Aerospike 有与Redis匹敌的读性能,在某些场景下更好。Aerospike 写性能也不错。
具体性能对比可以参照下面文章: AerospikeDB与Redis性能比较:在AWS上的NoSQL基准测试

3. Aerospike 运维方便,官方文档很齐全

Aerospike 有社区版本和商业版本,由于是从商业版本开源而来,所以在运维方面(包括集群部署,扩容,升级)都非常方便。同时官方文档整理的非常好。
Aerospike 官网:http://www.aerospike.com/
ae.png
本人原创作品,转载注明出处:http://blog.csdn.net/yanshu2012/article/details/54140429