Pull to refresh
31
0.3
Алексей Полунин @AlexeyPolunin

Основатель в totum online

Send message

Почему СУБД такие медленные

Level of difficultyMedium
Reading time11 min
Views35K


Недавно на Хабре публиковался перевод статьи «Просто выберите Postgres» (оригинал, англ. яз) с аргументами, что Postgres — оптимальная БД для десктопных и мобильных приложений. Аналогичное мнение высказывают в других популярных статьях вроде «До свидания MongoDB, здравствуй PostgreSQL». Главным недостатком SQLite называют то, что данные хранятся в одном файле, а MongoDB (а также DynamoDB и Cassandra) — низкую производительность:

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

…Если паттерны доступа существенно изменятся, то может потребоваться полная повторная обработка всех данных».

Более производительные резидентные БД хранят данные в памяти (Redis, Valkey), но их использование ограничено объёмом ОЗУ.

После такого заявления интересно посмотреть на независимые тесты производительности разных СУБД.
Читать дальше →
Total votes 97: ↑63 and ↓34+55
Comments42

Что крупные компании хотят от вендорского ПО

Level of difficultyMedium
Reading time10 min
Views738

Меня зовут Александр Большаков, в Cloud.ru я отвечаю за внедрение продуктов. Около 20 лет я работаю в сфере создания и внедрения тиражируемых программных продуктов для крупного бизнеса: от СУБД до платформ управления данными и ML. В этой статье расскажу про типовые требования, которые предъявляют организации к вендорским продуктам. Чем большему количеству требований удовлетворяет продукт, тем выше вероятность продаж, но и выше расходы на разработку и поддержку. 

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

Читать дальше
Total votes 10: ↑9 and ↓1+13
Comments1

Кодирование с кодеком HEVC простым языком — гайд на FFmpeg. Высокое качество, но низкий вес

Level of difficultyEasy
Reading time11 min
Views23K

Казалось бы, довольно простой вопрос: «Чем сжать видео?». На ум сразу приходят Handbrake, Movavi Converter или ещё что-нибудь пострашнее. Однако когда речь заходит о более гиковском подходе с упором на максимальное качество и экономию места, такие программы сложно назвать инструментами. Равно как и для обратной ситуации, когда картинку нужно сильно сжать и сохранить в целостности большую часть полезной информации. Все эти программы только лишь предоставляют набор наиболее общих конфигов для обычной съёмки и 2D.

В этой статье мы изучим, как при помощи самого большого сборника свободных библиотек FFmpeg научиться кодировать видео самому именно под ваши задачи.
Читать дальше →
Total votes 95: ↑94 and ↓1+123
Comments144

Настройка автовакуумирования в PostgreSQL

Level of difficultyEasy
Reading time5 min
Views5.8K

Привет, Хабр!

Сегодня поговорим о том, как правильно настраивать автовакуумирование в PostgreSQL — одном из механизмов, который позволяет базе данных оставаться "в форме" и поддерживать производительность на должном уровне. Если неправильно подойти к настройке, можно столкнуться с деградацией скорости обработки запросов и внезапным ростом объема данных.

Читать далее
Total votes 16: ↑14 and ↓2+18
Comments12

Ограничение скорости в Nginx для сложных конфигураций: HTTP/2, API и видеостриминг

Level of difficultyEasy
Reading time4 min
Views2K

В этой статье рассмотрим, как настроить полноценный traffic shaping в Nginx для сложных случаев, включая HTTP/2.

Читать далее
Total votes 11: ↑10 and ↓1+12
Comments0

Администрирование PostgreSQL для начинающих (часть 5)

Level of difficultyEasy
Reading time17 min
Views4.6K

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

Читать далее
Total votes 15: ↑8 and ↓7+3
Comments50

Администрирование PostgreSQL для начинающих (часть 4)

Level of difficultyEasy
Reading time25 min
Views3.6K

Это четвертая часть статьи, в которой мы научимся работать с логическими и физическими резервными копиями, а также сравним алгоритмы сжатия.

