Все потоки
Поиск
Написать публикацию
Обновить
187.48

Базы данных *

Все об администрировании БД

Сначала показывать
Порог рейтинга
Уровень сложности

PostgreSQL против 10 миллионов записей: оптимизация запросов, которая спасла наш проект

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

Это был обычный понедельник. Я пил кофе, проверял почту, и вдруг — волна уведомлений в Slack. «Сайт не грузится!», «Отчеты зависли!», «Что происходит?».

Наш проект, который успешно работал с несколькими сотнями тысяч записей, перешагнул психологически важный рубеж — 10 миллионов строк в таблице заказов. И PostgreSQL, который раньше летал, внезапно начал ползти как улитка.

Читать далее

Новости

Пользователь не дал согласие на использование cookie и метрических программ, но информация о нём получена: что делать

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

Ситуация: пользователь зашёл на сайт. Фактически его данные уже обрабатываются метрическими программами (файлами cookie), хотя согласия на это он не давал. Пользователь не хочет, чтобы его данные собирались и обрабатывались, поэтому покидает сайт. Но данные уже получены. Что делать в этой ситуации? На каком  основании можно обрабатывать данные пользователя сразу при входе на сайт? 

Узнать, как не нарушать закон

8 атак на СУБД. Что делать?

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

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

Сегодня с вами Дмитрий Ларин, руководитель продуктового направления по защите баз данных и Александр Хребтов, аналитик группы компаний «Гарда», и мы поговорим о способах защиты баз данных. После 2022 года многие российские компании оказались в ситуации, когда привычные инструменты управления базами данных стали недоступны. Миграция на отечественные СУБД обострила вопрос: как защитить критические данные в условиях, когда стандартные средства больше не работают?

В этой статье мы покажем, как справляться с основными угрозами безопасности СУБД, почему сертификация не спасает от инсайдеров и каким образом системы класса Database Firewall решают эти задачи.

Как обезопасить CУБД

PostgreSQL 18: быстрее, умнее, нагляднее

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

25 сентября вышел PostgreSQL 18 — релиз, где маркетинговое «в 3 раза быстрее» подкреплено конкретной работой над вводом‑выводом, планировщиком и инструментами миграции. Ниже — без лозунгов и фанфар: разберём, что и как вам поможет в проде.

Читать далее

О параллельности при создании индексов в Postgres (часть 1)

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

Добрый день, коллеги!

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

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

При развёртывании новой крупной базы данных с «нуля» (например путём миграции), возникает необходимость построить также большое количество индексов в весьма ограниченное тех. окно. Как известно, процесс построения индекса это не только ценный мех IO, но и довольно большое количество CPU при достаточно производительной дисковой подсистеме. Чем больше ядер вы сможете задействовать — тем быстрее пойдёт процесс (в общем случае утверждение, конечно, спорное, но в моём случае обоснованное и проверенное).

На пути «параллелизации» всего и вся возникают разнообразные проблемы, про 3 такие проблемы я и хочу рассказать сегодня.

Читать далее

Изоляция базы данных для автотестов

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

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

Читать далее

Алгоритмы, базы и порядок: практическая подборка книг для разработчиков

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

Алгоритмы, базы данных и качество данных — три темы, без которых сегодня не обходится ни один проект. От того, как разработчик обращается с ними, зависит не только скорость работы приложений, но и то, насколько вообще можно доверять системе. Если алгоритм выбран неправильно — система будет тормозить; если база построена на «костылях» — она станет источником ошибок; если данные не проверять на качество — отчеты превратятся в хаос.

Чтобы помочь разобраться в этом, команда Read IT Club собрала подборку из трех книг, которые проверили рецензенты клуба — эксперты из ведущих технологических компаний. В них нет академической скуки, зато есть практические советы: как выбрать правильный алгоритм, не угробить архитектуру базы и научиться бороться с «грязными» данными. Каждая из них решает свою часть головоломки, но вместе они дают цельную картину того, как работать с данными и кодом надежно, эффективно и без лишних драм.

Читать далее

Что нужно знать системному аналитику о Apache Cassandra

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

Всем привет! Я Илья Глазунов, системный аналитик в проекте карточного хранилища T-Pay Online — быстрого способа оплаты для наших клиентов. В качестве БД в проекте хранилища мы используем Apache Cassandra. В статье — обзорный материал, который поможет познакомиться с БД.

