哪种NoSQL解决方案可以让我们轻松创建分析产品?

时间:2013-06-03 17:47:35

标签: nosql amazon-dynamodb

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

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

1 个答案:

答案 0 :(得分:0)

  

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

对于我所知道的数据库,这将要求浏览器客户端具有对数据库的写访问权限,这样攻击者可以通过一些简单的JavaScript来污染您的数据库。如果这是可以忍受的,那么它肯定是可能的。对于类似CouchDBCloudant的内容,您只需使数据库全局可写(但不可读或可编辑),因此客户端可以在事件发生时进行推送。

  

数据库是否可以轻松扩展,干扰尽可能小? (DynamoDB的模型非常完美:0开销)。

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

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

  

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

CouchDB,BigCouch和Cloudant都使用MapReduce进行查询,这些查询在您的数据进入系统时构建,以便在O(log n)时间内访问MapReduce查询的结果。每个系统还提供特殊方法,用于在发生更改时流式传输有关数据库更改的信息,这对于仪表板来说是完美的。