您的位置:首页 > 业界新闻

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

2017-01-06 17:59 507 查看
本人原创作品,转载注明出处: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/



本人原创作品,转载注明出处:http://blog.csdn.net/yanshu2012/article/details/54140429
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息