В проекте, над которым я работал, требования к моделированию данных:
Система, состоящая из N клиентов, каждый из которых имеет N событий. Событие - это объект с требуемым именем и отметкой времени, в которое оно происходит. По желанию, событие может иметь N свойств (пара ключей / значений), определяющих атрибуты, которые клиент хочет сохранить с конкретным экземпляром этого события.
Система будет в основном иметь:
- вставки - события регистрируются, но никогда не обновляются.
- выбирает - отчеты / действия будут генерироваться / выполняться на основе событий и свойств любых возможных комбинаций.
Требования отражают модель данных сущность-атрибут-значение (EAV). После исследования иногда я чувствую, что реляционные базы данных, такие как Sql Server, могут не подходить для этого. (поправьте меня, если я ошибаюсь!)
Так что я склоняюсь к варианту NoSql, например, MongoDb / CouchDb / RavenDb и т. Д.
Мои вопросы:
- Что лучше всего подходит для доступных решений NoSql, учитывая тяжелые потребности в вставке / выборе моей системы?
- Я также открыт для реляционного варианта, если эти требования можно перевести в реляционную схему. Хотя я лично сомневаюсь в этом, но после прочтения ответов администратора БД (например, , на которые здесь ссылаются ), мне стало любопытно. Однако я не мог найти себе оптимальную реляционную модель для моих требований, возможно, система была довольно общей.
спасибо!