Я строю клон Reddit в Эрланге. Я рассматриваю возможность использования некоторых веб-фреймворков Erlang, но это не проблема.
У меня проблема с выбором базы данных.
Как это работает;
У меня есть несколько выделенных reddits. Примеры, наука, прикол, корпоратив, спорт. Вы могли бы рассмотреть их sub Reddits. Каждый саб реддит имеет категории.
Пользователь может опубликовать следующую информацию:
Название,
категория
Теги,
Описание,
Категория,
Дата будущего ,
и добавить картинку, ссылку. видео
Как и в Reddit, пользователи смогут голосовать за
истории и комментарии. Комментарии также будут иметь систему голосования.
Как проблема;
Я не знаю, какую базу данных NoSQL использовать, у сайта будут проблемы с масштабируемостью с Mysql (поверьте мне, поэтому не советую использовать sql). Будет около 10 000-20 000 одновременных соединений, если не больше.
Теперь, что мне нужно;
1) Пользователь перейдет в спортивный субреддит,
Они захотят увидеть все истории с Будущей датой , например, категорией НФЛ или Кубком мира по футболу, они могут захотеть увидеть все истории с будущими датами , которые обозначают предстоящие игры или события.
Но так как люди могут публиковать дерьмо, мне нужно сказать сортировку по дате в будущем, а затем отфильтровать результаты по сообщениям с более чем 5 голосами, затем мне нужно показать ближайшее событие.
Так что, если на выходных будет игра, а следующая игра снова через 3 недели, сначала должна появиться ближайшая игра.
2) так что проблема выше, использует одну базу данных
1) Найти все сообщения в subreddit: Sport . 2) Найти все сообщения в категории NFL . 3) Найти все сообщения с будущей датой . Сортируйте эти сообщения по большинству голосов и отображайте истории с ближайшей датой к сегодняшнему дню.
Я думаю, что couchdb выглядит хорошим кандидатом, но я не уверен
а как насчет Кассандры, Hbase, Riak, neo4j?
Я схожу с ума, пытаясь понять это.
Мне нужно что-то, что будет масштабировать и обрабатывать большое количество пользователей.
Пожалуйста, помогите, спасибо