- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
长话短说,我正在重写系统的一部分,并且正在寻找一种方法来在 AWS SimpleDB 中存储一些命中计数器。
对于那些不熟悉 SimpleDB 的人,存储计数器的(主要)问题是云传播延迟通常超过一秒。我们的应用程序目前每秒获得约 1,500 次点击。并非所有这些点击都会映射到同一个键,但大致数字可能是每秒对一个键进行 5-10 次更新。这意味着,如果我们使用传统的更新机制(读取、增量、存储),我们最终会无意中丢弃大量命中。
一种可能的解决方案是将计数器保留在内存缓存中,并使用 cron 任务推送数据。这样做的最大问题是这不是“正确”的方法。 Memcache 不应该真正用于持久存储……毕竟,它是一个缓存层。此外,当我们执行推送时,我们最终会遇到问题,确保我们删除了正确的元素,并希望在我们删除它们时没有争用它们(这很有可能)。
另一个潜在的解决方案是保留一个本地 SQL 数据库并在那里写入计数器,每隔这么多请求更新我们的 SimpleDB 带外,或者运行一个 cron 任务来推送数据。这解决了同步问题,因为我们可以包含时间戳来轻松设置 SimpleDB 推送的边界。当然,还有其他问题,虽然这可能适用于大量的黑客攻击,但它似乎不是最优雅的解决方案。
有没有人在他们的经历中遇到过类似的问题,或者有什么新颖的方法?任何建议或想法都将不胜感激,即使它们没有完全消失。我一直在考虑这个问题,并且可以使用一些新的观点。
最佳答案
现有的 SimpleDB API 并不适合作为分布式计数器。但它肯定可以做到。
严格在 SimpleDB 中工作,有两种方法可以使其工作。一种简单的方法,需要像 cron 作业这样的东西来清理。或者是一种更复杂的技术,可以随时清洁。
简单的方法
简单的方法是为每个“命中”制作不同的项目。只有一个属性是关键。快速轻松地用计数泵送域。当您需要获取计数时(可能不太频繁),您必须发出查询
SELECT count(*) FROM domain WHERE key='myKey'
SELECT count(*) FROM domain WHERE key='myKey' AND timestamp > '...'
11 --- 12
/
10 --- 11
\
11
关于amazon-web-services - 亚马逊 SimpleDB 问题 : Implementing counter attributes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1496066/
我不知道 simpledb 是否可以实现类似的功能。我正在尝试使用以下类型的 simpledb 数据结构。 每个项目都有多个名称/值对(这里的名称是属性名称)例如 项目1 serial_num ->
我刚刚开始使用 Amazon SimpleDB(第一次使用 noSQL),在设置我的第一个用户域并添加第一个项目(带有属性 id 和 name)时,我想知道项目名称应该是什么? 像 RDBMS id:
是否有等同于 SimpleDB 中的身份种子? 如果答案是否定的,您如何处理创建诸如客户编号或订单编号之类的内容以防止创建重复编号? 我的经验主要来自 SQL Server,其中我将创建一个带有标识种
你好, 我想删除 simpledb 中单个查询中的所有 ItemNames。 是否可以在简单数据库中。如果可能,请给出删除简单数据库中所有项目的查询 谢谢 森蒂尔 最佳答案 SimpleDB 没有任何
我在一家小型电子商务网站工作,我们希望迁移到所有 Amazon 托管服务,但我不确定 RDS 和 SimpleDB 的确切区别。 RDS可以用MySQL,SimpleDB不行吗? 最佳答案 RDS 基
我可以在 SimpleDB 中按属性删除而不在查询字符串中提供 ItemName 参数吗?我存储数据的方式是项目名称是 UUID,所以我不知道要删除的数据的 UUID。有没有办法只指定一个属性并让它删
我目前正在研究生成产品推荐的系统,例如 Amazon 上的产品推荐:“购买此产品的人也购买了此产品……” 当前场景: 提取客户的 Google Analytics 数据并将其插入数据库。 在客户的网站
由于 Amazon SimpleDB 不提供不区分大小写的查询,那么在 simpleDB 中对属性进行不区分大小写的搜索的最佳方法是什么? 可以做的一件事是包含一个单独的属性,即每个字符串的小写版本,
任何人都知道一个不错的 SimpleDB 管理器工具,基于 Web 或 Mac,最好是免费的?我很惊讶 AWS 没有内置。 最佳答案 退房 SDB Tool ,一个很棒的 Firefox 插件。它是免
我们目前正在使用 Amazon 的 SimpleDB 作为 Web 服务。数据非常简单,不需要SQL之类的东西。它基本上是一个“属性(property)袋”。 我们将在某个地方演示我们的项目,但我们肯
我正在 iPhone 上开发一款游戏,该游戏将使用 SimpleDB 进行游戏数据存储,并且我希望能够使某些数据库条目超时。 我想我将有一些 cron 作业来查看每个条目的时间戳,如果它的增量大于 X
我们目前正在使用 Amazon 的 SimpleDB 作为 Web 服务。数据非常简单,不需要SQL之类的东西。它基本上是一个“属性(property)袋”。 我们将在某个地方演示我们的项目,但我们肯
美好的一天, 我正在尝试使用 iOS SDK 在 SimpleDB 上选择一个项目。这个问题是我知道如何做的唯一方法是使用 SimpleDBGetAttributesRequest 获取项目名称,然后
有谁知道在哪里可以找到关于读/写 simpledb 的字符限制的文档。我尝试了一些带有特殊字符的写入,但都失败了。 诸如编码和允许的字符集以及字符设置之类的东西会很有帮助。 最佳答案 1024 字节,
是否可以在 SimpleDB 域上选择修改的项目? 我有一个大型数据库,我想知道每天修改了哪些项目。我知道我可以添加一个新字段并在每次记录更改时更新它,但我想知道数据库中是否内置了类似的东西供我使用而
我正在为我的 Web 应用程序使用 Amazon SimpleDB。我正在寻找像 phpMyAdmin 这样的工具,它允许我从一个地方管理数据库(查看我的所有域、查看所有记录 - 运行测试查询等),但
我有一个坐标,假设任何纬度和经度值。 我在 SimpleDB 上有一个域设置,其中包含许多具有“纬度”和“经度”属性的项目(简单字符串)。现在我想要做的是查询 SimpleDB 并查看当前位置坐标是否
我想使用 SelectRequest 查询 SimpleDB。这是我的代码: String id = String.valueOf(request.getParameter("userid")); S
official documentation状态: Raw byte size (GB) of all item IDs + 45 bytes per item + Raw byte size (GB
请问,您能否举例说明使用 SimpleDB 作为主要持久存储的实际实现? 最佳答案 为什么不从亚马逊的case studies开始呢? ? 关于nosql - SimpleDB 作为主数据库,示例,我
我是一名优秀的程序员,十分优秀!