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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Уменьшаем размер MacOS.vdi в VirtualBox

Что ж, приступим сразу к делу. Как-то мы устанавливали виртуальную машину для сборки одного проекта, однако от души сделали динамический диск на 80GB. Однако позже стало понятно, что не стоило этого делать, так как у виртуальной MacOS оказалась весьма интересная особенность - даже если пространство на виртуалке остается незаполненным, она все равно занимает место на нашем Хосте (в моем случае - Windows). И так, вместо 27GB, фактически она занимала 50GB. Странно? Ну, пожалуй. Ведь динамический диск должен расширяться по ходу заполнения файлами. А что делать, если место пустует...

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

Инструкция была максимально простой, но мне стало немного беспокойно из-за конфузов, которые случались у некоторых ребят с форума. Дело в том, что команда diskutil secureErase freespace 0 / стерла все данные, что были на виртуалке Mojave.vdi у одного юзера, а после часовой кропотливой сборки проекта на моей виртуалке этого совсем не хотелось. Пришлось еще немного порыться в интернете и поосторожничать.


Читать: https://habr.com/ru/articles/723994/
Как мы создаём корпоративную почтовую систему нового поколения Mailion. Оптимизация стоимости хранения данных

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

Одна из наиболее ресурсоемких категорий софта сегодня — это системы хранения данных. К ним можно отнести как классические СУБД, так и хранилища различного назначения. В корпоративной почтовой системе Mailion мы используем объектное хранилище собственной разработки — Dispersed Object Store (DOS). Mailion поддерживает одновременную работу до миллиона пользователей, и подобный уровень нагрузки выдвигает существенные требования к производительности и экономической эффективности системы.

Под катом рассказываем, как мы искали оптимальную конфигурацию нашего объектного хранилища, и какие уроки извлекли из этого поиска.


Читать: https://habr.com/ru/companies/ncloudtech/articles/721538/
Новая точка на карте ЦОДов Москвы

Мы открыли новый дата-центр «Ростелеком-ЦОД» в Медведково. Строительство началось в июле 2022 года на базе складского комплекса класса А+, первый этап был реализован за 9 месяцев.

Сегодня в эксплуатацию принято 4 машинных зала из шестнадцати. Каждый из них может вместить до 312 стандартных серверных шкафов, т. е. всего 1248 стойко-мест. Общая электрическая мощность четырех машинных залов и поддерживающей инженерной инфраструктуры составляет 9 МВт.
Погулять по ЦОДу

Читать: https://habr.com/ru/companies/dataline/articles/724220/
Как загадочный разработчик снизил затраты на AWS на 90%, а потом исчез

Недавно я завершил аудит своего SaaS-клиента. Его история достойна рассказа. Это история о жадности, лжи и красоте хакинга.

Это история о том, как благодаря мой клиент снизил свои ежемесячные траты на AWS на 90 тысяч долларов благодаря таинственному разработчику, который исчез, как только работа была сделана.

Когда спустя полгода затраты на AWS снова взлетели примерно до 120 тысяч в месяц, этот клиент попросил меня разобраться, что же произошло на самом деле.

И разгадка оказалась совершенно сумасшедшей!


Читать: https://habr.com/ru/companies/qiwi/articles/724298/
PowerShell и LiveJournal (ЖЖ): скачивание постов журнала

У блог-платформы «LiveJournal» есть набор удалённых функций и протокол их вызова для сторонних веб-клиентов. В этой статье я описываю, какие из этих функций удобно использовать для загрузки к себе на компьютер всех постов своего журнала (блога). Также я даю пояснения к алгоритму загрузки всех постов, показанному в виде псевдокода в документации к клиент-серверному протоколу «LiveJournal», и привожу его перевод на русский язык с некоторыми изменениями.

В конце статьи я описываю свою практическую реализацию алгоритма загрузки постов на языке PowerShell. В статье есть иллюстрация работы полученного скрипта и ссылка на его исходный код на веб-сервисе «GitHub».


Читать: https://habr.com/ru/articles/724412/
Согласованность данных: что это на самом деле такое и почему с ней все так сложно

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


Читать: https://habr.com/ru/companies/vk/articles/723734/
SharedPreferences отличное хранилище для вашего flutter-приложения. Но есть нюансы…

Вы задаёте себе вопрос, какое хранилище данных выбрать для flutter-приложения? Отлично, тогда продемонстрирую, каким образом можно воспользоваться key-value решением, используя два метода set()и get()для всех типов данных*, и не разбрасываться ключами по всему коду.

Данный способ уже используется в приложении Weather Today.
Что там под звёздочкой

Читать: https://habr.com/ru/articles/724706/
Самый надёжный из древних носителей

Приветствую всех!

