Pull to refresh

Проектирование в PostgreSQL документо-ориентированного API (Часть 1)

JavaScript *PostgreSQL *SQL *
Sandbox
Данная статья является переводом, оригинальная статья находится вот здесь, автор Rob Conery.

Postgres, как многие знают, поддерживает JSON как тип хранения данных, а с выходом 9.4, Postgres теперь поддерживает хранение JSON в виде jsonb — бинарного формата.

Это прекрасные новости для тех, кто хочет шагнуть дальше простого «хранения JSON как текста». jsonb теперь поддерживает индексирование с использованием GIN индекса, а также имеет специальный оператор запросов, который позволяет получить преимущества GIN индекса.
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Views 17K
Comments 4

Проектирование в PostgreSQL документо-ориентированного API: Полнотекстовый поиск и сохранение многих документов(Часть 2)

JavaScript *PostgreSQL *SQL *
Translation
В первой части этой серии статей, я создал хорошую функцию сохранения, равно как и другую функцию, позволяющую создавать изменяемые документо-ориентированные таблицы на лету. Они работают исправно и делают именно то, что надо, но мы можем сделать еще многое. Особенно: я хочу полнотекстовый поиск, индексируемый на лету и сохранение многих документов внутри транзакции.

Давайте сделаем это.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views 9.6K
Comments 0

Проектирование в PostgreSQL документо-ориентированного API: Находя искомое (Часть 3)

JavaScript *PostgreSQL *SQL *
Translation
В частях первой и второй этой небольшой серии статей, я показал различные способы сохранения документа и последующего обновления его поискового поля. Кроме того, я показал как транзакционно сохранять множество документов. В этой статье я буду рассматривать варианты выполнения запросов.
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Views 6K
Comments 0

Проектирование в PostgreSQL документо-ориентированного API: Комплексные запросы (Часть 4)

JavaScript *PostgreSQL *SQL *
Translation
Хранение документов в Postgres немного проще, теперь у нас есть серьезные процедуры сохранения, возможность запускать полнотекстовый поиск, и некоторые простые процедуры поиска и фильтрации.

Это только половина истории, конечно же. Рудиментарные поиски могут служить нуждам приложения, но они никогда не будут работать в долгой перспективе, когда нам надо будет задавать более глубокие вопросы.
Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views 5.8K
Comments 0