DATABASE DESIGN – Telegram
DATABASE DESIGN
1.41K subscribers
2.09K photos
3 videos
5.35K links
Лучшие материалы по работе с хранилищами данных на русском и английском языке

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
MaxScale Installation and Configuration

Read: https://mariadb.com/?p=37851
👍1
Turbocharge Your Application Development Using WebAssembly With SingleStoreDB

WebAssembly (Wasm) is a binary instruction format for a stack-based virtual machine. Wasm enables developers to use existing code from programming languages, such as C, C++ and Rust as part of their application development process. However, Wasm is not just for the web, and today is moving in exciting new directions. For example, one use-case would be to run Wasm code in a database system on the data already stored in the database system — an example of co-locating computation with data. Using Wasm to extend the capabilities of a database system opens up opportunities to develop many new applications. SingleStoreDB supports Wasm through Code Engine and, in this article, we’ll see how to build a Wasm UDF to perform sentiment analysis on data already stored in SingleStoreDB.

Read: https://db-engines.com/en/blog_post/101
Что использовать для распределённого хранения данных Zabbix, и почему мы остановились на нетипичном решении?

На одном крупном проекте мы, инженеры компании «Инфосистемы Джет», столкнулись с типичной проблемой стандартных инсталляций Zabbix на больших объемах - производительностью и низкой отказоустойчивостью базы данных. Конфигурация Zabbix была следующей:

• один Zabbix-сервер;

• множество прокси;

• сервер БД PostgreSQL с расширением TimescaleDB;

• сервер Grafana для визуализации данных.

При обычной нагрузке (12000 NVPS) система работала стабильно, но стоило произойти массовой аварии на инфраструктуре или перезагрузке сервера/прокси, как производительности БД не хватало. В такие моменты очень быстро накапливались очереди обработки данных, заканчивались кэши – система фактически прекращала работу. Непростую ситуацию ухудшали еще ложные срабатывания (данные не всегда могли попасть в БД) и рассылка уведомлений ответственным администраторам, проверявшим состояние систем в WEB-интерфейсе. Для восстановления работы приходилось перезапускать компоненты друг за другом, контролируя нагрузку на БД.

Проблему оперативно решили при помощи снижения количества чанков для хранения трендов. Причина происходящего крылась в некорректном партиционировании трендовых данных. Детально о проблеме и методах решения можно почитать в баг-репорте производителя (ZBX-16347). Он помог нам в устранении аварии, но ограничиваться только им не стали – одного репорта, на наш взгляд, было недостаточно. Мы стали смотреть шире и задумались над альтернативными решениями.

А какие варианты есть?

Начнём с того, что наибольшая нагрузка на БД в Zabbix создается на операциях с историческими данными и происходящими в мониторинге событиями. Это таблицы: history, history_uint, history_text, history_str, history_log, events, problems. Производитель предлагает использовать следующие БД: MySQL, PostgreSQL и Oracle DB. Кроме того, исторические данные можно отправлять и в Elasticsearch.


Читать: https://habr.com/ru/companies/jetinfosystems/articles/763514/
Мониторинг PostgreSQL. Новые возможности анализа производительности 1С и других систем. Часть 2: Трассировка

Продолжаем обсуждать инструменты анализа производительности систем на PostgreSQL.

В прошлой статье я начал рассказывать о расширении SP_TRACE, устанавливаемого на любые сборки PostgreSQL, и являющегося неотъемлемой частью мониторинга PerfExpert.

SP_TRACE предоставляет новые сведения в виде счетчиков и трасс, которых нет в других известных инструментах.


Читать: https://habr.com/ru/companies/softpoint/articles/759286/
Ten years of DB-Engines.com

DB-Engines.com was launched ten year ago. Quite a few things have changed since then in our portal and in the DBMS industry.

Read: https://db-engines.com/en/blog_post/99
Как работать эффективно с распределенными таблицами в ClickHouse

Приветствуем!

На связи Глеб Кононенко и Алексей Диков, мы разработчики из Лиги Цифровой Экономики. Год назад на одном большом проекте мы с коллегами начали работать с ClickHouse и сразу столкнулись с кучей проблем и недостатком информации по их преодолению.

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

Продукт — с открытым исходным кодом, русскоязычной документацией и возможной поддержкой. Поэтому растущая популярность неудивительна.

Мы набрались опыта, «набив шишки» на практике, и готовы им поделиться — запускаем цикл статей о том, как правильно «готовить» ClickHouse. И начнем с того, как эффективно создавать и использовать распределенные таблицы.

Немного о проекте:


Читать: https://habr.com/ru/companies/digitalleague/articles/759316/
Data-рынок: как российские ЦОДы справляются с нарастающим спросом

