Является ли NoSQL подходящим для социальных сетей видом приложений - PullRequest
9 голосов
/ 08 декабря 2010

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

Ответы [ 8 ]

6 голосов
/ 08 декабря 2010

Хорошая общая архитектура и дизайн во много раз важнее, чем просто выбор технологии данных;последний не может волшебным образом заставить ваш сайт работать.Но да, многие ведущие технологии NoSQL будут работать нормально, если ваш дизайн приложения достаточно хорош.

3 голосов
/ 08 декабря 2010

Если вы в основном заинтересованы в навигации по сетевым отношениям, то я думаю, что будет справедливо сказать, что графические базы данных, такие как Neo4J и InifiteGraph , заслуживают внимания. (Постоянная навигация по ссылкам в сети.)

2 голосов
/ 08 декабря 2010

Во-первых, NoSQL не является продуктом или даже моделью. Это просто общая фраза для любого хранилища данных, отличного от SQL.

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

1 голос
/ 09 декабря 2010
1 голос
/ 08 декабря 2010

NoSQL - это идеальное решение при разработке приложений для социальных сетей.Возможно, разработка вашей социальной сети с MySQL может быть проще при запуске, но позже, когда приложение будет расти, а количество пользователей тоже будет расти, вам придется подумать, как управлять кластером MySQL, работать с конфигурациями master-slave и т. Д. И этобудет большая проблема.С помощью NoSQL-решения (я бы порекомендовал вам MongoDB, это лучшее с моей точки зрения), вы можете просто установить новые серверы и создать фрагменты вашей базы данных.Процесс горизонтального масштабирования будет очень простым.

1 голос
/ 08 декабря 2010

Взгляните на Диаспора , она использует MongoDB и Redis.

1 голос
/ 08 декабря 2010

Основываясь на том факте, что в большинстве известных социальных сетей уже используются нереляционные базы данных, я бы сказал, что это подходит (либо это, либо все они ужасно ошибочны: D)

На мой взгляд, хорошим кандидатом для использования NoSQL является любая система, которая имеет дело с большим (и я имею в виду большим ) количеством пользовательских данных, таких как социальные сети, системы отслеживания и т. Д.

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

1 голос
/ 08 декабря 2010

Проверьте Neo4J (http://neo4j.org/), граф БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...