0

假设我们要构建一个简单的 Google Analytics 克隆,跟踪页面浏览量。我们将在跟踪网页浏览量的网站上放置 javascript。

  • javascript可以直接将数据转储到数据库中而无需通过服务器(首选)吗?
  • 我们显然想在那里转储大量数据。数十亿行。
  • 数据库是否可以在尽可能少的干扰的情况下轻松扩展?(DynamoDB 的模型很完美:0 开销)。
  • 我们可以做一些灵活的查询吗:按日期限制,按多个标签过滤/限制?
4

1 回答 1

0

javascript可以直接将数据转储到数据库中而无需通过服务器(首选)吗?

对于我所知道的数据库,这将需要浏览器客户端对数据库具有写访问权限,这样攻击者就很容易用一些简单的 JavaScript 污染您的数据库。如果这很痛苦,那当然是可能的。对于CouchDBCloudant 之类的东西,您只需使数据库全局可写(但不可读取或可编辑),因此客户端可以在事件发生时推送事件。

数据库是否可以在尽可能少的干扰的情况下轻松扩展?(DynamoDB 的模型很完美:0 开销)。

Cloudant 专门构建在BigCouch 之上,创建者构建它是为了处理每秒生成 PB 级数据的系统。所以,它可以扩展。它使用 Dynamo 的仲裁概念来最大化节点之间的一致性。

仅供参考:BigCouch 将于今年晚些时候与 CouchDB 合并。

我们可以做一些灵活的查询吗:按日期限制,按多个标签过滤/限制?

CouchDB、BigCouch 和 Cloudant 都使用 MapReduce 进行查询,这些查询在您的数据进入系统时构建,因此访问 MapReduce 查询的结果发生在O(log n)时间内。每个系统还提供了特殊方法,用于在发生更改时将有关更改的信息流式传输到数据库,这非常适合仪表板。

于 2013-06-03T20:45:31.097 回答