Традиционно рынок серверов, систем хранения данных и сетевого оборудования в России был представлен зарубежными компаниями — Dell, HP, Cisco и другими. В 2022-2023 гг data-центры взяли активный курс на импортозамещение при поддержке государства и отечественных поставщиков, поэтому приходится менять устоявшиеся годами бизнес-цепочки. При этом цифровизация требует все новых и новых ресурсов. Сегодня мы заглянем на рынок ЦОДов и постараемся понять, какие у него перспективы, и как российские data-центры справляются с огромным спросом.


Читать: https://habr.com/ru/companies/sberbank/articles/764822/
Why DARVA in France adopted MariaDB Enterprise Server

Read: https://mariadb.com/?p=37846
Language bindings for Autonomous Database: An overview for Developers

As databases evolve to be more autonomous and cloud-friendly, developers need efficient and reliable methods to connect and interact with them. This post will provide an overview on how to connect and query Oracle's Autonomous Database (ADB) from some popular programming languages and some of the differences in each implementation.

Read: https://blogs.oracle.com/database/post/language-bindings-for-autonomous-database
Сага распределенных транзакций

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

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

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

У некоторых в команде уже был опыт работы с xa-транзакциями.
Довольно удобный способ, когда у вас есть несколько ACID СУБД. Процесс состоит из двух фаз.


Читать: https://habr.com/ru/companies/qiwi/articles/759474/
Mejores prácticas de rendimiento: indexación



Read: https://www.mongodb.com/blog/post/performance-best-practices-indexing-es
Извлечение текста из файлов PDF при помощи Python



▍ Введение

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

Существует множество типов документов, содержащих подобные виды неструктурированной информации, от веб-статей и постов в блогах до рукописных писем и стихов. Однако существенная часть этих данных хранится и передаётся в формате PDF. В частности, выяснилось, что за каждый год в Outlook открывают более двух миллиардов PDF, а в Google Drive и электронной почте ежедневно сохраняют 73 миллионов новых файлов PDF (2).

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


Читать: https://habr.com/ru/companies/ruvds/articles/765246/
Cloud-Based Analytics With SingleStoreDB

The advent of cloud computing has provided the means to develop a wide range of new products and services. We can build and run applications and perform analytics in the cloud without installing local software. This article will look at two examples of modern systems that can seamlessly integrate with SingleStoreDB for in-cloud analytics: Apache Spark™️ and MindsDB.

The notebook file used in this article is available on GitHub.

Read: https://db-engines.com/en/blog_post/98
MariaDB Node.js Connector 3.2.2, and Python Connector 1.1.8 now available

Read: https://mariadb.com/?p=38191
Melhores práticas de desempenho: indexação



Read: https://www.mongodb.com/blog/post/performance-best-practices-indexing-br
Новая файловая система Composefs для Linux: что это такое и как она работает

В ноябре 2022 года Александр Ларсон, сотрудник Red Hat, разработавший Flatpack, предложил реализацию файловой системы Composefs. Она в некоторых моментах похожа на Squashfs, подходит для монтирования образов в режиме «Только для чтения». Особенности новой ФС — совместное хранение содержимого нескольких примонтированных дисковых образов и поддержка проверки подлинности читаемых данных. Позиционируется она как инструмент для монтирования образов контейнеров, а также применения для Git-подобного репозитория OSTree. Подробности о новинке — под катом.


Читать: https://habr.com/ru/companies/ru_mts/articles/765476/
Распределённые снапшоты: определение глобального состояния распределённых систем

Наша команда продолжает развивать Platform V DataGrid — распределенную базу данных в оперативной памяти для высокопроизводительных вычислений. В последнем релизе мы реализовали инкрементальные снапшоты, которые быстро снимаются, сохраняют транзакционную целостность и почти не влияют на общую производительность системы.

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


Читать: https://habr.com/ru/companies/sberbank/articles/753404/
Неструктурированные данные: что это, в чем их опасность и как защититься?

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

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

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


Читать: https://habr.com/ru/companies/bastion/articles/765256/
Модели данных в NoSQL

Автор статьи: Артем Михайлов

NoSQL (от «Not Only SQL») представляют собой семейство баз данных, разработанных для решения проблем, связанных с хранением, извлечением и обработкой больших объемов разнообразных данных. Они отличаются от традиционных реляционных баз данных, таких как MySQL или PostgreSQL, тем, что не требуют жесткой схемы данных и предоставляют более гибкую структуру хранения.

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

Читать: https://habr.com/ru/companies/otus/articles/760226/
BNETS Bets on MariaDB Enterprise Server for Banking Across Suriname

Read: https://mariadb.com/?p=38214