Я запускаю систему общего управления ASP.NET MVC 3 (первым компонентом является Управление проектами).Сейчас я немного читаю на RavenDB, и это звучит довольно интересно.Одна из самых больших вещей, которые мне нравятся в этом, - это то, что мне не нужен какой-либо тип ORM для обработки данных из БД.Это сделает мой код намного чище и быстрее.Однако, если исходить из опыта работы исключительно с MySQL в течение последних 6 лет, я склонен мыслить очень тесно с моими данными.Есть несколько вещей, которые выглядят так, будто NoSQL не подходит.Я хочу выбросить эти вещи, и, возможно, эти проблемы могут быть решены в решении NoSQL, и я просто думаю, что слишком реляционно (опять же, возможно, этот проект должен быть сделан с MySQL).Вот вопросы, о которых я думаю:
Уникальные идентификаторы: я хочу иметь возможность иметь уникальные идентификаторы для многих вещей.Для таких вещей, как проекты, имя должно быть уникальным и использовать его, однако, когда речь идет о задачах в рамках проекта, заголовок может быть не уникальным, и именно здесь я бы использовал поле quto-increment, но я могу сделать это в RavenDBиз того, что я могу сказать)
Связывание: Используя для таких полей, как статус и тип, я бы просто использовал связывание с внешним ключом.Теперь для отношений «один ко многим» я могу просто использовать текст вместо попытки связать внешний ключ (которого у вас нет в NoSQL), но с привязкой «многие ко многим», потому что это проблема.Например, я намереваюсь иметь систему тегов (как здесь), где к большинству элементов может быть прикреплено от 1 до многих тегов, и затем я могу выполнять поиск по этим тегам для элементов.Есть ли способ сделать это в NoSQL?
Является ли СУБД действительно лучшим инструментом для работы здесь, или я просто не думаю, что «NoSQL», и я могу сделать этос NoSQL (RavenDB)?