具有分析功能的NoSQL

我正在寻找支持分析函数(简称AF )的任何NoSQL系统(最好是开源),就像Oracle / SQL Server / Postgres一样。 我没有找到任何内置函数。 我已经阅读了有关Hive一些信息,但它没有AF (windows,first_last values,ntiles,lag,lead等)的实际特征,只有直方图和ngram。 还有一些NoSQL系统(例如Redis )支持map / reduce,但我不确定AF可以替换它。

我想做一个性能比较来选择Postgres或NoSQL系统。

所以,简而言之:

  • 使用AF搜索NoSQL系统
  • 我可以依靠map / reduce来代替AF吗? 它快速,可靠,易于使用。
  • PS。 我试图让我的问题更有建设性。


    当涉及某个聚合王(平均数,中位数,标准偏差)或某种排​​序(第一个,最后一个)时,某些函数使用所有现有数据的知识。

    如果您想要一个支持开箱即用的AF的分布式NOSQL解决方案,系统将需要依靠一些集中式索引和元数据来保存有关所有节点中的数据的信息,因此具有主节点并且可能具有单点故障。

    你必须问问你希望用NoSQL完成什么。 你想要无模式表? 分布式数据? 更简单的查询的原始性能更好?

    根据您的需求,我在这里看到三个主要的选择:

    1 - 使用没有单点故障的分布式NoSQL(即:Cassandra)来存储数据并使用map / reduce处理数据并生成所需功能的结果(几乎所有主要的NoSQL解决方案均支持Hadoop)。 需要注意的是map / reduce查询不是实时的(可能需要几分钟或几小时来执行查询),并且需要额外的设置和学习。

    2 - 使用支持MySQL Cluster等多个服务器的传统RDBMS

    3 - 使用支持主 - 从拓扑的NoSQL,支持像Mongo这样的临时和聚合查询

    至于第二个问题:是的,你可以依靠M / R来取代AF。 你几乎可以用M / R做任何事情。


    一旦你真正理解了MapReduce的工作原理,你可以用几行代码完成很棒的事情。

    这是一个很好的视频课程:

    http://code.google.com/intl/fr/edu/submissions/mapreduce-minilecture/listing.html

    真正的难题在于你可以用一个MapReduce实现的功能和那些需要链接的MapReduce的功能。 此外,一些不错的MapReduce实现(如CouchDB)不允许您轻松链接MapReduce。

    链接地址: http://www.djcxy.com/p/11383.html

    上一篇: NoSQL with analytic functions

    下一篇: Java regarding <E> in public static <E> void