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

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

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

Наполняем до краев: влияние порядка столбцов в таблицах на размеры баз данных PostgresQL

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

При оценке требований базы данных к оборудованию требуется учет многих факторов. И здесь у Postgres есть одна интересная особенность, которая почти всегда ускользает от внимания разработчиков, потому что она искусно спрятана между столбцами таблиц.

И что же там прячется?
Всего голосов 59: ↑58 и ↓1 +57
Комментарии 19

Разбираемся с Redis

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

Этот материал представляет собой глубокое исследование всего, что связано с Redis. В частности — речь пойдёт о различных способах организации хранилищ Redis, о постоянном хранении данных, о форках процессов.

Читать далее
Всего голосов 64: ↑63 и ↓1 +62
Комментарии 7

Рассуждения об asyncio.Semaphore

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

В Кремниевой долине есть очень особенный ресторан фаст-фуда, который всегда открыт. Там имеется один столик, за ним может разместиться лишь один посетитель, которому дадут совершенно фантастический гамбургер. Когда туда приходишь — ждёшь до тех пор, пока не настанет твоя очередь. Потом хозяин ресторана подведёт тебя к столику, и, это же Америка, тебе зададут, кажется, бесконечное количество вопросов о том, как приготовить и как подать твой гамбургер.

Сегодня, правда, мы не собираемся говорить о кулинарных изысках. Мы говорим о системе очередей, которую используют рестораны. Если вам повезло и вы прибыли в ресторан тогда, когда столик пуст, и когда никого в очереди нет, вы можете прямо сразу за него сеть. В противном случае хозяин даст вам специальный пейджер (из бескрайней кучи таких пейджеров!) и вы можете бродить вокруг ресторана до тех пор, пока этот пейджер не подаст сигнал. Дело хозяина ресторана — обеспечить, чтобы посетители попадали бы за столик в порядке их прибытия. Когда настанет ваша очередь, хозяин отправит сигнал на ваш пейджер, а вы вернётесь в ресторан, где сможете усесться за столик.

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

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

Оптимизация работы с PostgreSQL в Go: от 50 до 5000 RPS

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

Привет, меня зовут Иван, и я делаю Авито Доставку. Когда пользователь покупает товар с доставкой, мы показываем ему список отделений служб доставки с ценами. Цена доставки может меняться от отделения к отделению. Мы смотрим на область карты, где покупатель ищет товар и информацию по объявлению, например, координаты продавца, вес и размеры товара. И на выходе показываем человеку список отделений с адресами и ценой доставки в каждое из них.


В ходе разработки калькулятора цены доставки возникла такая задача: есть структура базы данных PostgreSQL и запрос к ней от сервиса на Go. Нужно заставить всё это работать достаточно быстро. В итоге нам удалось поднять пропускную способность сервиса с 50 до 5000 RPS и выявить пару нюансов при общении сервиса с базой. Об этом и пойдёт рассказ.


Читать дальше →
Всего голосов 52: ↑47 и ↓5 +42
Комментарии 44

Как работать с Postgres в Go: практики, особенности, нюансы

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


Неожиданное поведение приложения в отношении работы с базой приводит к войне между DBA и разработчиками: DBA кричат: «Ваше приложение роняет базу», разработчики — «Но ведь до этого всё работало!». Хуже всего, что DBA и разработчики не могут помочь друг другу: одни не знают про нюансы работы приложения и драйвера, другие не знают про особенности, связанные с инфраструктурой. Было бы неплохо такой ситуации избежать.


Надо понимать, часто недостаточно полистать go-database-sql.org. Лучше вооружиться чужим опытом. Еще лучше, если это будет опыт, полученный кровью и потерянными деньгами.

Всего голосов 76: ↑73 и ↓3 +70
Комментарии 29

«Ленивый сахар» PostgreSQL

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

SQL - декларативный язык - то есть вы описываете "что" хотите получить, а СУБД сама решает, "как" именно она будет это делать. Некоторые из них при этом позволяют им "подсказывать", как именно лучше выполнять запрос, но PostgreSQL - нет.

Тем не менее, "синтаксический сахар" некоторых языковых конструкций позволяет не только писать меньше кода (учите матчасть!), но и добиться, что ваша база будет делать часть вычислений "лениво", только при фактической необходимости.

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

10 простых шагов: мигрируем с CentOS 8 на RockyLinux или AlmaLinux

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

Прекращение поддержки CentOS 8 и переход к модели непрерывных обновлений в CentOS Stream заставили корпоративных заказчиков искать альтернативные решения. Мы написали пошаговую инструкцию по переходу на RockyLinux или AlmaLinux — популярные бесплатные дистрибутивы, бинарно совместимые с RedHat Enterprise Linux (RHEL).

Почитать мануал
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 21

11 хитростей Chrome DevTools, которые помогут Вам стать Senior FrontEnd-разработчиком

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

Я полагаю, вы знакомы с инструментами разработчика браузера Chrome. Мы можем использовать его для просмотра сетевых запросов, анализа производительности веб-страницы и отладки последних функций JavaScript.

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

Давайте посмотрим
Всего голосов 62: ↑56 и ↓6 +50
Комментарии 23

Где хранить секретные файлы на случай БП

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


Всю информацию человека можно разделить по степени важности, примерно так:

  • системные бэкапы (важность 1/10);
  • текущие рабочие файлы (3);
  • личный архив: фотографии, видео (6);
  • копии бумажных документов (8);
  • секреты: ключи, пароли, кошельки (10/10).

Терять файлы всегда неприятно. Поэтому мы делаем резервные копии. Но степень параноидальности усилий по защите информации зависит от важности. Есть категория файлов, которую нельзя терять ни при каких обстоятельствах, даже в случае БП. Это наши главные секреты, то есть ключи, пароли и кошельки.
Читать дальше →
Всего голосов 41: ↑39 и ↓2 +37
Комментарии 12

MeteorJS, Nginx, mongodb, iptables… продакшен

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

Здравствуйте, меня зовут Александр Зеленин, и я веб-разработчик сисадмин.


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


Разворачивать будем на Ubuntu 16, но в целом схема на 99% совпадает и для Debian 8.

Читать дальше →
Всего голосов 46: ↑36 и ↓10 +26
Комментарии 69

Способы отладки JS на клиенте

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

Применительно к разработке на create-react-app (CRA) в браузере и в IDE WebStorm. Если вам известны какие-либо другие способы отладки, большая просьба поделиться знаниями.

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

Новости «Mail.Ru для бизнеса»

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


Всем привет! Меня зовут Олег, я руководитель проекта «Mail.Ru для бизнеса». Так сложилось, что мы регулярно рассказываем на Хабре об изменениях в сервисе, чтобы получить от вас обратную связь по улучшению продукта («хотелки» хабраюзеров помечены в нашем бэклоге отдельным тэгом).

Продолжая нашу хорошую традицию, мы даем любому хабраюзеру возможность попробовать наш сервис в деле. В комментариях под этим постом можно написать, что вы хотите попробовать «Mail.Ru для бизнеса», и мы отправим вам промокод на бесплатный домен с подключенным сервисом.

Вот самое важное из того, что мы успели сделать за последнее время:
  • онлайн-редактор офисных документов
  • DNS-хостинг
  • уровни администраторов
  • двухфакторная аутентификация
  • новый интерфейс создания пользователей
  • блокировка пользователей
  • синхронизация с Active Directory
  • миграция с Exchange: закрытое бета-тестирование

А теперь обо всем этом — подробнее.
Читать дальше →
Всего голосов 45: ↑38 и ↓7 +31
Комментарии 35

Информация

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