Как стать автором
Обновить
4
0

Пользователь

Отправить сообщение

Postgresso №9(58)

Время на прочтение12 мин
Количество просмотров4K

Microsoft

PostgreSQL 16

Наконец, официально вышел релиз PostgreSQL 16. Мы регулярно писали о новом в бетах и релиз-кандидатах, поэтому подробно говорить об официальном нет, кажется, особой необходимости: с тех пор ничего принципиального не ушло и, тем более, не пришло.

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

улучшение производительности: оптимизатор научился распараллеливать FULL и RIGHT JOIN, ускорились оконные функции, появилась балансировка нагрузки.

расширение возможностей логической репликации: репликация с реплики, распараллеливание, новая роль pg_create_subscription,

для разработчиков: новые (вернувшиеся "старые") возможности работы с SQL/JSON, улучшения в правилах сортировки, команда \bind в psql для подготовленных запросов, улучшения в правилах сортировки,

мониторингpg_stat_io, новое поле в pg_stat_all_tables,

доступ и безопасность: появилась возможность задавать дополнительные файлы в include.

Как вы, может быть, заметили, ссылки ведут на РУССКУЮ ДОКУМЕНТАЦИЮ к PostgreSQL, которая только что появилась на сайте Postgres Professional.

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии2

Как я перестал волноваться и полюбил ошибки в Kotlin корутинах: Мифы обработки ошибок в корутинах

Уровень сложностиСложный
Время на прочтение6 мин
Количество просмотров8.7K

Обработка ошибок является важной частью изучения корутин, т.к. при недостаточном понимании можно легко упустить важные моменты и добавить ошибок в код. В рамках этого материала планируется предоставить объяснения и правила которые помогут проще разобраться как работает механизм обработки ошибок в корутинах.

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии20

Istio в разрезе: что умеет и не умеет самый популярный Service Mesh (обзор и видео доклада)

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров36K

В докладе я препарирую Istio, дабы понять, как он работает, какие у него подводные камни и как им правильно пользоваться.

Это мой второй доклад про Istio и Service Mesh. Первый я сделал на конференции Kuber Conf 2021: «Что ждать от внедрения Istio?». Рекомендую ознакомиться сначала с ним, будет несколько проще.

Читать далее
Всего голосов 70: ↑69 и ↓1+68
Комментарии8

8 книг по PostgreSQL: от баз данных с «нуля» для самоучек до руководства про БД в облаках

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров50K

В целом, эта объектно-реляционная СУБД в дополнительном представлении не нуждается. Разработанная более 20 лет назад, она предназначена для создания и поддержки баз данных серверных приложений, в том числе ресурсоемких аналитических БД. Одна из особенностей PostgreSQL — открытый исходный код. Мы любим ее за развитое комьюнити и возможность развернуть «постгрю» самостоятельно и бесплатно.

Подготовили подборку полезных книг для тех, кто только начал или собирается работать с PostgreSQL. В нее вошли актуальные руководства на русском и английском языках. Если знаете еще одну-две отличных книги, смело рекомендуйте в комментариях.
Читать дальше →
Всего голосов 66: ↑64 и ↓2+62
Комментарии17

Усиливаем защиту доступа к Kubernetes API

Время на прочтение19 мин
Количество просмотров5.9K

В кластере Kubernetes control plane управляет нодами, ноды — pod’ами, pod'ы — контейнерами, контейнеры — приложениями. А кто управляет control plane?

Kubernetes предоставляет API для комплексного управления всем кластером Kubernetes. Получается, что, в первую очередь, мы должны защитить доступ к Kubernetes API. Даже в свежих рекомендациях агентства нацбезопасности США по защите Kubernetes нам велят использовать надёжную аутентификацию и авторизацию, чтобы ограничить пользовательский и административный доступ и сократить поверхность атаки.

В этой статье мы поговорим о том, как защитить доступ к API в кластере Kubernetes. Даже если вы используете управляемые сервисы Kubernetes, например AWS EKS или GCP Kubernetes Engine, будет полезно узнать, как устроен контроль доступа, чтобы планировать общую безопасность в Kubernetes .

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Журналы аудита Kubernetes: лучшие практики и настройка