В культуре Т-Банка важно, чтобы системные аналитики знали особенности интеграционных схем с другими компонентами, умели строить схемы БД так, чтобы минимизировать издержки, связанные с i/o-операциями. А еще — чтобы могли вычислять узкие места в кейсах и влиять на выбор верхнеуровневого компонента в проекте. 

Когда мы выбирали БД для нашего проекта, столкнулись с тем, что существует мало материалов, которые бы сжато передавали главные особенности Apache Cassandra без глобальных неточностей и на русском языке для первичного ознакомления. Поэтому решили помочь тем, кто окажется в таком же положении, что и мы. 

Разберем, для чего нужна Cassandra, рассмотрим основные концепции архитектуры, разложим принципы проектирования БД с ее особенностями модели данных и затронем некоторые принципы расчета конфигурирования БД Cassandra.

Читать далее

SQL против NoSQL: мифы и реальность

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

Привет, Хабр! Меня зовут Анастасия Нечепоренко, я QA Lead и преподаватель курса "JavaScript QA Engineer" в Отус. В этой статье кратко разбираю самые живучие мифы о SQL и NoSQL и почему не стоит воспринимать выбор между ними как бинарный.

Читать разбор

Что нового в PostgreSQL 18? Взгляд разработчика

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

Команда Go for Devs подготовила перевод обзора PostgreSQL 18. Новый релиз не ограничился громкой подсистемой асинхронного ввода-вывода — он принёс ряд функций, заметных именно в повседневной разработке. Нативная поддержка UUID v7, виртуальные генерируемые столбцы, расширенные возможности RETURNING и новые средства диагностики делают жизнь разработчиков проще и продуктивнее.

Читать далее

Как исходные цели проекта Postgres определили его успех

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

На прошлой неделе мне предоставилась возможность прочитать научную статью 1986 года о создании Postgres как платформы и о исходных целях её проектирования. Меня поразила степень предусмотрительности её авторов и то, как цели проекта заложили фундамент создания системы управления базами данных, постепенно завоёвывающей мир.

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

В статье перечислены следующие шесть целей проекта:

1. улучшенная поддержка сложных объектов, расширяющих сценарии использования в бизнесе и разработке

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

3. предоставление средств для активных баз данных (например, уведомлений и триггеров)

4. упрощение процесса восстановления после сбоев

5. использование преимуществ нового оборудования

6. применение реляционной модели Кодда

Давайте рассмотрим их с точки зрения современных возможностей Postgres.

Читать далее

PostgreSQL 18: новый AIO ускоряет запросы до 3-х раз. Что происходит?

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

В мире баз данных, где каждая миллисекунда на счету, а объемы информации растут как на дрожжах, выход PostgreSQL 18 стал настоящим подарком для разработчиков и администраторов. Это не просто косметический апгрейд, а глубокая перестройка подкапотных механизмов, от облачных хранилищ до высоконагруженных OLAP-систем. Давайте разберемся, что там в этом релизе появилось и/или изменилось.

Читать далее

Как киберэкономика и ИИ меняют философию науки? Поппер, Кун, Фейерабенд и Лакатош в условиях цифровых технологий

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

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

Читать далее

Ближайшие события

Как мы подружили Tarantool с Kubernetes

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

Привет, Хабр! Я — Калашников Сергей, DevOps‑инженер в Центре Перспективных Разработок (ex. R&D) компании Bercut. Cегодня поделюсь опытом внедрения систем на базе Tarantool и Tarantool Vshard в оркестратор Kubernetes.

Tarantool — платформа, которая включает в себя in‑memory базу данных, а также встроенный сервер приложений. На базе этой платформы наша команда разрабатывает различные информационные системы, расширяя функциональность с применением языков Lua, Rust, C\C++.

Несмотря на все очевидные плюсы Tarantool, он не является тривиальным в части конфигурирования и bootstrap. Это привело нас к разработке Operator для Kubernetes, который обеспечивает развертывание и конфигурирование кластеров на базе Tarantool и Tarantool Vshard.

Читать далее

Что для OLTP хорошо, то для OLAP — смерть: ликбез и выбор серверов

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

Вот скажите мне, хабравчане, в чём сила? Разве в деньгах? Вот и финдиректор говорит, что в деньгах. А я вот думаю, что сила в данных: у кого данные, тот и сильней!

