您现在的位置是:主页 > 数据库技术 > 数据库技术

如何解决DynamoDB的问题

IDCBT2021-12-24服务器技术人已围观

简介如何解决DynamoDB的问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 DynamoDB 是 Amazon 基于

如何解决DynamoDB的问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

DynamoDB 是 Amazon 基于《 Dynamo: Amazon’s Highly Available Key-value Store 》实现的  NoSQL 数据库服务。它可以满足数据库无缝的扩展,可以保证数据的持久性以及高可用性。开发人员不必费心关注 DynamoDB  的维护、扩展、性能等一系列问题,它由 Amazon 完全托管,开发人员可以将更多的精力放到架构和业务层面上。

下面主要介绍作者所在团队在具体业务中所遇到的挑战,基于这些挑战为何最终选型使用 Amazon  DynamoDB,在实践中遇到了哪些问题以及又是如何解决的。文中不会详细讨论 Amazon DynamoDB 的技术细节,也不会涵盖 Amazon  DynamoDB 的全部特性。

背景与挑战

TalkingData 移动广告效果监测产品(TalkingData Ad  Tracking)作为广告主与媒体之间的一个广告投放监测平台,每天需要接收大量的推广样本信息和实际效果信息,并最终将实际的效果归因到推广样本上。

举个例子,我们通过手机某新闻类 APP  浏览信息,会在信息流中看到穿插的广告,广告可能是文字形式、图片形式、视频形式的,而不管是哪种形式的广告它们都是可以和用户交互的。

如果广告推送比较精准,刚好是用户感兴趣的内容,用户可能会去点击这个广告来了解更多的信息。一旦点击了广告,监测平台会收到这一次用户触发的点击事件,我们将这个点击事件携带的所有信息称为样本信息,其中可能包含点击的广告来源、点击广告的时间等等。通常,点击了广告后会引导用户进行相关操作,比如下载广告推荐的  APP,当用户下载并打开 APP 后,移动广告监测平台会收到这个 APP 发来的效果信息。到此为止,对于广告投放来说就算做一次成功转化。


DynamoDB实践:当数据量巨大而不可预知,如何保证高可用与实时性?

移动广告监测平台需要接收源源不断的样本信息和效果信息,并反复、不停的实时处理一次又一次转化。对于监测平台来讲,它的责任重大,不能多记录,也不能少记录,如果转化数据记多了广告主需要多付广告费给媒体,记少了媒体会有亏损。这样就为平台带来了几大挑战:

    数据量大:有的媒体为了利益最大化可能会采取非正常手段制造假的样本,产生“虚假流量”,所以广告监测平台除了会收到真实用户样本外,也会收到大量造假的样本,影响正常的监测和归因。在最“疯狂”的时候,我们的平台会在一天内收到  40 亿 + 的点击样本事件请求。要知道,这些点击样本事件是要保留下来作为后续效果归因用的,而且样本有效期大不相同,从最短 12 小时到最长 90  天不等。

    标签:

    很赞哦! ()

本栏推荐