Локальный SQLite против удаленного MongoDB

Я разрабатываю новый веб-проект и, изучив некоторые варианты масштабируемости, я придумал два решения для баз данных:

  • Локальные файлы SQLite, тщательно разработанные для масштабируемости (один новый файл базы данных для каждого пользователя X , поскольку запись будет зависеть от пользовательского контента, без межпользовательской зависимости данных);
  • Удаленный сервер MongoDB (например, Mongolab ), поскольку мой хост-сервер не обслуживает MongoDB.

Я не Я не доверяю серверу MySQL на текущем общем хосте, так как он очень часто выходит из строя (и у меня были проблемы с MySQL на другом хосте). По той же причине я не собираюсь использовать postgres.

Плюсы SQLite:

  • Он локальный, поэтому должен быть быстрее (я позабочусь о правильном использовании индекса и транзакций);
  • Мне не нужно беспокоиться о tc p sniffing, так как проводной протокол Mongo не зашифрован ;
  • Мне не нужно беспокоиться о сбое сервера, поскольку SQLite бессерверный.

Плюсы MongoDB:

  • Его легче масштабировать;
  • Мне не нужно беспокоиться о разделении баз данных, поскольку масштабируемость кажется естественной;
  • Мне не нужно беспокоиться об изменениях схемы, поскольку Mongo не имеет схемы и SQLite не полностью поддерживает alter table (особенно учитывая изменение многих производственных файлов и т. д.).

Мне нужна помощь в принятии решения (и, возможно, рассмотреть третий вариант).Какой из них лучше, когда число операций записи и чтения растет?

Я собираюсь использовать Ruby.

9
задан Sony Santos 4 February 2012 в 01:31
поделиться