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
Fireworks AI and MongoDB: The Fastest AI Apps with the Best Models, Powered By Your Data



Read: https://www.mongodb.com/blog/post/fireworks-ai-mongodb-fastest-ai-apps-with-best-models-powered-by-your-data

@database_design
Дизайн высоконагруженных приложений будущего. Путешествие без сценария с Мартином Клеппманом

Jesse Anderson, директор Big Data Institute, и Martin Kleppmann, автор книги "Высоконагруженные приложения. Программирование, масштабирование, поддержка", вместе исследуют меняющийся ландшафт обработки данных. Они начинают с истории создания книги Мартина, подчеркивая важность искусства задавать правильные вопросы. Мартин рассказывает об изменениях, произошедших в отрасли с 2017 года, подчеркивая рост облачных сервисов. Затем беседа приобретает новый поворот, когда Мартин погружается в академические круги, делясь своими соображениями о программном обеспечении для совместной работы на основе локального подхода и увлекательном мире Automerge. Начинающие инженеры-программисты получат несколько советов о том, как найти тонкий баланс между простотой и гибкостью. В завершение обсуждают о различных карьерных путях в динамичной сфере инженерии данных, что делает разговор полезным для профессионалов на любом этапе их пути.


Читать: https://habr.com/ru/articles/802891/

@database_design
Развитие баз данных

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

Данная статься захватывает ключевые моменты в развитии систем управления базами данных, от первых иерархических моделей до современных реляционных, NoSQL и NewSQL систем.


Читать: https://habr.com/ru/articles/803247/

@database_design
Forwarded from Веб-страница
This media is not supported in your browser
VIEW IN TELEGRAM
— Насколько хорошо вы умеете работать с CSS?
— Настолько, что рисую на CSS картины.
— Что?
— Что?

Целый аккаунт с похожими работами: https://twitter.com/asyrafhussin4

#css @tproger_web
​​Правильно построенный Data Office экономит время и силы. Но как это сделать?

Технический директор платформы данных и менеджер продукта «Нейрошлюз» из «Ростелекома» рассказывают, какие этапы они прошли, создавая дата-офис в своей компании: от инвентаризации проектов до формирования data-driven культуры.

Все нюансы при выстраивании процессов ищите в статье.

#советы
Oracle Database API for MongoDB - Best Practices

Oracle Database MongoDB API enables mongo-compatible access to Oracle Database, enabling you to keep your MongoDB assets and knowledge and to expand your applications and insight into data with Oracle's converged database capabilities.

The following post will touch on best practices when deploying ORDS - the integral component providing MongoDB compatible access to Oracle - within your IT infrastructure.

Read: https://blogs.oracle.com/datawarehousing/post/oracle-database-api-for-mongodb-best-practices

@database_design
ORA-07445 exception encountered: core dump - 3 steps to resolve

ORA-07445 exception encountered: core dump, can occur anywhere within Oracle code. Learn why this error occurs and the simple 3 steps to resolve it.

Read: https://blogs.oracle.com/database/post/ora-07445

@database_design
Building AI With MongoDB: How DevRev is Redefining CRM for Product-Led Growth



Read: https://www.mongodb.com/blog/post/building-ai-mongodb-how-devrev-redefining-crm-product-led-growth

@database_design
Maximize database performance with Oracle Exadata and Oracle Linux

Oracle Linux differentiates itself from alternative Linux distributions by capitalizing on its deep integration with the solution stack. This blog dives deeper into how Oracle Linux is the operating environment for Oracle Exadata Database Machine.

Read: https://blogs.oracle.com/exadata/post/maximize-database-performance-with-oracle-exadata-and-oracle-linux

@database_design
А в чем проблема работать с файлами?

Данные - это важный компонент системы. Приложение может хранить их где угодно, но в результате все сводится к файлам. Файлы - это хорошая абстракция, но она протекает: если не знать того, как работают ОС или гарантии файловой системы, то легко выстрелить себе в ногу.

Меня увлекла тема отказоустойчивости, а конкретно - отказоустойчивой работы с файлами. В этой статье я попытался соединить все полученные знания:

Кто участвует в процессе записи

Ошибки, которые могут произойти

Что от нас зависит, а что нет

И самое главное - как от этого защититься


Читать: https://habr.com/ru/articles/803347/

@database_design
Workload Isolation for More Scalability and Availability: Search Nodes Now on Google Cloud



Read: https://www.mongodb.com/blog/post/workload-isolation-more-scalability-availability-search-nodes-now-on-gcp

@database_design
Как развернуть Nextcloud с помощью Docker в ispmanager 6

В этом гайде шаг за шагом пройдем процесс настройки среды для запуска NextCloud. Покажем, как запустить NextCloud на собственном сервере с ispmanager 6, используя интерфейс панели для установки Docker, а также настройку и запуск контейнеров с необходимым ПО — Nginx, MySQL, PHP и Nextcloud.

Изучать Docker и его команды не потребуется, так как работать будем через интерфейс ispmanager 6.
Запустить NextCloud

Читать: https://habr.com/ru/companies/ispmanager/articles/803591/

@database_design
Нескучная стеганография, или как мы зашифровали секретные ключи пользователей в джипегах

