Я пытаюсь решить, как мне хранить набор пар ключ-значение (строки) в БД.Классический подход выглядел бы примерно так, используя две таблицы:
+-------------+
| PropertySet |
+-------------+
| set_id |
| property_id |
| value |
+-------------+
+-------------+
| Property |
+-------------+
| property_id |
| name |
+-------------+
Теперь, для моей цели, это кажется немного излишним.Я вряд ли буду использовать SQL для работы с этими данными, и я хотел бы избежать более сложных запросов, требуемых в этом проекте.Я, вероятно, предпочитаю хранить большой двоичный файл JSON или protobuf с идентификатором, например:
+-------------+
| PropertySet |
+-------------+
| set_id |
| data |
+-------------+
Однако я хочу убедиться, что дубликатов нет.Я мог бы представить, как упорядочить набор по именам ключей, нормализовать формат и затем выполнить сравнение строк.Существуют ли альтернативы?
Я также ценю советы по актуальному вопросу проектирования (реляционная база данных против блобов), но, возможно, это следует упомянуть в комментариях.