Reputation: 707
I hope this is the right way and place to ask this question. I need to make a massive logging application for my web customers, their activities basically. We have over 1 million customers and in a day their activities could be 10,000 actions per customer. So in all, we should be ready to chart the performance of about 10 billion items.
Because this is a log, we can use something simple like SimpleDB or DynamoDB (I understand ElastiCache is not the right solution for this as we need a raw base database logging everything, and then maybe a DB with the aggregates calculated from that raw data).
Question: our server is on Rackspace. All we need is a DB hosted remotely on AWS and query-able from our Rackspace server. Is this possible or can we only use the AWS database solutions only if we're on EC2?
Also, any ideas about the best ways to query+chart data from DynamoDB would be great, unless that's a separate question.
Thanks!
Upvotes: 0
Views: 654
Reputation: 739
Yes you can use DynamoDB without any of the other Amazon services. You do not need to be running from an EC2 instance.
Just be aware all of your data storing and retrieval will be going over the internet so latency will play a part. But as you are basically storing log information this should be fine.
Have a look at using the Dynamo API for how you can store data in dynamo via http and json http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/API.html
There are SDK's for Ruby, .net and more if this is helpful. http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/UsingAWSsdkForDotNet.html http://aws.amazon.com/sdkforruby/
Querying can be done using the API's and SDKs.
As for charting... that's a whole other question. If charting is your only requirement to storing this data, have you thought of something like statsd/graphite. http://matt.aimonetti.net/posts/2013/06/26/practical-guide-to-graphite-monitoring/
Upvotes: 1