У меня есть мои объекты со своими свойствами. Объекты могут изменять свою структуру: свойства могут быть добавлены/удалены/изменены. Объекты могут быть абсолютно сброшены. Таким образом, метаданные объекта (описание, классы, назовите их так, как вы хотите :)) могут быть изменены.Каков наилучший способ хранения пользовательских объектов в реляционной базе данных?
В базе данных должны храниться схемы объектов и экземпляры этих объектов.
Каков наилучший способ организовать структуру реляционной базы данных для хранения данных, упомянутых выше?
В настоящее время я вижу только два пути:
- хранить объекты схемы в нескольких таблицах: общие данные схемы, свойства схемы, возможные типы свойств. Храните экземпляры в своих таблицах: общие данные экземпляра, несколько таблиц - для каждого типа из таблицы возможных свойств, чтобы хранить данные свойств экземпляра. И так далее.
- схемы объектов объектов, как в p1, но хранят экземпляры, такие как XML-файлы в одной таблице: одна таблица для общей информации об экземпляре и одна таблица с экземпляром XML.
пожалуйста, не спрашивайте почему/за что мне это нужно. Просто нужно хранить пользовательские объекты, и БД должна работать быстро :)
На каких языках у вас есть эти объекты? – bmargulies
Какую базу вы используете? Вы должны использовать эту базу данных? Я спрашиваю, потому что вы действительно используете неправильный инструмент для работы, вы можете заставить его работать, но он будет субоптимальным. Именно здесь предлагаются решения NO-SQL. –