Думаю, всем нам известно, что вплоть до середины нулевых основным средством для переноса данных между компьютерами служили дискеты. Но, разумеется, нетрудно догадаться, что помимо них были и другие, менее распространённые носители. Какие-то из них были чрезвычайно надёжными, какие-то, напротив, иногда становились худшим, что могло случиться с устройством для хранения данных.
Итак, в сегодняшней статье поговорим об одном из самых крутых носителей данных тех лет — о магнитооптических дисках. Разберёмся, как устроены и как работают такие девайсы, каковы они в использовании. Традиционно будет много интересного.


Читать: https://habr.com/ru/companies/timeweb/articles/724628/
Совместная работа с документами в компании, если нельзя использовать Google Drive и другие популярные сервисы

Сложно представить свои повседневные будни без использования облачных сервисов Google Drive, DropBox, iCloud и других. Тем не менее, в нынешних обстоятельствах мы вынуждены менять привычные решения. На первый план вышли такие характеристики продуктов, как страна происхождения компании-разработчика, геолокализация данных и другие.

Как быть, если корпоративные сервисы, разрешенные для использования в организации, не справляются?


Читать: https://habr.com/ru/companies/naumen/articles/725030/
Tibx или не tib(x): вот в чем вопрос…

Сегодня я хочу поговорить о том, каких преимуществ в вопросах резервного копирования и аварийного восстановления можно добиться за счет смены архитектуры архива и правил хранения информации. Разумеется делать я это буду на примере нового формата архивов, который используют продукты КИБЕРПРОТЕКТ. Из интересного сразу выделю, что мы добились увеличения плотности до 5 раз! (это реальный показатель), а также повысили скорость, удобство и надежность. Не обошлось конечно и без проблем обратной совместимости и некоторых нюансов. Под катом — отличия нового формата, примеры оптимизаций, которые мы сделали, подробнее о плюсах инкрементного бэкапа, а также рекомендации по работе с резервными копиями в современных условиях. Всех заинтересованных приглашаю обсудить архитектурные подходы к работе с резервными копиями.


Читать: https://habr.com/ru/companies/cyberprotect/articles/725288/
8 шагов по внедрению проекта по управлению нормативно-справочной информацией (НСИ) и расчет окупаемости ROI

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

Несмотря на убытки, вызванные некачественными данными, бизнес часто откладывает проект по внедрению системы управления НСИ как дорогостоящий. Я приведу расчет ROI (return of investment – коэффициент рентабельности инвестиций) для телеком-компании, которая уже на 2 год может выйти на окупаемость 192% с опорой на пошаговый план внедрения, который позволит не затянуть проект.


Читать: https://habr.com/ru/articles/726078/
Postgres: графовая база данных, о которой вы не подозревали

PostgreSQL (Postgres) — это мощная реляционная база данных, способная хранить широкий спектр типов и структур данных. Когда нам нужно хранить графовые структуры данных, мы часто обращаемся к базам данных, позиционируемым как подходящее для этого решение, например, к Neo4J или Dgraph. Но не торопитесь! Хотя при работе с графовыми структурами данных о Postgres обычно не вспоминают, она идеально справляется с эффективным хранением графовых данных и запросами к ним.


Читать: https://habr.com/ru/articles/726598/
Как мой менеджер потратил миллион долларов на сервер бэкапов, который я ни разу не использовал



Индустрия видеоигр — странное место: она одновременно может отставать от остальной технологической отрасли на полдесятка лет в одних областях, и на годы опережать её в других.

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

Когда я пришёл в Ubisoft в 2014 году, меня назначили в отдел программирования онлайна на должность руководителя Ops. Это было ужасно, потому что все работали под Windows.

Kubernetes ещё не было на горизонте, да если бы он и был, сам Docker оставался крайне сырым и пока не мог выполнять нативные двоичные файлы Windows.

Вместо него мы использовали собственную реализацию распределённых систем.


Читать: https://habr.com/ru/companies/ruvds/articles/726548/
Проблема построения оптимального плана выполнения запроса при использовании коллекций. Применение Extensible Optimizer

Привет! Я работаю в компании Bercut, мы более 20 лет занимается разработкой и поддержкой ПО для операторов сотовой и фиксированной связи. Прошел путь от инженера в отделе сопровождения до менеджера продукта. В последние годы работаю ведущим специалистом в отделе администрирования (Senior DBA) и решаю проблемы производительности высоконагруженных биллинговых базах данных, обслуживающих от сотен тысяч до десятков миллионов абонентов. Сегодня я хочу рассказать про проблему построения оптимального плана выполнения запроса при использовании коллекций в качестве входных переменных запроса и вариантах ее решения.


Читать: https://habr.com/ru/articles/720326/
Поиск и устранение повреждений данных

