Alternative to Windows Azure tables out of the cloud

南楼画角 提交于 2019-12-06 10:21:21

If you think what Windows Azure Table Storage is, it is a Key-Value pair based non-relational databse which is accessible through REST API. Please download this document about Windows Azure and NoSQL database details.

If I were in your situation, my approach would have been to find something similar to Azure Table Storage which I can access over REST and have similar accessibility API. So if you try to find the similar database to run on a machine you really need to look for:

  1. Key Value Pair DB
  2. Support for basic operations i.e add, delete, insert, modify an entity
  3. Partition Key and Row Key based Accessibility
  4. RESTful Interface to connect

If you would want to try something you sure can look at:

  • DBreeze (C# based Key Value Pair NoSQL DB) I just saw it and looks exciting
  • Googles LevelDB (Key Value Pair DB, open source and available on Windows) I have no idea about API
  • Redis (Great Key-Value Pair DB but not sure for Windows compatibility and API)

Here is a list of key/value databases without additional indexing facilities are:

  • Berkeley DB
  • HBase
  • MemcacheDB
  • Redis
  • SimpleDB
  • Tokyo Cabinet/Tyrant
  • Voldemort
  • Riak

If none works, you sure can get any of open source DB and modify to work for your requirement and then make that available to others as your contribution to community.

ADDED

Now you can use Windows Azure Virtual Machine to run any kind of Key-Value pair DB on Linux or Windows Machine and connection with your application.

I'm not sure which storage solution to recommend, but just about any database solution would work provided that you write an Interface to abstract all your data storage code. Then write implementations of that interface for Azure Table storage and whatever other database you want to use on the non-cloud server

You should be doing that anyway so that your code isn't tightly coupled with Azure Table Storage APIs.

If you combine coding against that Interface with an IoC container, then a single line of code or a single configuration setting would enable you to switch between data implementations based on which platform the code is running on.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!