Читать далее
Total votes 9: ↑7 and ↓2+7
Comments6

Администрирование PostgreSQL для начинающих (часть 2)

Level of difficultyEasy
Reading time17 min
Views4.1K

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

Читать далее
Total votes 12: ↑7 and ↓5+4
Comments10

Администрирование PostgreSQL для начинающих (часть 1)

Level of difficultyEasy
Reading time33 min
Views18K

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

Читать далее
Total votes 16: ↑12 and ↓4+10
Comments29

Доступность IT-систем: поругаться или договориться?

Reading time19 min
Views2.5K

Всем привет, меня зовут Александр Москвин, я начальник управления эксплуатации X5 Облака в X5 Tech. У меня несколько зон ответственности, но важнейшая из них – это обеспечение доступности облачной инфраструктуры Х5.

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

Читать далее
Total votes 7: ↑7 and ↓0+9
Comments5

Простой способ развернуть локальный LLM

Level of difficultyEasy
Reading time4 min
Views13K

Большие языковые модели (LLM, Large Language Models) стали незаменимыми инструментами для разработчиков и исследователей. С их помощью можно решать разнообразные задачи.. Однако использование таких моделей часто связано с зависимостью от внешних сервисов, что накладывает определённые ограничения. Локальное развертывание LLM позволяет сохранить контроль над данными и гибко настроить модель под конкретные нужды, используя при этом преимущества локальной инфраструктуры.

В этой статье я бы хотел рассказать о преимуществах локального развертывания LLM и рассмотрим несколько open-source решений, которые можно использовать для этой цели.

Читать далее
Total votes 13: ↑12 and ↓1+16
Comments11

Как настроить двухфакторную аутентификацию через Telegram для SSH

Level of difficultyEasy
Reading time9 min
Views12K

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

Двухфакторная аутентификация (2FA) – это мощный инструмент, который значительно повышает уровень безопасности, требуя подтверждения вашей личности с помощью второго фактора. В этом контексте, двухфакторная аутентификация через Telegram представляет собой эффективное решение, которое можно легко интегрировать в процесс SSH-подключения.

Почему стоит задуматься о внедрении двухфакторной авторизации через Telegram для SSH? Во-первых, это значительно усложняет жизнь потенциальным злоумышленникам. Даже если пароль окажется скомпрометирован, доступ к вашему серверу будет возможен только после подтверждения входа через Telegram, что практически исключает риск несанкционированного доступа. Во-вторых, Telegram предоставляет удобный интерфейс и высокий уровень безопасности для отправки уведомлений и запросов на подтверждение, что делает процесс аутентификации простым и доступным.

В этой статье мы шаг за шагом рассмотрим, как настроить двухфакторную авторизацию для SSH с использованием Telegram-бота. Мы разберем все необходимые шаги – от создания бота до интеграции с вашим сервером, чтобы вы могли обеспечить дополнительный уровень безопасности для вашего окружения.

Читать далее
Total votes 25: ↑23 and ↓2+24
Comments35

Telegram Mini App. Как создать Web App с нуля

Level of difficultyHard
Reading time13 min
Views47K

Mini Apps (или же WebApps) - это относительно новый и удобный способ добавления веб приложения прямо в интерфейсе приложения Telegram. Используя JavaScript, становится возможным создавать бесконечное множество интерфейсов, которые смогут заменить полноценный веб-сайт.

Особенность MiniApps заключается в том, что они поддерживают авторизацию, платежи одной кнопкой и возможность работать с данными пользователя, открывшего мини-приложение.

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

Приступим

Читать далее
Total votes 19: ↑18 and ↓1+21
Comments11

Прекратите делать таблицы в Markdown

Level of difficultyEasy
Reading time13 min
Views32K

