Когда использовать какую базу данных? т. е. какие параметры следует учитывать при выборе базы данных для использования?

Я разрабатываю систему, которая имеет несколько модулей,

  1. Демография пользователей социальных сетей - (Документ) - Имя, местонахождение, интересы, работа, образование
  2. Связи пользователей социальных сетей - (График) - друзья
  3. CRM - (строки и столбцы) - телекоммуникации + банковское дело и т. д.

назвать несколько. Я почти уверен, что уже побил миллионы рекордов в каждом из них.

Когда я ищу базу данных NoSql на выбор, у меня есть как минимум 10 в каждой категории. Для базы данных документов у меня есть массив справа от MongoDB до DjonDB. Это тот же случай, когда я ищу базу данных графов и т. д. и т. д. А также я видел другие базы данных хранилища ключей, столбцовые базы данных и т. д., чтобы назвать несколько на http://nosql-database.org /.

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

Какие базы данных лучше всего подходят для какого типа данных и почему? и самое главное Какие базы данных хуже всего подходят для какого типа данных и почему?

Спасибо


person rishiehari    schedule 27.11.2012    source источник


Ответы (1)


Это очень открытый вопрос, но я попробую.

Некоторые вещи, которые следует иметь в виду:

  1. Выберите базу данных, вокруг которой существует большое (не очень хорошее, а отличное) сообщество. Вы можете найти FooDB, и он утверждает, что делает все, что вы хотите, но никто не вносит в него свой вклад, тогда вы создадите свое приложение на основе мертвой технологии. Вам нужны активные вклады, много клиентов с производственными развертываниями и, в идеале, что-то не в его первой версии.

  2. Попробуйте найти технологии, которые хорошо сочетаются друг с другом. Например, Elastic Search, MongoDB, CouchDB, Couchbase более-менее работают с JSON. Это должно помочь вам сузить выбор технологий.

  3. Я бы не стал слишком распыляться. Каждый тип базы данных (график, документ, строка/столбец, пара ключ-значение) имеет свою собственную кривую обучения. Требуется довольно много времени, чтобы научиться моделировать данные денормализованным способом. Чем больше у вас разнообразия, тем сложнее будет поддерживать все эти разные базы данных.

  4. Не знаю, почему я редко воспринимаю это как совет, но я бы выбрал то, что вам действительно нравится разрабатывать. Синтаксис запроса кажется интуитивно понятным и увлекательным? Если нет, вы будете ненавидеть развиваться в нем. Это не самый важный фактор, но я думаю, что его следует учитывать.

person ryan1234    schedule 08.03.2013