Парсить XML при помощи регулярных выражений нельзя… но давайте попробуем
Парсинг HTML при помощи регулярных выражений — популярная ошибка и отличный пример использования неподходящего под задачу инструмента. Общепризнанно, что это плохая идея по множеству причин.
Существует знаменитый ответ на Stack Overflow о том, почему этого ни в коем случае не следует делать. На самом деле, этот ответ стал настолько популярным, что в определённых кругах используется, как копипаста. Каждый раз, когда я натыкаюсь на него, то думаю что он во многом справедлив... но в то же время, не могу согласиться с ним полностью...
Читать: https://habr.com/ru/articles/954632/
#ru
@database_design | Другие наши каналы
Парсинг HTML при помощи регулярных выражений — популярная ошибка и отличный пример использования неподходящего под задачу инструмента. Общепризнанно, что это плохая идея по множеству причин.
Существует знаменитый ответ на Stack Overflow о том, почему этого ни в коем случае не следует делать. На самом деле, этот ответ стал настолько популярным, что в определённых кругах используется, как копипаста. Каждый раз, когда я натыкаюсь на него, то думаю что он во многом справедлив... но в то же время, не могу согласиться с ним полностью...
Читать: https://habr.com/ru/articles/954632/
#ru
@database_design | Другие наши каналы
Динамическое маскирование в СУБД: принципы, сценарии и реализация
Привет, Хабр!
На связи Артемий Новожилов, архитектор систем ИБ и автор ТГ-канала Data Security и Дмитрий Ларин, руководитель продуктового направления по защите баз данных, группа компаний «Гарда». С нами вы могли познакомиться по таким статьям как маскирование и Apache Kafka. И сегодня мы хотим продолжить тему маскирования данных.
Современные компании обрабатывают огромные объемы конфиденциальных данных: персональные данные (как сотрудников, так и партнеров и клиентов), информацию о клиентах и их заказах, финансовые и бухгалтерские сведения, данные, относящиеся к коммерческой тайне и интеллектуальной собственности, а также технические настройки и доступы. В связи с этим возникают повышенные риски утечки данных, сложности с соблюдением требований законодательства (например, ФЗ-152 и GDPR), угроза инсайдерских атак, а для тестов или аналитики приходится создавать отдельные копии баз данных (БД).
Один из эффективных способов защиты данных – динамическое маскирование (Dynamic Data Masking, DDM).
Узнать все о динамическом маскировании
Читать: https://habr.com/ru/companies/garda/articles/954932/
#ru
@database_design | Другие наши каналы
Привет, Хабр!
На связи Артемий Новожилов, архитектор систем ИБ и автор ТГ-канала Data Security и Дмитрий Ларин, руководитель продуктового направления по защите баз данных, группа компаний «Гарда». С нами вы могли познакомиться по таким статьям как маскирование и Apache Kafka. И сегодня мы хотим продолжить тему маскирования данных.
Современные компании обрабатывают огромные объемы конфиденциальных данных: персональные данные (как сотрудников, так и партнеров и клиентов), информацию о клиентах и их заказах, финансовые и бухгалтерские сведения, данные, относящиеся к коммерческой тайне и интеллектуальной собственности, а также технические настройки и доступы. В связи с этим возникают повышенные риски утечки данных, сложности с соблюдением требований законодательства (например, ФЗ-152 и GDPR), угроза инсайдерских атак, а для тестов или аналитики приходится создавать отдельные копии баз данных (БД).
Один из эффективных способов защиты данных – динамическое маскирование (Dynamic Data Masking, DDM).
Узнать все о динамическом маскировании
Читать: https://habr.com/ru/companies/garda/articles/954932/
#ru
@database_design | Другие наши каналы
Как мигрировать приложение с базой данных Oracle в Postgres без лишних хлопот
Статья описывает методику миграции приложения, содержащего множество SQL запросов из базы данных Oracle в Postgres. Будет интересна всем, кто собирается мигрировать или уже мигрировал приложение из Oracle в Postgres.
Читать: https://habr.com/ru/articles/954990/
#ru
@database_design | Другие наши каналы
Статья описывает методику миграции приложения, содержащего множество SQL запросов из базы данных Oracle в Postgres. Будет интересна всем, кто собирается мигрировать или уже мигрировал приложение из Oracle в Postgres.
Читать: https://habr.com/ru/articles/954990/
#ru
@database_design | Другие наши каналы
Данные WhatsApp и Telegram для ML-моделей: тренд или серый рынок?
В этой статье я расскажу про новый тип данных для российского рынка - данные Whatsapp и Telegram: насколько они ценны и насколько легальны.
Читать: https://habr.com/ru/articles/955024/
#ru
@database_design | Другие наши каналы
В этой статье я расскажу про новый тип данных для российского рынка - данные Whatsapp и Telegram: насколько они ценны и насколько легальны.
Читать: https://habr.com/ru/articles/955024/
#ru
@database_design | Другие наши каналы
Данные WhatsApp и Telegram для ML-моделей: тренд или серый рынок?
В этой статье я расскажу про новый тип данных для российского рынка - данные Whatsapp и Telegram: насколько они ценны и насколько легальны.
Читать: https://habr.com/ru/articles/955030/
#ru
@database_design | Другие наши каналы
В этой статье я расскажу про новый тип данных для российского рынка - данные Whatsapp и Telegram: насколько они ценны и насколько легальны.
Читать: https://habr.com/ru/articles/955030/
#ru
@database_design | Другие наши каналы
Как динамическая схема и zstd ускорили MongoDB
В статье описан переход на динамическую схему: квартальные бакеты (≈3× меньше документов), объединение агрегаций и смена snappy на zstd (−43% Storage). Результат — меньше данных, лучшая латентность и throughput; приведены метрики и кейсы.
Читать подробнее
#en
@database_design | Другие наши каналы
В статье описан переход на динамическую схему: квартальные бакеты (≈3× меньше документов), объединение агрегаций и смена snappy на zstd (−43% Storage). Результат — меньше данных, лучшая латентность и throughput; приведены метрики и кейсы.
Читать подробнее
#en
@database_design | Другие наши каналы
DBT Proplum: Расширяем возможности DBT для работы с Greenplum и Clickhouse
В современных реалиях всё чаще встаёт вопрос о переходе с вендорских продуктов на open-source. Компании активно рассматривают DBT как стандарт для управления трансформациями данных, но сталкиваются с проблемами: существующие алгоритмы загрузки оказываются недостаточными, а адаптеры для СУБД - устаревшими.
В этой статье рассказываем о нашей доработке адаптера для DBT, который расширяет возможности работы с Greenplum и ClickHouse, добавляя новые стратегии загрузки, логирование и интеграцию с внешними источниками.
Читать статью
Читать: https://habr.com/ru/companies/sapiens_solutions/articles/955122/
#ru
@database_design | Другие наши каналы
В современных реалиях всё чаще встаёт вопрос о переходе с вендорских продуктов на open-source. Компании активно рассматривают DBT как стандарт для управления трансформациями данных, но сталкиваются с проблемами: существующие алгоритмы загрузки оказываются недостаточными, а адаптеры для СУБД - устаревшими.
В этой статье рассказываем о нашей доработке адаптера для DBT, который расширяет возможности работы с Greenplum и ClickHouse, добавляя новые стратегии загрузки, логирование и интеграцию с внешними источниками.
Читать статью
Читать: https://habr.com/ru/companies/sapiens_solutions/articles/955122/
#ru
@database_design | Другие наши каналы
Forwarded from Типичный программист
This media is not supported in your browser
VIEW IN TELEGRAM
Наткнулся на шикарное чтиво по шардингу БД с интерактивными схемами
🔘 В лонгриде объясняется, как работает шардирование и какие моменты важно учесть при проектировании производительного sharded‑кластера.
🔘 Из крутого — по ходу прочтения материала появляются кликабельные схемы, которые помогают усвоить материал. Можно играться с диаграммами кластера и смотреть, как меняются сценарии в рилтайме!
Сохраняйте годноту😮
Сохраняйте годноту
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Профессия программист С: плюсы, минусы и нужен ли свитер
В мире, где абстракции правят бал, а скорость важнее эффективности, говорить о C — значит идти против течения. Для многих это «устаревший» язык с ручным управлением памятью и «опасными» указателями. Но что, если именно эти его особенности — не минусы, а ключи к системному программированию, где нет права на ошибку? Программистом Postgres Professional с 22-летним стажем Максим Орлов убеждён, что C — не про мгновенный дофамин и быстрые прототипы, а про суть, контроль и философское понимание того, как действительно работает железо. Погрузитесь в историю любви к C, которая началась с раздражения на Pascal, и узнайте, почему этот «бастион спокойствия» актуален и сегодня.
Читать: https://habr.com/ru/companies/postgrespro/articles/955384/
#ru
@database_design | Другие наши каналы
В мире, где абстракции правят бал, а скорость важнее эффективности, говорить о C — значит идти против течения. Для многих это «устаревший» язык с ручным управлением памятью и «опасными» указателями. Но что, если именно эти его особенности — не минусы, а ключи к системному программированию, где нет права на ошибку? Программистом Postgres Professional с 22-летним стажем Максим Орлов убеждён, что C — не про мгновенный дофамин и быстрые прототипы, а про суть, контроль и философское понимание того, как действительно работает железо. Погрузитесь в историю любви к C, которая началась с раздражения на Pascal, и узнайте, почему этот «бастион спокойствия» актуален и сегодня.
Читать: https://habr.com/ru/companies/postgrespro/articles/955384/
#ru
@database_design | Другие наши каналы
Обновление MariaDB: новые коннекторы
По сообщению MariaDB, выпущены Connector/ODBC 3.2.7, Connector/Python 1.1.14 и Connector/Node.js 3.5.0 — все доступны для загрузки. Подробности и заметки о релизах на сайте MariaDB.
Читать подробнее
#en
@database_design | Другие наши каналы
По сообщению MariaDB, выпущены Connector/ODBC 3.2.7, Connector/Python 1.1.14 и Connector/Node.js 3.5.0 — все доступны для загрузки. Подробности и заметки о релизах на сайте MariaDB.
Читать подробнее
#en
@database_design | Другие наши каналы
MariaDB
Updated MariaDB ODBC, Python, and Node.js Connectors now available | MariaDB
MariaDB is pleased to announce the immediate availability of MariaDB Connector/ODBC 3.2.7, Connector/Python 1.1.14, and Connector/Node.js 3.5.0.
Data Safe для безопасности Oracle
Data Safe позволяет логически группировать базы, применять повторно шаблоны оценок (CIS/STIG/польз.), автоматически отслеживать дрейф с оповещениями, стандартизировать аудиторские политики и назначать динамические группы — экономия времени и меньший риск.
Читать подробнее
#en
@database_design | Другие наши каналы
Data Safe позволяет логически группировать базы, применять повторно шаблоны оценок (CIS/STIG/польз.), автоматически отслеживать дрейф с оповещениями, стандартизировать аудиторские политики и назначать динамические группы — экономия времени и меньший риск.
Читать подробнее
#en
@database_design | Другие наши каналы
Oracle
Simplifying Database Security Compliance at Scale with Oracle Data Safe
If you're a DBA tasked with security compliance across Oracle databases, Data Safe now lets you:
Group your databases logically
Apply CIS/STIG/custom assessments with reusable templates
Automatically track drift and be alerted
Standardize…
Group your databases logically
Apply CIS/STIG/custom assessments with reusable templates
Automatically track drift and be alerted
Standardize…
OKV 21: новые функции и усиленная безопасность
В статье описаны крупные обновления OKV 21 — расширение сценариев применения и укрепление защиты. Блог подробно объясняет новые возможности и их значение для работы и безопасности вашей организации.
Читать подробнее
#en
@database_design | Другие наши каналы
В статье описаны крупные обновления OKV 21 — расширение сценариев применения и укрепление защиты. Блог подробно объясняет новые возможности и их значение для работы и безопасности вашей организации.
Читать подробнее
#en
@database_design | Другие наши каналы
Oracle
Oracle Key Vault: Extending deeper into your environment.
Since the initial release of OKV 21, we've added significant capabilities that expand its use cases and strengthen your security posture. This blog walks through these new features and what they mean for your organization.
Хранилище данных с синхронизацией близкой реальному времени
Здравствуйте. Меня зовут Олег Юрченко. Расскажу о своём опыте создания хранилища данных для отчётов с синхронизацией близкой реальному времени.
Читать: https://habr.com/ru/articles/955728/
#ru
@database_design | Другие наши каналы
Здравствуйте. Меня зовут Олег Юрченко. Расскажу о своём опыте создания хранилища данных для отчётов с синхронизацией близкой реальному времени.
Читать: https://habr.com/ru/articles/955728/
#ru
@database_design | Другие наши каналы
Почему model-first и где истина?
У реляционных баз данных есть один небольшой недостаток - они не выводят табличные данные на экран пользователя. С одной стороны - какой же это недостаток, когда технология занимается исключительно своими базаданновыми вещами и не лезет туда, где её не надо. С другой - приходится данные пробрасывать через другой язык программирования, а то и два-три в случае веба. Ну и сам язык запросов забывать не надо. Он тоже вроде как язык.
Все существующие языки предназначены для уменьшения цифровой энтропии и оснащены инструментами для уборки цифрового навоза (кроме брейнфака, пожалуй). В том числе и инструментами для сбора в кучу разрозненных полей, да ещё и с возможностью как-то назвать эту структуру. В ООП языках это вообще часть парадигмы с далеко идущими последствиями, можно сказать, это у них в крови. А ООП языков, работающих между БД и экраном пользователя, осмелюсь предположить, большинство. Естественно, у разработчика возникает сразу желание воспользоваться структурными инструментами языка, чтобы утрамбовать поля таблицы в класс. Вот так и появляются дтошечки, энтитички, поджошечки и прочие попочки.
И вроде не велика проблема - делаем структуру в нашем любимом языке, такую же, как в БД и из наших кубиков складывается слово "счастье". Складываться-то оно складывается, но ненадолго. Очень быстро структура БД и структура в коде начинают разъезжаться. А если не начинают, то потыкайте в свой проект палочкой - скорее всего он уже умер. Как говорится "не щебечет дохлый щегол, а мёртвый проект не меняет свою структуру". Ну и далее по тексту...
Познать истину
Читать: https://habr.com/ru/articles/955782/
#ru
@database_design | Другие наши каналы
У реляционных баз данных есть один небольшой недостаток - они не выводят табличные данные на экран пользователя. С одной стороны - какой же это недостаток, когда технология занимается исключительно своими базаданновыми вещами и не лезет туда, где её не надо. С другой - приходится данные пробрасывать через другой язык программирования, а то и два-три в случае веба. Ну и сам язык запросов забывать не надо. Он тоже вроде как язык.
Все существующие языки предназначены для уменьшения цифровой энтропии и оснащены инструментами для уборки цифрового навоза (кроме брейнфака, пожалуй). В том числе и инструментами для сбора в кучу разрозненных полей, да ещё и с возможностью как-то назвать эту структуру. В ООП языках это вообще часть парадигмы с далеко идущими последствиями, можно сказать, это у них в крови. А ООП языков, работающих между БД и экраном пользователя, осмелюсь предположить, большинство. Естественно, у разработчика возникает сразу желание воспользоваться структурными инструментами языка, чтобы утрамбовать поля таблицы в класс. Вот так и появляются дтошечки, энтитички, поджошечки и прочие попочки.
И вроде не велика проблема - делаем структуру в нашем любимом языке, такую же, как в БД и из наших кубиков складывается слово "счастье". Складываться-то оно складывается, но ненадолго. Очень быстро структура БД и структура в коде начинают разъезжаться. А если не начинают, то потыкайте в свой проект палочкой - скорее всего он уже умер. Как говорится "не щебечет дохлый щегол, а мёртвый проект не меняет свою структуру". Ну и далее по тексту...
Познать истину
Читать: https://habr.com/ru/articles/955782/
#ru
@database_design | Другие наши каналы
Как Cars24 ускорил поиск и сократил расходы на MongoDB
В статье рассказывают, как Cars24 объединил БД и поиск в MongoDB Atlas, отказался от Elasticsearch и ArangoDB, внедрил динамическую схему, квартальные бакеты и сжатие zstd, добился до 99% ускорения и ~40% экономии места.
Читать подробнее
#en
@database_design | Другие наши каналы
В статье рассказывают, как Cars24 объединил БД и поиск в MongoDB Atlas, отказался от Elasticsearch и ArangoDB, внедрил динамическую схему, квартальные бакеты и сжатие zstd, добился до 99% ускорения и ~40% экономии места.
Читать подробнее
#en
@database_design | Другие наши каналы
Вышел Bun 1.3: full-stack рантайм, поддержка Redis и новый SQL API. Разобрались, что еще нового
Bun 1.3 стал full-stack рантаймом с Redis, SQL API, поддержкой MySQL и PostgreSQL, новым тест-раннером и ускорением сборки до 2,5 раз
Читать: «Вышел Bun 1.3: full-stack рантайм, поддержка Redis и новый SQL API. Разобрались, что еще нового»
#ru
@database_design | Другие наши каналы
Bun 1.3 стал full-stack рантаймом с Redis, SQL API, поддержкой MySQL и PostgreSQL, новым тест-раннером и ускорением сборки до 2,5 раз
Читать: «Вышел Bun 1.3: full-stack рантайм, поддержка Redis и новый SQL API. Разобрались, что еще нового»
#ru
@database_design | Другие наши каналы
Система резервации на 600 заказов в секунду без буферизации и другой дичи
Я прочитал статью https://habr.com/ru/companies/ozontech/articles/950044/, и меня поразило, сколько сомнительных решений можно использовать для одной простой задачи.
В этой статье я расскажу, как правильно создать сервис для конкурентных обновлений остатков данных в базе данных. Буду использовать .NET, C#, Entity Framework и PostgreSql.
Читать: https://habr.com/ru/articles/955714/
#ru
@database_design | Другие наши каналы
Я прочитал статью https://habr.com/ru/companies/ozontech/articles/950044/, и меня поразило, сколько сомнительных решений можно использовать для одной простой задачи.
В этой статье я расскажу, как правильно создать сервис для конкурентных обновлений остатков данных в базе данных. Буду использовать .NET, C#, Entity Framework и PostgreSql.
Читать: https://habr.com/ru/articles/955714/
#ru
@database_design | Другие наши каналы
Автоматический парсинг чеков с LlamaIndex и Pydantic
Команда Python for Devs подготовила перевод статьи о том, как с помощью LlamaIndex и Pydantic можно превратить сканы чеков в структурированные данные. Минимум кода — и у вас готовый CSV для анализа.
Читать: https://habr.com/ru/articles/953414/
#ru
@database_design | Другие наши каналы
Команда Python for Devs подготовила перевод статьи о том, как с помощью LlamaIndex и Pydantic можно превратить сканы чеков в структурированные данные. Минимум кода — и у вас готовый CSV для анализа.
Читать: https://habr.com/ru/articles/953414/
#ru
@database_design | Другие наши каналы
Книга «Программирование бэкенда на Python. Практическое руководство»
Приветствуем, коллеги. На связи Олег Сивченко @OlegSivchenko.
Уместен и закономерен ваш интерес, как мы обзаводимся правами на перевод зарубежных книг и где берём новинки. Такой вопрос задал нам читатель @PopovGP. Действительно, книгоиздательская отрасль не один год приспосабливалась к современным реалиям, но один интересный новый тренд действительно стоит раскрыть подробнее: мы стали активнее искать и рассматривать небольшие издательства, настроенные на сотрудничество. Так, уважаемый коллега @Holmogorov завершил длительный поиск базовой книги по Jetpack Compose, найдя в небольшом американском издательстве «Payload Publishing» отличный труд Нила Смита «Основы JetPack Compose: Разработка приложений для Android с помощью Jetpack Compose, Android Studio и Kotlin». Эта книга вышла в августе.
О другой очень похожей находке я хочу рассказать вам сегодня. Это совсем свежая новинка «Программирование бэкенда на Python. Практическое руководство» под авторством Тима Питерса. Обнаружили мы её в каталоге маленького индийского издательства «GitForGits».
Читать: https://habr.com/ru/companies/bhv_publishing/articles/956044/
#ru
@database_design | Другие наши каналы
Приветствуем, коллеги. На связи Олег Сивченко @OlegSivchenko.
Уместен и закономерен ваш интерес, как мы обзаводимся правами на перевод зарубежных книг и где берём новинки. Такой вопрос задал нам читатель @PopovGP. Действительно, книгоиздательская отрасль не один год приспосабливалась к современным реалиям, но один интересный новый тренд действительно стоит раскрыть подробнее: мы стали активнее искать и рассматривать небольшие издательства, настроенные на сотрудничество. Так, уважаемый коллега @Holmogorov завершил длительный поиск базовой книги по Jetpack Compose, найдя в небольшом американском издательстве «Payload Publishing» отличный труд Нила Смита «Основы JetPack Compose: Разработка приложений для Android с помощью Jetpack Compose, Android Studio и Kotlin». Эта книга вышла в августе.
О другой очень похожей находке я хочу рассказать вам сегодня. Это совсем свежая новинка «Программирование бэкенда на Python. Практическое руководство» под авторством Тима Питерса. Обнаружили мы её в каталоге маленького индийского издательства «GitForGits».
Читать: https://habr.com/ru/companies/bhv_publishing/articles/956044/
#ru
@database_design | Другие наши каналы
Что если… (безумные идеи хранения данных)
... писать без транзакций?
... сохранять без кворума?
... стирать прод без бэкапов?
... сливать базу самому?
И всё это безопасно, надёжно, доступно!
Хочу эти грибы!
Читать: https://habr.com/ru/articles/956154/
#ru
@database_design | Другие наши каналы
... писать без транзакций?
... сохранять без кворума?
... стирать прод без бэкапов?
... сливать базу самому?
И всё это безопасно, надёжно, доступно!
Хочу эти грибы!
Читать: https://habr.com/ru/articles/956154/
#ru
@database_design | Другие наши каналы
Oracle 2025: платформа с ИИ и защитой
14 октября 2025 года Oracle анонсировала новую генерацию флагманской платформы — сочетание продвинутого ИИ, усиленной защиты, гибкого развёртывания и высокой производительности для эффективной работы с данными.
Читать подробнее
#en
@database_design | Другие наши каналы
14 октября 2025 года Oracle анонсировала новую генерацию флагманской платформы — сочетание продвинутого ИИ, усиленной защиты, гибкого развёртывания и высокой производительности для эффективной работы с данными.
Читать подробнее
#en
@database_design | Другие наши каналы