В пятницу ко мне подошел коллега и с гордостью показал новую утилиту, которую он разработал. Она генерирует документацию в Markdown на основе .env файла, включая переменные, их значения и комментарии. Я, конечно, поздравил коллегу с успехом и попросил посмотреть на результат. И тут меня ждал шок — таблица в Markdown! Вы только представьте себе это!

Так начался холивар...

И что же не так с таблицами?
Total votes 66: ↑55 and ↓11+63
Comments79

Open-source. Плюсы и минусы на примере MoonShine Laravel

Level of difficultyEasy
Reading time8 min
Views4.4K

В этой статье поделюсь опытом создания и развития open-source проекта MoonShine, которому стукнуло уже 2 года. 🎉
Расскажу как проект развивался, какие были проблемы, и что я предпринимал для их решения.

Читать далее
Total votes 21: ↑21 and ↓0+27
Comments18

Как дообучать LLM с помощью Supervised Fine-Tuning

Reading time15 min
Views7.2K

Обычно большие языковые модели (large language model, LLM) обучают в несколько этапов, включающих предварительное обучение и множество этапов fine-tuning (см. ниже). Предварительное обучение — это дорогостоящий процесс (например, требующий многих сотен тысяч долларов на вычислительные ресурсы), однако fine-tuning модели LLM (или контекстное обучение) по сравнению с этим гораздо дешевле (например, сотни долларов или даже меньше). Учитывая широкую доступность и бесплатность (даже для коммерческого использования) предварительно обученных LLM (например, MPT, Falcon или LLAMA-2), мы можем создавать большой спектр мощных приложений благодаря fine-tuning моделей под нужные задачи.


Этапы обучения LLM

На текущем этапе исследований ИИ одним из самых широко применяемых видов fine-tuning моделей LLM стал supervised fine-tuning (SFT). При этой методике курируемый датасет высококачественных выходных данных LLM применяется для непосредственного fine-tuning модели. SFT прост и дёшев в использовании, это полезный инструмент выравнивания языковых моделей, ставший популярным даже за пределами исследовательского сообщества опенсорсных LLM. В этой статье мы вкратце расскажем о принципах SFT, рассмотрим исследования по этой теме и приведём примеры того, как практикующие специалисты могут с лёгкостью пользоваться SFT, написав всего несколько строк кода на Python.
Читать дальше →
Total votes 4: ↑4 and ↓0+5
Comments4

Интеграция LLM в корпоративные чат-боты: RAG-подход и эксперименты

Level of difficultyEasy
Reading time11 min
Views5.4K

Всем привет! На связи команда AI-Run из X5 Tech, мы занимаемся генеративными сетями в целом и языковыми моделями в частности. В этой статье мы опишем наш опыт работы с большими языковыми моделями (LLM), их внедрение для обработки корпоративных данных, а также поделимся нашими результатами и выводами.

Ещё мы расскажем о нашем подходе к использованию LLM, подробно остановимся на методе Retrieval Augmented Generation (RAG) и рассмотрим примеры использования чат-ботов на корпоративных порталах X5.

Эта статья будет полезна разработчикам, которые интересуются внедрением LLM для работы с корпоративными данными. Она основана на нашем выступлении на митапе, но не ограничивается им, а, скорее, дополняет его. 

Читать далее
Total votes 15: ↑15 and ↓0+17
Comments6

Magic bash script для установки драйверов Nvidia и CUDA (и Docker) в Ubuntu 22.04 и 24.04

Level of difficultyEasy
Reading time3 min
Views3K

Установка драйверов для видеокарт от Nvidia с одной стороны сейчас не вызывает столько проблем, как было еще 10–15 лет назад, с другой стороны если с драйверами еще как-то народ управляется, то вот работоспособную CUDA получить могут не все. У себя в HOSTKEY мы создали специальный скрипт, который пользователь может запустить самостоятельно и получить рабочее окружение для запускавсего — от PyTorch до Stable Diffusion и Ollama с поддержкой GPU.

Читать далее
Total votes 15: ↑13 and ↓2+15
Comments7
1
23 ...

Information

Rating
2,363-rd
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity