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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Accelerating to T+1 - Have You Got the Speed and Agility Required to Meet the Deadline?

Read: https://www.mongodb.com/blog/post/accelerating-t-plus-one-have-you-got-speed-agility-required-meet-deadline
Develop MongoDB Applications with Oracle Autonomous Database on Dedicated Exadata Infrastructure

The blog post showcases the Oracle Database API for MongoDB, enabling integration between MongoDB and Autonomous Database. It highlights the benefits of leveraging ADB's converged capabilities, provides configuration instructions, and demonstrates MongoDB collection migration. The post emphasizes using familiar MongoDB tools while harnessing the power of a converged database, enabling SQL on JSON collections.

Read: https://blogs.oracle.com/database/post/adb-d-mongodb-api
Как в 3 раза снизить затраты на отказоустойчивую инфраструктуру, переехав с Hazelcast на Redis

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


Читать: https://habr.com/ru/companies/alfa/articles/737630/
Чей DAX сильнее? …или почему каждый пользователь должен влиять на развитие платформы

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


Читать: https://habr.com/ru/companies/visiology/articles/738456/
Kafka за 20 минут. Ментальная модель и как с ней работать

Привет! Меня зовут Глеб Гончаров, и я руковожу подгруппой ИТ-инфраструктуры в СберМаркете. В работе мы широко используем Kafka как шину данных для микросервисов и не раз убедились на практике, что к инструменту важно подобрать правильный подход. Об этом сегодня и поговорим в двух частях — сначала обсудим основы, а в конце статьи будет ссылка на практические задания.


Читать: https://habr.com/ru/companies/sbermarket/articles/738634/
Невредные советы по Cassandra — как избежать ошибок?

Привет, Хабр! Меня зовут Евгений Абрамкин, я руководитель поддержки третьего уровня в направлении омниканальных решений Лиги Цифровой Экономики. Моя команда — последняя «инстанция» во флоу по решению инцидентов. Мы пишем доработки и фиксы, чтобы победить проблему клиента, а также можем предоставить оптимальную конфигурацию для системы, которая передана на эксплуатацию или требует масштабирования. Это может быть кластер Elasticsearch, балансировщики nginx или что поинтереснее — распределенная NoSQL СУБД Apache Cassandra.

В материале я расскажу именно об Apache Cassandra: какие ошибки можно совершить при ее использовании, на что стоит обратить внимание и чем лучше не пренебрегать.

Ошибка 1. Неправильное определение primary key

Одна из наиболее распространенных ошибок, которую можно совершить при работе с базой данных Cassandra, — неправильное определение primary key.

Primary key в Cassandra состоит из двух частей: partition key и clustering key. Первый определяет, как данные будут распределены по узлам кластера, а второй — как они будут упорядочены внутри partition.

Неправильное определение partition key может привести к тому, что данные будут неэффективно распределены по узлам кластера. Это может привести к «перегреву» последних и неравномерному распределению нагрузки.

Кроме того, ошибка в выборе partition key чревата дублированием данных и увеличением объема записываемых.

Если clustering key определить неправильно, данные внутри partition будут неэффективно упорядочены. Например, запросы на чтение данных могут занимать больше времени, чем нужно, из-за необходимости сортировки данных на уровне приложения.


Читать: https://habr.com/ru/companies/digitalleague/articles/738908/
👍1
How Edenlab Built a High-Load, Low-Code FHIR Server to Deliver Healthcare for 40 Million Plus Patients

Read: https://www.mongodb.com/blog/post/edenlab-built-high-load-low-code-fhir-server-deliver-healthcare-forty-million-patients
Obsidian — Мой сетап

Вот я и дописал свою четвёртую статью на хабр (А ведь в начале года поставил себе цель написать хотя бы одну статью, а тут аппетит пришёл во время еды и вот четвёртая). Предыдущие раз, два и три.

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

Поэтому вот сразу ссылка на мой сетап хранилища Обсидиана на гитхабе (о котором и пойдёт речь в данной статье), можно сразу его качать и тыкаться самому и если что-то не понятно подглядывать в статью. (Надо распаковать zip-файл в папку, а потом открыть открыть обсидиан и при выборе хранилища выбрать эту папку, куда распаковали zip-файл. Если у вас одно хранилище, то тогда жмём в левом нижнем углу кнопку сейфа)

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

В этом хранилище используются 10 плагинов, основные:

- Calendar - для календаря справа.

- Dataview - для статистики и для проектов.

- Tasks - для задач.

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

К такой настройке я шёл целый год используя обсидиан, постоянно дорабатывал её и искал "совершенство", в ней собраны разные подходы из разных статьей и книг (GTD, 7 навыков, Джедайские техники, Атомные привычки), данные подходы большинству могут быть знакомы. Но есть метод, до которого я дошёл сам и до этого я нигде его не встречал (возможно просто не попадался) - это метод одной задачи.

Disclaimer1: Мой сетап не претендует на "идеальность", в нём найдутся минусы и неудобности. Я выношу его на общее обсуждение в том числе для того, чтобы кто-то мог предложить ту или иную доработку тут в комментариях, а так же для того, чтобы новички могли сходу вкатиться в этот чудесный обсидиановый мир.
Disclaimer2: Обычно обсидиан ассоциируют с Zettelkasten, графами и прочими атомарными заметками. Я в своём подходе этого не использую, возможно еще не дорос, возможно мой подход немного про другое. В этой статье я пишу не про это.
Погнали вкатываться в обсидиановый мир