Техгиганты, вроде Google (Alphabet), Meta (признана экстремистской в России) и Яндекса, получают огромную прибыль с монетизации пользовательских данных; менее очевидные Spotify, OZON и т.п. тоже неплохо зарабатывают на данных и рекламе. Банки каждую секунду проводят сотни тысяч транзакций, небольшие интернет-магазины собирают кучу телеметрии, а социальные сети крутят бесконечные алгоритмические фиды, чтобы вы смотрели свою персональную ленту с котиками и мемами.

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

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

А вот зачем

Для транзакций в реальном времени нужна одна система — OLTP (Online Transaction Processing), а для аналитики другая — OLAP (Online Analytical Processing). OLTP похож на Соника — он всегда в движении, стремительно мчится вперёд, реагирует на каждое препятствие и собирает колечки. А OLTP — отрабатывает каждую транзакцию быстро и предсказуемо. OLAP же напоминает Кирби — он втягивает в себя всё, что попадётся — горы предметов, врагов, целые миры. А OLAP поглощает массивы данных — миллионы и миллиарды строк, чтобы потом переварить их и превратить в осмысленный отчёт.

Дропдаун

Мы запускали майнинг-пул на десятки тысяч ASIC-ов. Вот что пошло не так (и почему это было гениально)

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

Запускать в 2025 году свой майнинг-пул? Серьёзно? Все крупные игроки уже поделены, битва за хешрейт давно закончилась. Но наш клиент пришёл не за «очередным пулом». У него был парк в десятки тысяч ASIC-ов, разбросанных по разным уголкам планеты, и конкретная бизнес-задача — не просто майнить, а делать это с максимальной эффективностью и контролем. И он понимал, что типовые решения его не устраивают. Вот тут-то и началось самое интересное.

Читать далее

Транзакционная работа с топиками: архитектура и сравнение решений в Apache Kafka и YDB Topics

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

Привет, Хабр! Меня зовут Алексей Николаевский, и мы с командой делаем СУБД Яндекса. С 2013 года в Яндексе использовали Kafka для потоковой передачи данных. Но Kafka со временем перестала справляться с растущими объёмами, и в 2017 году мы перешли на своё решение.

Брокер сообщений YDB Topics во многом вдохновлялся Kafka: в нём также есть топики, партиции и аналогичные способы работы с данными. Но есть и существенные отличия, о которых в конце прошлого года я рассказал на московской конференции HighLoad. Под катом — адаптированная для Хабра статья по мотивам этого доклада: про архитектуру транзакций в обеих системах и интересные для разработчиков детали и нюансы, которые мы обсуждали на конференции.

Читать далее

Самый быстрый способ загрузить 32 000 строк в PostgreSQL с помощью Python

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

Команда Python for Devs подготовила перевод статьи о том, как найти самый быстрый способ загрузки данных в PostgreSQL с помощью Python. Автор пошагово сравнил разные методы — от построчных вставок до COPY с потоковой генерацией CSV — и показал, как ускорить процесс более чем в 250 раз при нулевом потреблении памяти.

Читать далее

Обрабатываем строки в 109 раз быстрее, чем NVIDIA на H100

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

Недавно я выпустил StringZilla v4 — первый релиз с поддержкой CUDA моей библиотеки для обработки строк. нацеленной в первую очередь на SIMD. Это означает, что теперь она стала быстрой не только на CPU, но и на GPU!

• Я хотел добавить ускорение ROCm для GPU AMD
• Я хотел добавить параллельный мультипаттерновый алгоритм поиска
• Я хотел опубликовать всё это ещё в декабре 2024 года

Итак, не всё пошло по плану, но StringZilla 4 CUDA наконец-то здесь, и она добавляет 500 с лишним GigaCUPS вычислений редакторского расстояния; при этом пакет можно установить через pip install. Также в ней есть некоторые другие трюки, предназначенные для крупномасштабных систем извлечения данных, баз данных и озёр данных, а также биоинформационных задач. И всё это под разрешительной опенсорсной лицензией Apache 2.0, позволяющей свободно использовать библиотеку в коммерческих целях. В этом посте я рассмотрю самые интересные части релиза, и в том числе:

• Быструю оценку алгоритмов динамического программирования на GPU,
• Хэширование CRC32MurMurHashxxHash, aHash и не только, а также
• Фингерпринтинг биологических последовательностей 52-битными целыми числами

Читать далее

Можно ли перейти с Oracle или MS SQL на СУБД из Реестра российского ПО без переписывания всей хранимой логики?

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

Можно ли перейти с Oracle или MS SQL на СУБД из Реестра российского ПО без переписывания всей хранимой логики?
Один из возможных подходов к решению этой задачи.

Читать далее
1
23 ...