Базы данных
2.53K subscribers
298 photos
3 videos
13 files
901 links
Все про базы данных (Database)

По всем вопросам: @un_ixtime
加入频道
Индексирование полнотекстовых данных в PostgreSQL с использованием модуля pg_trgm.

PostgreSQL, одна из самых мощных и гибких реляционных СУБД, предлагает нам свой модуль pg_trgm, чтобы решить сложную задачу полнотекстового поиска.

Когда речь идет о поиске, просто LIKE запросы больше не всегда могут удовлетворить технические требования. Полнотекстовый поиск подразумевает не только поиск точных соответствий, но и учет схожести слов, учет морфологии, а также поддержку более сложных запросов. PostgreSQL, конечно, предоставляет средства для выполнения таких задач, и модуль pg_trgm - один из инструментов, с помощью которого это можно сделать.

Итак, что такое pg_trgm? Этот модуль PostgreSQL предоставляет набор функций и операторов, которые позволяют работать с трехграммами (триграммами) - это последовательности из трех символов. Для понимания, давайте взглянем на пример...

Читать далее https://habr.com/ru/companies/otus/articles/770674
This media is not supported in your browser
VIEW IN TELEGRAM
31 интерактивный урок по SQL БЕСПЛАТНО. Более 20 практических упражнений, которые вы решаете прямо в браузере — установка не требуется.

https://datalemur.com/sql-tutorial
Иногда вам нужно получить, например, три последних заказа для *каждого* клиента. Обычные соединения не могут этого сделать. Вам нужно выполнить n+1 запросов в коде, а это медленно! Но с помощью латеральных соединений вы можете выполнить соединение цикла for-each в SQL https://sqlfordevs.com/for-each-loop-lateral-join
PostgreSQL Antipatterns: ходим по JSON-граблям.

Недавно попался на глаза примерно такой кусок запроса, и тут прекрасно примерно все:

• множество чтений из CTE (хоть и единственной записи, но все же);

• извлечение по каждому ключу текста с раскастовкой в jsonb;

• извлечение каждого отдельного json-ключа в каждое отдельное одноименное поле;

• "ручное" преобразование текстового представления массива в json в текстовое представление PostgreSQL.

А как - правильно?

Читать далее https://habr.com/ru/companies/tensor/articles/771406
Почему сложно горизонтально масштабировать базы данных SQL?
Понимание проблем горизонтального масштабирования баз данных SQL для проектирования систем.

https://www.designgurus.io/blog/Horizontally-Scale-SQL-Databases
Миграция базы данных: операция разработчиков на открытом сердце

Задача заключалась в переходе от реляционной базы данных PostgreSQL AWS к нашему локальному автономному решению . Мы собрали целевую команду, состоящую из разработчика, DevOps и двух администраторов баз данных. https://shiftmag.dev/database-migration-developers-open-heart-surgery-1926
Bolt SQL — быстрый и красивый клиент базы данных

Этот новый клиент ориентирован на скорость и большую интеграцию с облаком, поэтому вам будет проще обмениваться настройками между компьютерами или со своей командой. https://laravel-news.com/bolt-sql-fast-and-beautiful-database-client
Почему вам стоит отказаться от использования timestamp в PostgreSQL.

Не секрет, что работа с часовыми поясами — боль, и многие разработчики объяснимо стараются ее избегать. Тем более что в каждом языке программирования / СУБД работа с часовыми поясами реализована по-разному.

Среди тех, кто работает с PostgreSQL, есть очень распространенное заблуждение про типы данных timestamp (который также именуется timestamp without time zone) и timestamptz (или timestamp with time zone). Вкратце его можно сформулировать так:

Мне не нужен тип timestamp with time zone, т.к. у меня все находится в одном часовом поясе — и сервер, и клиенты.

В статье я постараюсь объяснить, почему даже в таком довольно простом сценарии можно запросто напороться на проблемы. А в более сложных (которые на самом деле чаще встречаются на практике, чем может показаться) баги при использовании timestamp практически гарантированы.

Читать далее https://habr.com/ru/articles/772954
В этой статье мы увидим, как можно реализовать решение по секционированию таблиц при использовании Spring и Hibernate.

Цель секционирования таблицы — разделить большую таблицу на несколько меньших таблиц секционирования, чтобы связанные таблицы и записи индекса могли поместиться в буферный пул в памяти, что позволяет более эффективно выполнять поиск или сканирование. https://vladmihalcea.com/table-partitioning-spring-hibernate
SQLCoder теперь лучше пишет Postgres SQL, чем GPT-4. Если оставить в стороне тесты, я поражен тем, насколько хорошо он работает даже без тонкой настройки.


Github: https://github.com/defog-ai/sqlcoder
Interactive Demo: https://defog.ai/sqlcoder-demo/
Huggingface: https://huggingface.co/defog/sqlcoder-34b-alpha
Учебное пособие по SQLite

Это руководство даст вам быстрый старт с SQLite и поможет вам освоить программирование на SQLite.

https://www.tutorialspoint.com/sqlite/
Углубленное введение в диапазон дат SQL

В этом посте мы отправим вас в путешествие по диапазону дат SQL. Вы поймете, что означает «диапазон дат SQL», какую ценность он приносит для запросов к базе данных и как его использовать в своих интересах. https://www.influxdata.com/blog/sql-date-range-introduction/
Как ускорить выполнение SQL-запросов и написать чистый SQL-код?

В этой статье мы собираемся изучить, как оптимизировать SQL-запросы и повысить производительность запросов, используя советы и методы оптимизации SQL-запросов и многие другие.

Прежде чем перейти к основной теме оптимизации SQL-запросов, давайте сначала разберемся с фактической обработкой запроса:

https://medium.com/@mohamad.ashour203/how-to-speed-your-sql-queries-and-write-clean-sql-code-f8636d7eb245
[Перевод] Как был создан потоковый SQL-движок

Возможно, вы какраз их тех, кто, просыпаясь каждое утро, задаёт себе три самых вечных жизненных вопроса: 1) какмне сделать потоковый SQL‑движок? 2) Чтоэто такое— потоковый SQL‑движок? 3) Способенли Господь наш сбрасывать те таблицы, коими владеет иной пользователь?

Я тоже ловил себя натом, чтозадаю себе эти вопросы, и порой они неоставляют меня даже восне. Мне снятся различные SQL‑операторы, которые тычут вменя пальцем, насмехаются над моей некомпетентностью, ая умоляю их, чтобы они ответили наэти вопросы.

Так вот, где‑то год назад я (довольно смело, если «смелость»— это вообще променя) снарядился какследует и пустился вдолгий и тернистый путь, искать ответы наэти вопросы. Я шёл отмонаха кпресвитеру, аоттого— кжрецу макаронного монстра, и только вужасе осознавал, сколь жалкие вопросы их занимают— например, каков смысл жизни, и какобрести мир ссамим собой. Но, вконце концов, потерявшись вглубочайших расщелинах моего разума, я набрёл начасовенку, над входом которой значилось: «Epsio Labs». Тут я преисполнился откровения и вошёл вдвери этого храма.

Друзья, сегодня я поделюсь свами теми таинствами, которые познал там (за исключением тех, чтоподпадают подмногочисленные NDA).

https://habr.com/ru/articles/775156/
Zabbix, PostgreSQL и pg_stat_statements.

Я хочу поделиться своим опытом использования Zabbix для анализа проблем с производительностью PostgreSQL, используя расширение pg_stat_statements.

Читать далее https://habr.com/ru/companies/domclick/articles/771712