Время на прочтение8 мин
Количество просмотров6.3K

Kubernetes является фактическим лидером среди систем оркестрации. С ростом популярности микросервисной разработки Kubernetes проявил себя незаменимым инструментом для управления крупномасштабными приложениями и их развёртыванием. Правда, с обилием возможностей, которые предоставляет Kubernetes, этой системой подчас непросто управлять.

В этой статье мы заострим внимание на журналах аудита Kubernetes, чтобы записи всех протекающих событий в нашем кластере можно было заполучить по щелчку пальцев.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии0

Spring Modulith: достигли ли мы зрелости модульности

Время на прочтение6 мин
Количество просмотров5.5K

Одной из основных причин разработки микросервисов является то, что они обеспечивают четкие границы модулей

Однако минусы микросервисов настолько огромны, что это все равно, что отрубить себе правую руку, чтобы научиться писать левой; есть более управляемые (и менее болезненные!) способы достижения того же результата.

Даже с тех пор, как началось повальное увлечение микросервисами, возобладали некоторые более хладнокровные. В частности, Оливер Дротбом, разработчик среды Spring, долгое время был сторонником альтернативы moduliths. Идея состоит в том, чтобы сохранить монолит, но спроектировать его вокруг модулей.

Многие выбирают микросервисы, потому что приложение, над которым они работают, напоминает блюдо со спагетти. Если бы их приложение было лучше спроектировано, притяжение микросервисов не было бы таким сильным.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии13

PostgreSQL Antipatterns: Индиана Джонс и максимальное значение ключа, или В поисках «последних» записей

Время на прочтение2 мин
Количество просмотров9.9K

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

Кажется, что тут и споткнуться-то негде в реализации - но все оказывается совсем не тривиально.

Читать далее
Всего голосов 24: ↑22 и ↓2+20
Комментарии42

Микросервисы — отчуждение от результатов труда

Время на прочтение15 мин
Количество просмотров63K

Поветрия

Я наблюдаю за развитием IT в течение приблизительно четверти века, и с каждым днём меня всё сильнее удручает происходящее.

Постоянно мы слышим, что какой-нибудь паттерн или язык становится всё более модным, а что-то, напротив, — уходит в историю. А ещё различные поветрия о "хорошо или плохо" будто волнами перекатываются через это вот всё.

Кто-нибудь скажет, что это — естественный ход событий — просто одна технология заменяет другую. И он будет прав и неправ одновременно.

Увы, новые вещи (коих не так чтобы вообще есть) всё чаще приносят с собой и очевидно деструктивные, будто навязываемые извне, паттерны.

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

В этой статье я хотел бы поговорить о причинах происходящего.

Если кому-то интересно - под кат
Всего голосов 294: ↑226 и ↓68+158
Комментарии1018

5 библиотек Python для красивого вывода на консоль

Время на прочтение2 мин
Количество просмотров21K

Независимо от того, создаете ли вы простой скрипт Python или приложение корпоративного уровня, элегантное взаимодействие с консолью избавит вас от надоедливой головной боли при устранении неполадок в будущем.

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

Использование этих замечательных библиотек поможет вам создавать приложения командной строки, которые понравятся пользователям.

Давайте начнем!

Читать далее
Всего голосов 37: ↑33 и ↓4+29
Комментарии17

Фабрики для ЦОД в текущих реалиях

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров4K

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

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Паттерны отказоустойчивости приложений в Kubernetes

Время на прочтение22 мин
Количество просмотров12K
Балансировщики падают, контроллеры зависают, а дата-центры атакуют экскаваторы. Это нормальная история. Мы живём в мире, где нет ничего надёжного на 100 %, а любой бит в планке оперативной памяти может внезапно перещёлкнуться из-за пролетевшей космической частицы.

Другое дело, что даже в условиях постоянных рисков отказа отдельных элементов нам нужно обеспечить работоспособность инфраструктуры в целом. Клиент не должен заметить, что где-то отказал контейнер с php-fpm или одна из серверных стоек выпала из сети.

