Альтернатива таблицам Windows Azure из облака - PullRequest
2 голосов
/ 23 апреля 2010

Я занимаюсь разработкой приложения .NET, которое должно работать как на Azure, так и на обычных серверах Windows (2003). В нем нужно хранить несколько ГБ данных, а SQL Azure слишком дорог для меня, поэтому я буду использовать таблицы Azure в облачной версии. Можете ли вы порекомендовать решение для хранения данных, которое будет работать на отдельных серверах и иметь API и поведение, аналогичное таблицам Azure? Из того, что я видел, Server AppFabric не включает таблицы.

Ответы [ 2 ]

4 голосов
/ 07 июня 2012

Если вы думаете, что такое хранилище таблиц Windows Azure, это нереляционная база данных «пара ключ-значение», доступная через REST API.Пожалуйста, скачайте этот документ о деталях базы данных Windows Azure и NoSQL.

Если бы я находился в вашей ситуации, мой подход состоял бы в том, чтобы найти что-то похожее на хранилище таблиц Azure, к которому я могу получить доступ через REST и иметь аналогичный API доступности.Поэтому, если вы пытаетесь найти аналогичную базу данных для запуска на компьютере, вам действительно нужно искать:

  1. Key Value Pair DB
  2. Поддержка основных операций, таких как добавление, удаление, вставка, измените сущность
  3. Доступность на основе ключа раздела и ключа строки
  4. RESTful Интерфейс для подключения

Если вы хотите попробовать что-то, на что вы обязательно посмотрите:

  • DBreeze (основанная на C # пара значений ключей NoSQL DB) Я только что видел это и выглядит потрясающе
  • Googles LevelDB (пара значений ключей DB, с открытым исходным кодом и доступный наWindows) Понятия не имею об API
  • Redis (большая пара БД ключей-значений, но не уверен в совместимости с Windows и API)

Вот список баз данных ключей / значений бездополнительные возможности индексирования:

  • Berkeley DB
  • HBase
  • MemcacheDB
  • Redis
  • SimpleDB
  • Кабинет Токио / Тиран
  • Волдеморт
  • Риак

Если ни одна из них не работает, вы можете получить любую из БД с открытым исходным кодом и изменить ее так, чтобы она соответствовала вашим требованиям, а затем сделать ее доступной для других в качестве вашего вклада в сообщество.

ДОБАВЛЕНО

Теперь вы можете использовать виртуальную машину Windows Azure для запуска любого типа пары БД-ключ на Linux или Windows Machine и соединения с вашим приложением.

3 голосов
/ 03 мая 2010

Я не уверен, какое решение для хранения данных порекомендовать, но практически любое решение для баз данных будет работать при условии, что вы напишите интерфейс для абстрагирования всего своего кода хранения данных.Затем напишите реализации этого интерфейса для хранилища таблиц Azure и любой другой базы данных, которую вы хотите использовать на не облачном сервере

В любом случае вам следует делать это, чтобы ваш код не был тесно связан с API хранилища таблиц Azure..

Если вы комбинируете кодирование для этого интерфейса с контейнером IoC, то одна строка кода или один параметр конфигурации позволят вам переключаться между реализациями данных в зависимости от платформы, на которой выполняется код.

...