Рассказываем, как использовать методы стеганографии и шифрования в децентрализованных сервисах на IPFS. Исключаем риски, связанные с централизованным хранением логинов и паролей. Используем метод LSB, «наименьший значащий бит». Внутри статьи — примеры кода на C# и алгоритме AES для шифрования и расшифровки.


Читать: https://habr.com/ru/articles/803839/

@database_design
PostgreSQL + pgAdmin + mTLS + certificate-based authentication + docker-compose в одном флаконе

Чего у меня не отнять, дак это мастерства заголовка...

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

Данная статья является легким переосмыслением того, что я написал на медиуме. Ибо думать я продолжаю на русском.

TL;DR исходники к вашим услугам.

В рамках любых взаимодействий мы сталкиваемся с такими сущностями как авторизация и аутентификация. Повторять в 100500 раз что есть что я не буду (но мне не лень такую длинную ремарку напечатать, ага). В рамках PostgreSQL первое обеспечивается через Roles, а второе через Privileges.


Читать: https://habr.com/ru/articles/804217/

@database_design
Почему люди не делают бэкапы?

Есть у меня вузовский товарищ Сашка. Математик, физик, а теперь и разработчик (умело монетизирует мозги), умный до безобразия. Ещё в университете он проявлял патологическую собранность в походах: чего бы ни понадобилось, всё было у него в рюкзаке. Год за годом он погружался в тему жизнеобеспечения всё глубже — и вот в ковидные времена общество получило выживальщика, продуманного до мелочей. Это тот случай, когда тушёнка, сгущёнка, йодид калия, триста способов разжечь костёр, землянка в пригородном лесу уже выкопана и меблирована обставлена по последнему слову выживания. Так вот, этот разработчик, математик, физик и человек, желающий во что бы то ни стало сохраниться вместе с тихоходками, с полгода назад истерически кричал мне в трубку, что у него «стёрся» проект длиной в год. Причина истерики проста: он не сделал бэкап. И это могла быть курьёзная байка, но таких — сотни и тысячи. Это люди, которые доверяют какому-то авосю свой труд, свои силы, свой опыт, свои деньги, данные, судьбы своих компаний. А авось почему-то оказывается ненадёжным.




Это всё чёрная кошка виновата, а не бэкапы там какие-то несделанные

Почему так происходит? Предлагаю рассмотреть 9 возможных причин.


Читать: https://habr.com/ru/companies/ruvds/articles/804211/

@database_design
Identify the best places in the US to host a solar eclipse viewing party

If you're in North America, it's safe to say you're aware that we're having a solar eclipse next month. Maybe you're even lucky enough to live close enough to the path of totality to view it. But how to do you decide where to go to view it?

Read: https://blogs.oracle.com/database/post/identify-the-best-places-in-the-us-to-host-a-solar-eclipse-viewing-party

@database_design
Шесть вредных советов по работе с Patroni на случай, если вы не хотите спать ночью

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

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


Читать: https://habr.com/ru/companies/jetinfosystems/articles/804401/

@database_design
Что нового в документации YDB за 1 квартал 2024 года

Первоначальная документация YDB, опубликованная в рамках open-source запуска в 2022 году, имела структуру, на которую в значительной степени повлиял закон Конвея. Создание проекта с открытым исходным кодом значительно повышает планку того, что ожидается от документации по технологии. В нашем случае для быстрого создания большого количества контента перед запуском потребовалась командная работа по принципу «разделяй и властвуй». На раннем этапе такое четкое владение каждым фрагментом было полезным. Однако, поскольку общий объем документации со временем продолжает расти, читателям становится всё труднее находить нужную им информацию. Чтобы решить эту проблему, мы перепроектируем структуру документации, чтобы она была ориентирована на пользователя. Таким образом, если вы являетесь командой, работающей с кластером YDB, каждый может иметь свою собственную любимую директорию в документации в соответствии со своей ролью в команде и не отвлекаться на контент, ориентированный на читателей с другой ролью.

Эта реструктуризация ещё в процессе: появился новый раздел для DevOps-инженеров, а также дополнительные разделы для администраторов баз данных, разработчиков приложений, инженеров по безопасности, аналитиков и т.д. Перемещение контента может потребовать выработки новых привычек, но в долгосрочной перспективе такая структура должна упростить навигацию. Мы создаём перенаправление со старого URL на новый при перемещении любой страницы документации, чтобы свести неудобства к минимуму.


Читать: https://habr.com/ru/companies/ydb/articles/804775/

@database_design
Курс «PostgreSQL для начинающих»: #4 — Анализ запросов (ч.1 — как и зачем читать планы)

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

В этой лекции мы узнаем, что такое план выполнения запроса, как и зачем его читать (и почему это совсем непросто), и о каких проблемах с производительностью базы он может сигнализировать. Разберем, что такое Seq Scan, Bitmap Heap Scan, Index Scan и почему Index Only Scan бывает нехорош, чем отличается Materialize от Memoize, а Gather Merge от "просто" Gather.

Как обычно, для предпочитающих смотреть и слушать, а не читать - доступна видеозапись (часть 1, часть 2).


Читать: https://habr.com/ru/companies/tensor/articles/790282/

@database_design