Читать: https://habr.com/ru/articles/735858/
👍1
Autonomous Database Observability (Part 2)

Autonomous Database provides detailed Observability via Oracle Cloud Infrastructure (OCI) services for database monitoring. In Part 1 of this blog series we covered the tools and services available from Oracle to observe and monitor Autonomous Databases (ADB). In this second and final part of the blog series we're covering relevant and popular open source third party tools and services used by developers for observability (now including the database): Prometheus and Grafana.

Read: https://blogs.oracle.com/database/post/autonomous-database-observability-2
Странное поведение MS SQL Server 2019: длительные операции TRUNCATE

Не секрет, что самой популярной и массовой платформой в России для создания ИТ-систем для бизнеса является 1С:Предприятие 8.х. На ней разработано огромное количество отраслевых и самописных решений.

Хочу обратить внимание на одну особенность работы приложений 1С, а именно, очень интенсивную работу с временными таблицами СУБД. Подобной интенсивной работы с tempDB, наверное, нет ни в одном тиражном решении в мире.

После завершения пакетного запроса платформа автоматически удаляет временную таблицу, отдавая серверу СУБД команду <truncate, чтобы освободить ресурсы под следующий запрос.

TRUNCATE – это очень простая и быстрая операция и выполняется мгновенно. Даже для таблиц с миллионами строк она длится миллисекунды. Тем не менее, у некоторых своих клиентов мы столкнулись с очень странной ситуацией, когда производительность системы проседает из-за того, что запросы с очисткой временных таблиц могут длиться десятки секунд (не миллисекунд, а секунд!). А учитывая количество запросов с временными таблицами в ИТ-системе на 1С:Предприятие, это время в совокупности становится просто огромным.


Читать: https://habr.com/ru/companies/softpoint/articles/739112/
Странники, нужна ваша помощь в борьбе с незнанием!

Шерифы из Яндекс Практикум ищут чертовски крутых и опасных авторов и ревьюеров для своих образовательных программ.

Системный аналитик;
Python-разработчик.

Откликайтесь, наш тихий городок будет вам благодарен! Тем более, что сотрудничество вас ждет необременительное, всего 2-3 часа в день.
Tarantool 2.11 LTS: Рассказываем про новые возможности администрирования и безопасности

Привет. Меня зовут Владимир Салыкин, я директор по продукту Tarantool. Мы выпустили Tarantool 2.11 LTS — стабильный релиз с долгим циклом поддержки. Работа над ним началась в мае 2022 года, и сейчас релиз включает в себя более тысячи коммитов от 42 авторов. Мы все много работали над решением основных проблем с обслуживанием и администрированием, с которыми ранее сталкивались наши пользователи.

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


Читать: https://habr.com/ru/companies/vk/articles/739134/
Vector databases

We have added Vector DBMSs as a new DBMS category.

Read: https://db-engines.com/en/blog_post/104
Оператор EXCLUDE в PostgreSQL: Продвинутые ограничения для базы данных

Рассказываем, как использовать ограничение EXCLUDE в PostgreSQL для поддержания корректности вносимой информации в базах данных.

Читать: «Оператор EXCLUDE в PostgreSQL: Продвинутые ограничения для базы данных»
Оператор EXCLUDE в PostgreSQL: Продвинутые ограничения для базы данных

Рассказываем, как использовать ограничение EXCLUDE в PostgreSQL для поддержания корректности вносимой информации в базах данных.

Читать: «Оператор EXCLUDE в PostgreSQL: Продвинутые ограничения для базы данных»
Как делать бэкапы без проводов: restic + MinIO (S3)

До недавнего времени я делал бэкапы своих устройств на внешний HDD. Такой способ меня устраивал потому, что бэкапил данные редко - раз в неделю. Когда задумался о ежедневных бэкапах, понял, что бегать с внешним HDD будет непрактично. Хочу рассказать про удобное (по крайней мере для меня) решение для ежедневных бекапов без проводов.


Читать: https://habr.com/ru/articles/739698/
Системному администратору и нагрузочному тестировщику:  статистика ввода-вывода в ядре Linux под капотом

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

Нам, как конечным пользователям, будет полезно понимать, как устроен механизм сбора и накопления статистики внутри ядра и как читает и интерпретирует данные популярная утилита iostat. Что именно значат aqu-sz, util и другие данные из режима расширенной статистики? Почему многие значения усреднены? Чтобы ответить на эти и другие вопросы, мы пройдем путь от системного вызова до момента, когда запрос ушел в диск и вернулся, — а счетчики обновились. Поехали!


Читать: https://habr.com/ru/companies/yadro/articles/737866/
Построение пайплайна анализа данных в реальном времени с помощью Airbyte, Kafka и Pinot

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

Наличие в вашем распоряжении инструментов с открытым исходным кодом для дата инжиниринга и аналитики помогает снизить стоимость запуска пайплайна аналитики в реальном времени. Доступ к исходному коду позволяет избежать зависимости от поставщика, что предоставляет вам гибкость при настройке решения в соответствии с потребностями вашей организации. В этой статье рассматриваются три популярных продукта с открытым исходным кодом в области данных — Airbyte, Apache Kafka и Apache Pinot — для создания пользовательского дашборда электронной коммерции, который обновляется в режиме реального времени.


Читать: https://habr.com/ru/companies/otus/articles/739940/