Перевод Learning from NoSQL с Bruce Momjian: Postgres Blog
Я думаю, что первый урок, который PostgreSQL сообщество может вынести из NoSQL, в том, что не всем нужны все наши возможности, и, если это не будет сложно, нам необходимо дать пользователям возможность отказаться от некоторых из них, в пользу желаемых NoSQL преимуществ. В некоторых случаях мы уже можем это сделать:
- Вы можете улучшить скорость за счёт откладывания или отказа от надежности (synchronous_commit, fsync)
- Вы можете убрать затраты на целостность не устанавливая ограничения (constraints)
- Можете использовать подготовленные (prepared) запросы для устранения затрат на парсера и оптимизатора
- Массивы часто могут быть использованы для ухода от затрат на join
- Можно хранить не структурированные данные в hstore
- Устаревшие данные можно обслуживать с помощью асинхронной мульти-мастер репликации (Bucardo)
Однако есть некоторые вещи, которые будет сложно осуществить:
- Доступ к данным без SQL
- Снижение затрат за счёт отказа от атомарности и изоляции
Я думаю о новых опциональных возможностях, которые мы могли бы предоставлять потенциальным NoSQL пользователям, но тут надо всё хорошо продумывать.
Дополнение: Один из пунктов в нашем TODO-листе, который может помочь потенциальным NoSQL пользователям, это реализация встроенного типа данных JSON. JSON используется в качестве формата хранилища во многих NoSQL базах.
2 comments:
А что мешает использовать сразу и РСУБД и "NoSQL", чем прогнуть одно под другое?
Цель не прогнуть PG под NoSQL, а показать, что в PG есть возможности, с помощью которых можно начать адаптироваться под NoSQL там где это надо, и, возможно, в будущем вынести эти части функционала в NoSQL.
Post a Comment