Это выдержка из восьмой главы книги Rodney Landrum: «SQL Server Tacklebox», в которой описывается, как DBA может устранить последствия повреждения данных. Будут продемонстрированы инструменты и сценарии, необходимые для своевременного поиска и устранения повреждений данных и предотвращения их попадания в резервные копии.


Читать: https://habr.com/ru/articles/721348/
Большая часть работы с базами данных — бесполезна

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

VPS серверы в Беларуси
В чем смысл вашей работы?

Читать: https://habr.com/ru/companies/adminvps/articles/721372/
1983г. Сериальный терминал Tandberg Data TDV 2215 S, эксперименты, ROM-дампы, схемотехника

Первая часть заметок относилась к восстановлению физической работоспособности терминала. После того, как терминал удалось оживить, в комментариях были заданы вопросы, ответы на которые и составили последующие заметки. По мере изучения терминала, проявились тезисы, которые захотелось расширить и осветить, а именно:
* Проиллюстрировать схемотехнику устройства, основные узлы, CPU, ROM.
* Пассивное отображение алфавитно-цифровой информации, это хорошо, но как поведут себя управляющие ESC-последовательности, Midnight Commander, а также хотелось-бы увидеть псевдографическое изображение.
* Spiritus in Mashina. Считать дампы ROMов и сохранить их.
* Уделить внимание красавице-клавиатуре.

Начнём…

Читать: https://habr.com/ru/companies/timeweb/articles/722222/
Как Discord хранит триллионы сообщений

В 2017 году мы написали пост о том, как храним миллиарды сообщений [перевод на Хабре]. В нём мы рассказали о том, как начали с использования MongoDB, но потом выполнили миграцию данных в Cassandra, потому что искали надёжную, устойчивую к сбоям базу данных, имеющую относительно низкую стоимость обслуживания. Мы знали, что будем расти, так и произошло!

Нам нужна была база данных, способная расти вместе с нами, но чтобы стоимость обслуживания не росла вместе с объёмом хранимых данных. К сожалению, оказалось, что это не так — кластер Cassandra демонстрировал серьёзные проблемы с производительностью, поэтому нам требовалось всё больше усилий, чтобы просто поддерживать его, не говоря уже о совершенствовании.

Спустя почти шесть лет мы многое изменили; изменился и способ хранения сообщений.


Читать: https://habr.com/ru/articles/722124/
Сравнение MySQL и PostgreSQL в 2023 году

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


Читать: https://habr.com/ru/companies/otus/articles/722304/
Потоки событий бесполезны без действий



Каждая точка данных в системе, регулярно генерирующей данные, соответствует событию (Event). Потоки событий (Event Stream) — это непрерывный поток событий или точек данных. Иногда потоки данных называют в сообществе разработчиков потоками данных (Data Stream), потому что они состоят из непрерывных точек данных. Event Stream Processing — это действия, выполняемые с генерируемыми событиями.

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


Читать: https://habr.com/ru/companies/ruvds/articles/722570/
Книга «Kafka Streams и ksqlDB: данные в реальном времени»

Привет, Хаброжители!

Работа с неограниченными и быстрыми потоками данных всегда была сложной задачей. Но Kafka Streams и ksqlDB позволяют легко и просто создавать приложения потоковой обработки. Из книги специалисты по обработке данных узнают, как с помощью этих инструментов создавать масштабируемые приложения потоковой обработки, перемещающие, обогащающие и преобразующие большие объемы данных в режиме реального времени.

Митч Сеймур, инженер службы обработки данных в Mailchimp, объясняет важные понятия потоковой обработки на примере нескольких любопытных бизнес-задач. Он рассказывает о достоинствах Kafka Streams и ksqlDB, чтобы помочь вам выбрать наиболее подходящий инструмент для каждого уникального проекта потоковой обработки. Для разработчиков, не пишущих код на Java, особенно ценным будет материал, посвященный ksqlDB.

Кому адресована книга
Эта книга адресована специалистам по обработке данных, желающим научиться создавать масштабируемые приложения потоковой обработки для перемещения и преобразования больших объемов данных в режиме реального времени. Подобные умения часто необходимы для поддержки интеллектуальной обработки данных, аналитических конвейеров, обнаружения угроз, обработки событий и многого другого. Специалисты по данным и аналитики, занимающиеся анализом потоков данных в реальном режиме времени и желающие усовершенствовать свои навыки, тоже смогут почерпнуть немало полезного из этой книги. В ней автору удалось отойти от привычной пакетной обработки, которая обычно доминировала в этих областях. Предварительный опыт работы с Apache Kafka не требуется, хотя некоторое знакомство с языком программирования Java облегчит знакомство с Kafka Streams.


Читать: https://habr.com/ru/companies/piter/articles/722852/