I'm looking for a data storage solution for a project with these requirements:
Basically, I need something like Windows Azure Table Storage but with aggregate functions.
What would you recommend?
You can just write it to the database, and when the volume exceeds the capacity of the DB to handle, you can shard the database (= have multiple subsets of the data sit on different database servers). Benefit: you can use a relational DB and don't have to learn anything new.
Finally, you shouldn't store credit card information in your database unless you absolutely need to. This includes credit card owner names, numbers, CVV numbers, and expiration dates.
What Is an Aggregate Function in SQL? An aggregate function in SQL performs a calculation on multiple values and returns a single value. SQL provides many aggregate functions that include avg, count, sum, min, max, etc.
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.
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.
If you need big performance in map/reduce you can take look at Hadoop
Why don't you use SQL Azure? It support Aggregate function and meet all of your needs, take a look at this table
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With