По роду деятельности мне постоянно приходится сталкиваться с проблемами отказоустойчивости, так как я руководитель разработки в отделе Газпромбанка, обеспечивающем эксплуатацию ML и Big Data-решений. Поэтому сегодня я хочу рассказать о нескольких паттернах отказоустойчивости и типовых решениях при эксплуатации приложения в кластере Kubernetes. Разберём основные паттерны, ну и, конечно, рассмотрим варианты, при которых неправильные настройки прострелят вначале одну ногу, а потом — другую, потому что она слишком медленно стала шагать.


Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии4

Отчёт о кибербитве Standoff 10, прошедшей осенью

Время на прочтение6 мин
Количество просмотров2.7K

Информационная служба Хабра 22 ноября и 23 ноября 2022 года посетила юбилейную десятую кибербитву Standoff между этичными хакерами и специалистами по информационной безопасности, среди которых также присутствуют этичные хакеры. Есть две стороны – одна атакующая (Red Team), другая защищающая (Blue Team). Последние две кибербитвы «защищающаяся» сторона не защищается, а расследует инциденты. Это сделано для большего приближения к реальным условиям. То есть Blue Team находит недопустимое событие и расследует его причины, а потом предоставляет отчёт. 

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии8

Проектируем процессор постапокалипсиса с помощью openSource

Время на прочтение12 мин
Количество просмотров21K

Проектируемый компьютер на сверхминиатюрных электронных лампах хоть и является радиационно-стойким, однако работает на электричестве. Кроме того, восстановить в сжатые сроки производство электронных ламп в условиях постапокалипсиса будет довольно сложной задачей. На руинах цивилизации гораздо проще организовать массовое производство логических элементов, работающих на эффекте прилипания струи воздуха к стенке — при этом сам элемент можно лепить хоть из глины! И мало того, что для создания потока воздуха не обязательно использовать электричество — теоретически такой процессор сможет работать на энергии ударной волны ядерного взрыва! Но обо всём по порядку. Для тех, кто следит за проектом DekatronPC — не пугайтесь, ему ничего не угрожает.

В прошлый раз в статье «Пневмоника и влажные мечты стимпанка» я уже рассказывал о струйных логических элементах и поделился мыслями о том, что в принципе на этой технологии можно собрать полноценное вычислительное устройство.
Читать дальше →
Всего голосов 156: ↑156 и ↓0+156
Комментарии70

Postgresso 8-9 (45-46)

Время на прочтение18 мин
Количество просмотров8.1K

По некоторым причинам этот номер сдвоенный, дальше Postgresso продолжит выходить в обычном, ежемесячном режиме.



Релизы Postgres


PostgreSQL 15 — Beta 3-4, RC 1-2 и, теперь GA


Свершилось! Главное событие — конечно, это выход уже официальной, общедоступной (general availability) 15-й версии:

PostgreSQL 15 Released!

Среди главных новшеств называют:
  • поддержка SQL-команды MERGE;
  • избирательная публикация содержания таблиц благодаря возможности определить список столбцов и условия в фильтрах;
  • больше опций при сжатии, в том числе сжатие Zstandard (zstd); в том числе поддержка сжатия на стороне сервера в процессе pg_basebackup;
  • поддержка структурированного вывода логов в JSON-формате;
  • увеличение производительности, особенно при сортировке в памяти и на диске
Об этом много написано, сейчас мы на этом останавливаться не будем (но можно глянуть, например, краткий комментарий PostgreSQL 15 – New Features to Be Excited About от Умара Шахида, Umair Shahid, Percona) и пару ссылок ниже по поводу схемы public.

Можно, однако, сказать, что на самом деле главное событие произошло не сейчас, а ещё в фазе PostgreSQL 15 Beta 4. Тогда откатили большую серию патчей, связанных с SQL/JSON.

Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии11

Обзор операторов PostgreSQL для Kubernetes. Часть 3: CloudNativePG

Время на прочтение9 мин
Количество просмотров7.4K

