Лучшее из двух подходов - реляционного и JSON - одновременно
Пересказ статьи Christopher Jones. The best of Relational and JSON — at the same time
Двойственные представления таблица-JSON в Oracle Database 23ai позволяют хранить данные в виде строк таблицы для получения преимуществ доступа SQL в реляционной модели, в то же время допуская доступ чтения и записи в виде документов JSON для тех же самых данных. Они могут использоваться из таких языков, как Node.js и ODP.NET. В этой статье показывается, как использовать новые представления в Python.
Реляционная модель великолепна: вы можете избегать дублирования данных; гарантируется согласованность данных; вы имеете доступ посредством очень мощного и очень эффективного языка - SQL. Но от разработчиков требуется определить реляционную схему - таблицы, столбцы и типы данных - прежде, чем начать писать код. Не так легко предсказать будущее использование системы, которое может вызывать затруднения для выбранной схемы.
Вот почему вы так любите JSON. Объект JSON может содержать информацию для одного случая использования без необходимости использовать SQL для соединения таблиц. Доступ через простой запрос или единичное обращение к API базы данных. JSON имеет гибкую схему, поэтому, поскольку ваши случаи использования меняются в процессе жизненного цикла системы, вы можете легко модифицировать приложения. Но есть и недостатки: единственная иерархия может подходить лишь нескольким случаям использования. В данных могут оказаться дубликаты, что не только влияет на занимаемое пространство, но делает очень сложным поддержание согласованности. Более трудной становится оптимизация. Поэтому на первый взгляд простая модель может вызывать сложности в долгосрочной перспективе. Continue reading "Лучшее из двух подходов - реляционного и JSON - одновременно"