I am developing a web service that mainly returns C# datatables.
It currently caches the output results into memcached cluster which is refreshed by another cache updater based on the internal messages.
Since those caches don't expire, it is crucial to have good failover etc... As I go on with this, it gets quite 开发者_Python百科difficult to ensure failover or reliable cache key control on this bare bone memcached cluster.
Also the scalability is becoming an important concern since this is going to be behind a large traffic portal.
So I am thinking if any cloud-based DB service (AWS SimpleDB, AWS MySQL or Azure?) can be a good candidate for this.
I was using AWS SimpleDB recently and it seems very good, if all you need is to dump large matrices of data. I was writing a script in python so I used the associated library and that lets you do things like:
sdb = simpledb.SimpleDB('secret id')
forex_rates = sdb['forex'] # forex is the domain (table)
forex_date = forex_rates['2011-01-01'] #get a row of the domain
usd_rate = forex_date['USD'] #get a cell/datum
forex_date['USD'] = '1.435' #modify the cell
forex_date['USD'].save() # write the data back to the cloud
It's not a relational database as you probably already know.
If you are using Azure, have you looked into Azure AppFabric caching? From a quick glance at your needs, it looks like it would provide you with a cloud-appropriate cache model. Take a look
http://www.microsoft.com/windowsazure/AppFabric/Overview/default.aspx#top
精彩评论