Статья продолжает наш обзорный цикл о PostgreSQL-операторах для Kubernetes. В первой части мы рассматривали операторы Stolon, Crunchy Data и Zalando. Во второй — KubeDB и StackGres, а также объединили все пять операторов в сравнительную таблицу. В этот раз разбираем решение CloudNativePG, его возможности и особенности, а заодно актуализируем таблицу.

Читать далее
Всего голосов 32: ↑32 и ↓0+32
Комментарии1

Миграция кода с Oracle на PostgreSQL: особенности и пути обхода, средства конвертации, вспомогательные модули

Время на прочтение17 мин
Количество просмотров15K

Эта статья завершает цикл о миграции с СУБД Oracle на СУБД PostgreSQL. В первых двух статьях рассматривались проблемы и устоявшиеся способы переноса данных из одной СУБД в другую (часть 1, часть 2). В третьей статье была представлена часть особенностей, которые нужно учесть при переводе хранимого кода с PL/SQL на PL/pgSQL. В сегодняшнем материале рассматривается оставшаяся часть особенностей, адаптация и конвертация кода, включая выбор средств для конвертации.

Глобальные структуры данных уровня пакета

Для таких структур рекомендуется использовать модуль pg_variables. Он позволяет сохранять как скалярные значения, так и множество записей, массивы

При этом нужно понимать, требуется ли собирать статистику для планировщика. Если да, то придётся пользоваться временными таблицами. По возможности, их лучше не использовать слишком интенсивно. Создание и удаление временных таблиц ведёт к изменениям в системном каталоге и сообщениям об инвалидации. Может возникнуть ситуация, когда серверным процессам для своей работы придётся многократно перечитывать системный каталог.

Пример: у одного клиента процессы Postgres тратили большое количество времени на планирование запросов, поскольку они многократно пытались прочитать данные pg_statistic и pg_class и при этом взять соответствующие блокировки на самые распространённые объекты. Соответственно, от создания и удаления временных таблиц на каждую транзакцию пришлось отказаться.

pg_variables можно использовать на реплике – работа с модулем не приводит к изменениям в системном каталоге. Временные таблицы использовать не получится, поскольку реплика не позволяет делать изменения в словаре данных.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии28

В IT в 30. Как я стал solo Kaggle Grandmaster, устроился на работу, но так и не стал программистом

Время на прочтение10 мин
Количество просмотров72K

Всем привет, меня зовут Крамаренко Владислав. В этом году мне исполнилось 30 лет, а также случилось много событий, в том числе и позитивных. Во первых, я устроился на вторую в жизни работу(и первую в айти), а во вторых, стал грандмастером. Это сложный путь, на котором было несколько ключевых решений, которые привели меня к себе нынешнему. Им я и поделюсь далее, начав с детства.

Читать далее
Всего голосов 101: ↑94 и ↓7+87
Комментарии74

LINSTOR — это как Kubernetes, но для блочных устройств (обзор и видео доклада)

Время на прочтение10 мин
Количество просмотров19K

В июне я выступил на объединенной конференции DevOpsConf & TechLead Conf 2022. Доклад был посвящен LINSTOR — Open Source-хранилищу от компании LINBIT (разработчики DRBD). Основной идеей выступления было показать [на примере Kubernetes], как работает и устроен LINSTOR, какие проблемы решает, как его правильно настроить и использовать. Эта статья — основная выжимка из доклада (его полное видео см. в конце).

Читать далее
Всего голосов 41: ↑39 и ↓2+37
Комментарии5

NSA k8s security: Агентство национальной безопасности раскрывает секреты Kubernetes

Время на прочтение9 мин
Количество просмотров5.6K

NSA в соавторстве с еще несколькими организациями подготовила доклад (Kubernetes Hardening Guide) на 59 страниц на тему: Гайд по улучшению безопасности в Kubernetes.

Почему это может быть важно ?

Экосистема Kubernetes под капотом содержит множество технологий, плагинов, инструментов. Чем больше звеньев в цепи, тем больше шансов на разрыв, то же относится и к безопасности. Этот доклад призван уменьшить вероятность уязвимости

Читать далее
Всего голосов 20: ↑19 и ↓1+18
Комментарии0
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность