最好的数据存储解决方案,用于小的数学数据,但快速和具有聚合功能。

时间:2023-01-23 08:47:41

I'm looking for a data storage solution for a project with these requirements:

我正在为一个有这些需求的项目寻找数据存储解决方案:

  1. The application creates dynamically a containter/table in the store.
  2. 应用程序在商店中动态创建一个容器/表。
  3. For a small period of time (two weeks for example) that table/container gets a huge amount of inserts in parallel. Last read have to be immediately available.
  4. 在一小段时间内(例如两周),表/容器会并行地获得大量的插入。最后一次阅读必须立即提供。
  5. The data inserted is very small, 4 to 6 numeric columns.
  6. 所插入的数据非常小,有4到6个数字列。
  7. Small query/filtering support is required, but no joins or cross queries.
  8. 需要小的查询/过滤支持,但不需要连接或交叉查询。
  9. Is needed to execute some aggregate functions like "Count", "Sum", "Max", "Min" and "Avg".
  10. 需要执行一些聚合函数,如“Count”、“Sum”、“Max”、“Min”和“Avg”。

Basically, I need something like Windows Azure Table Storage but with aggregate functions.

基本上,我需要Windows Azure表存储之类的东西,但需要具有聚合功能。

What would you recommend?

你有什么建议?

6 个解决方案

#1


4  

RavenDB supports all you mentioned and more. Its scales very well, and supports aggregate functions via Map/Reduce queries and Linq queries. It also can run in-memory.

RavenDB支持你提到的所有内容。它的伸缩性非常好,并且通过Map/Reduce查询和Linq查询支持聚合函数。它也可以在内存中运行。

#2


3  

MongoDB is also a good choice. It supports group (aggregate) queries on single-node installation. If you need to scale you can create sharded cluster and use map/reduce for aggregation needs - but Mongo map/reduce performance isn't top level when comapring to other solutions.

MongoDB也是一个不错的选择。它支持单节点安装上的组(聚合)查询。如果需要扩展,可以创建分片集群并根据聚合需求使用map/reduce——但是当与其他解决方案合并时,Mongo map/reduce性能并不是*别。

If you need big performance in map/reduce you can take look at Hadoop

如果需要在map/reduce中获得较大的性能,可以查看Hadoop

#3


1  

Why don't you use SQL Azure? It support Aggregate function and meet all of your needs, take a look at this table

为什么不使用SQL Azure呢?它支持聚合函数并满足您的所有需求,请看这个表

#4


0  

If it does not have to be free, kdb+ would be a good choice. It is a system mainly uses in finance for time series analysis. It supports everything you ask for and is incredibly fast. There is a free trial version available, but to use it in production it is...expensive. It is fully queryable with a sql-like syntax and fully programmable with a proprietary language called q which is in the apl family.

如果不需要免费,kdb+将是一个不错的选择。时间序列分析是一种主要应用于金融领域的系统。它支持你所要求的一切,而且速度非常快。有一个免费的试用版本,但是在生产中使用它是很昂贵的。它是完全可查询的,具有类似sql的语法,完全可编程的专用语言q在apl中。

http://www.kx.com/

http://www.kx.com/

#5


0  

For the requirements listed in the question body, any competent SQL server on the market would handle this, altho you would need to set up some indexes to get things to be super fast.

对于问题主体中列出的需求,市场上任何性能良好的SQL服务器都可以处理这个问题,但是您需要设置一些索引以使事情变得超级快。

But that's like saying, if you want your car to go fast, you have to put it in D and press the gas pedal, so that's that fwiw.

但这就像说,如果你想让你的车开得快,你必须把它放进D,然后按下油门踏板,这就是fwiw。

#6


0  

Really need more info on the requirements and budget... but, since people are just throwing up some answers, I'll throw this one into the mix:

确实需要更多关于需求和预算的信息…但是,既然人们只是提供了一些答案,我就把这个加入其中:

There are some very cool, and very expensive, hardware solutions built to run massively parallel SQL queries, such as the Netezza Skimmer or TwinFin

有一些非常酷、非常昂贵的硬件解决方案是为运行大规模并行SQL查询而构建的,比如Netezza Skimmer或TwinFin

http://www.netezza.com/data-warehouse-appliance-products/skimmer.aspx

http://www.netezza.com/data-warehouse-appliance-products/skimmer.aspx

Almost makes me wish our data warehouse was too slow - just so I could get one of these puppies.

我真希望我们的数据仓库太慢了,这样我就能得到一只这样的小狗。

#1


4  

RavenDB supports all you mentioned and more. Its scales very well, and supports aggregate functions via Map/Reduce queries and Linq queries. It also can run in-memory.

RavenDB支持你提到的所有内容。它的伸缩性非常好,并且通过Map/Reduce查询和Linq查询支持聚合函数。它也可以在内存中运行。

#2


3  

MongoDB is also a good choice. It supports group (aggregate) queries on single-node installation. If you need to scale you can create sharded cluster and use map/reduce for aggregation needs - but Mongo map/reduce performance isn't top level when comapring to other solutions.

MongoDB也是一个不错的选择。它支持单节点安装上的组(聚合)查询。如果需要扩展,可以创建分片集群并根据聚合需求使用map/reduce——但是当与其他解决方案合并时,Mongo map/reduce性能并不是*别。

If you need big performance in map/reduce you can take look at Hadoop

如果需要在map/reduce中获得较大的性能,可以查看Hadoop

#3


1  

Why don't you use SQL Azure? It support Aggregate function and meet all of your needs, take a look at this table

为什么不使用SQL Azure呢?它支持聚合函数并满足您的所有需求,请看这个表

#4


0  

If it does not have to be free, kdb+ would be a good choice. It is a system mainly uses in finance for time series analysis. It supports everything you ask for and is incredibly fast. There is a free trial version available, but to use it in production it is...expensive. It is fully queryable with a sql-like syntax and fully programmable with a proprietary language called q which is in the apl family.

如果不需要免费,kdb+将是一个不错的选择。时间序列分析是一种主要应用于金融领域的系统。它支持你所要求的一切,而且速度非常快。有一个免费的试用版本,但是在生产中使用它是很昂贵的。它是完全可查询的,具有类似sql的语法,完全可编程的专用语言q在apl中。

http://www.kx.com/

http://www.kx.com/

#5


0  

For the requirements listed in the question body, any competent SQL server on the market would handle this, altho you would need to set up some indexes to get things to be super fast.

对于问题主体中列出的需求,市场上任何性能良好的SQL服务器都可以处理这个问题,但是您需要设置一些索引以使事情变得超级快。

But that's like saying, if you want your car to go fast, you have to put it in D and press the gas pedal, so that's that fwiw.

但这就像说,如果你想让你的车开得快,你必须把它放进D,然后按下油门踏板,这就是fwiw。

#6


0  

Really need more info on the requirements and budget... but, since people are just throwing up some answers, I'll throw this one into the mix:

确实需要更多关于需求和预算的信息…但是,既然人们只是提供了一些答案,我就把这个加入其中:

There are some very cool, and very expensive, hardware solutions built to run massively parallel SQL queries, such as the Netezza Skimmer or TwinFin

有一些非常酷、非常昂贵的硬件解决方案是为运行大规模并行SQL查询而构建的,比如Netezza Skimmer或TwinFin

http://www.netezza.com/data-warehouse-appliance-products/skimmer.aspx

http://www.netezza.com/data-warehouse-appliance-products/skimmer.aspx

Almost makes me wish our data warehouse was too slow - just so I could get one of these puppies.

我真希望我们的数据仓库太慢了,这样我就能得到一只这样的小狗。