Сегодня я хотел бы поделиться с вами опытом, который мы приобрели в компании «Магнит» при загрузке данных из внешних источников в корпоративное хранилище данных. Расскажу о проблемах, с которыми мы столкнулись и решениях, которые нам помогли облегчить процесс загрузки, повысить эффективность и ускорить получение доступа к данным.
Хранилища данных *
Публикации, рассказывающие о хранилищах данных
Проблемы студентов курсов при работе с реальными данными
Практически от любого специалиста IT-сферы сегодня требуется хотя бы базовое знание SQL. Рынок онлайн-образования реагирует соответствующе: на любом сайте по теме можно найти что-то связанное с SQL и/или базами данных. В теории такие курсы действительно позволяют узнать основы языка, а иногда даже и немного больше, но на практике они не готовят специалиста ко взаимодействию с реальной базой данных. Многие стажеры и младшие (а иногда и грейдом повыше) специалисты допускают одни и те же ошибки.
В этот статье я бы хотела отметить важные моменты из работы с базами данных с помощью SQL, которые не изучают на курсах, но которые могут быть актуальны с самого начала карьеры для эффективной работы. Примеры в статье будут приведены для базы PostgreSQL.
Методы и инструменты управления знаниями в организации
Мы живем в эпоху информационного общества, где знания являются важным источником преимущества среди конкурентов, а правильное применение инструментов и методов управления знаниями становится важной составляющей успеха организации.
В поисках конкурентных преимуществ и возможностей приспособиться к быстро меняющимся рыночным условиям, организации стремятся не только сохранять, но и усовершенствовать свои знания. Для достижения этой цели применяются разнообразные методы и инструменты управления знаниями.
Управление знаниями — это процесс сбора, систематизации и структурирования, а также хранения, применения и распространения знаний внутри организации.
На рынке жёстких дисков появились HDD с очень большой ёмкостью. Но рынку это вряд ли поможет
Компания Seagate объявила о старте поставок жёстких дисков с ёмкостью от 30 ТБ. На данный момент это только начало, основной объём поставок запланирован на конец этого года. Диски разработаны по технологии HAMR, которая и позволяет достичь очень большой ёмкости. Но, скорее всего, это будет нишевый продукт для корпоративного использования, а рынку HDD эта новинка вряд ли поможет.
Истории
Как потерять друзей и заставить всех тебя ненавидеть: еще несколько историй о важности бэкапов
Ежегодно происходят десятки крупных утечек или технических сбоев, приводящих к потере данных. От них страдают производственные предприятия, государственные организации, мессенджеры, рестораны и разработчики программного обеспечения. В начале мая с этой проблемой столкнулась команда ChatGPT, когда из-за бага в open source библиотеке чат-бот стал раскрывать персональные данные пользователей.
Очевидно, что инциденты, связанные с потерей данных, наносят репутационный ущерб. Долгоиграющий сбой или крупная утечка отталкивает потенциальных партнеров и новых клиентов от сотрудничества. Оценить эти потери довольно сложно, зато можно подсчитать, сколько денег уходит на восстановление и отладку инфраструктуры.
Сегодня обсудим разные инциденты, связанные с потерей данных: от масштабных и разрушительных до нелепых.
Получаем данные из «Яндекс.Метрики» в электронные таблицы и BI: пошаговая инструкция
Стандартный интерфейс «Яндекс.Метрики» позволяет анализировать данные о посетителях сайта и их поведении достаточно подробно. Тем не менее, для решения задач глубокой аналитики (про это я рассказывал здесь) стандартного функционала может оказаться недостаточно.
К тому же многим аналитикам привычнее и зачастую нужнее проводить аналитику в электронных таблицах (Excel, Google Sheet) или BI. Да, можно выгружать отчеты из «Метрики» сначала в Excel-файлы. Но на таком полуручном режиме оперативной и эффективной аналитики особо не построишь.
Меня зовут Андрей Устьянцев, я ведущий аналитик направления Big Data в Лиге Цифровой Экономики. В этой статье я пошагово распишу, как получать данные из «Яндекс.Метрики» в электронные таблицы (Excel, Google Sheet) и BI в автоматическом режиме.
Тестирование собственного NAS. Часть 2. База
В предыдущей статье мы формулировали цели и составляли список тестов для автоматизации. Далее в работе QA обычно следует разработка базовых тестов и обвязки для них, чем мы в этой статье и займёмся. Полный код проекта лежит на гитхаб и приводить его в статье мы не будем.
Дисклеймер! Это не новость, не туториал и не энциклопедическая заметка, не аккуратная статья со схемами, графиками и выверенной структурой. Дело в том, что проект NAS мы делаем по фану и в свободное от основной работы время. Как следствие, ресурсов на разработку не много, а энтузиазм и внутренняя дисциплина не всесильны. Ответственность перед аудиторией Хабра подталкивает что-то делать, перепроверять свои идеи, избегать халтуры, проводить ревью результатов работы, да и просто глубже вникать в суть.
По этим причинам мы попробуем вести на Хабре дневник разработки. Может кто-то почерпнёт тут идеи для своих проектов, а мы в свою очередь сумеем раньше прислушаться к мнению аудитории и улучшим свои решения.
Топ-5 ошибок проектировщиков ЦОД
После выхода статьи «Топ-5 ошибок потребителей услуг ЦОД» к нам стали поступать просьбы продолжить цикл и рассказать про типовые ошибки проектировщиков и служб эксплуатации ЦОД. Почему бы и нет? Но сразу стоит заметить, что клиентов у ЦОД Linxdatacenter много, поэтому выявить самые распространенные тенденции было несложно, а вот выборка по ошибкам проектировщиков и служб эксплуатации у нас намного меньше хотя бы потому, что взаимодействуем мы с ними намного реже. Однако несколько типичных моментов выделить можно. В этой статье расскажем про ошибки проектировщиков ЦОД, с которыми нам довелось столкнуться.
Как на самом деле Linux выполняет запись на диск?
Друзья мои, программисты и операторы, я бы хотел поговорить о том, как в Linux работает запись файлов.
Раньше я думал, что она устроена определённым образом, и как Джон Леннон, «I’m not the only one». Оказалось, операции записи работают совершенно иначе. То, как они работают, интересно и важно знать.
Позвольте начать с того, как я раньше думал о записи файлов.
Обновление Дельта BI. ChatGPT, PixelPerfect, коннекторы и визуализации
Совсем недавно вышло обновление платформы для бизнес-аналитики Дельта BI с решениями, знаковыми для всей отрасли. Учитывая нашу реальность и недоступность глобальных продуктов, обновление ощутимо увеличивает отрыв Дельта BI от ближайших конкурентов на российском рынке. Показываем и рассказываем, почему.
Алгоритм быстрого поиска при помощи хэширования
В этой статье я хочу представить мой алгоритм оптимизации суммирования ряда чисел в массиве (на примере контейнера map).
Итак, дано задание
Есть некая электронная книга, которую одновременно читает неограниченное количество читателей. Нужно сделать так, чтобы любой читатель в любой момент мог проверить, сколько еще читателей читают ту же страницу, что и он. Предложена наивное решение хранить в map<int,int> в качестве ключа номера страниц, в качестве значения- количество прочитавших их пользователей. Конечно, при таком подходе программа медленно работает с большими тестами потому, что количество итераций по контейнеру map равняется числу прочитанных пользователем страниц. То есть, если пользователь прочел 1000 страниц из 1000 возможных, то в цикле нужно будет сделать 1000 итераций, и это сильно замедляет программу.
Чтобы уменьшить время работы программы, нужно упростить алгоритм подсчета пользователей. В этом алгоритме я отдельно считаю, сколько пользователей прочли столько же полных сотен страниц, как и искомый читатель, и затем уже постранично суммирую всех, кто прочел столько же страниц из той сотни, на которой сейчас находится читатель. Такой алгоритм позволяет вместо 999 итераций (если пользователь читает 999-ю страницу) сделать всего 108 (9 итераций сотням и 99 по единичным страницам).
Это вкратце, теперь перейдем к подробному описанию и для начала приведу код.
Как мы снизили нагрузку на SAP HANA незаметно для пользователей
Объем информации в корпоративном хранилище данных (КХД) со временем неизбежно начинает превышать запланированные изначально мощности. Обычно эта проблема решается тем, что докупаются недостающие мощности (будет дорого). Когда с такой ситуацией столкнулся наш клиент, мы предложили ему другое решение. Оно позволило сэкономить бюджеты и сделать переходный период максимально безболезненным.
Читайте, что именно мы сделали и какой был результат.
ДНК-хранилище данных: живая цифровая камера
Что современный человек производит в большом количестве? Защитники экологии ответят — отходов, исследователи демографии скажут — самих себя, а знатоки цифрового мира — данных. По приблизительной оценке к 2025 году объемы цифровых данных во всем мире превысят отметку в 175 зетабайт. Вполне ожидаемый вопрос заключается в том, где хранить все эти данные? Кто-то предлагает использовать воду, кто-то продолжает работать над совершенствованием имеющихся носителей, но самым интригующим вариантом являются биологические системы, а именно ДНК. Разработки в области хранения данных на ДНК сопряжены с рядом проблем, корень которых лежит в дороговизне и сложности производства нитей ДНК вне клетки. Ученые из Национального университета Сингапура предлагают решение проблем в виде нового ДНК-хранилища, названного BacCam, где задействованы живые клетки. Из чего сделано BacCam, как оно работает, и что делает его лучше других ДНК-хранилищ? Ответы на эти вопросы мы найдем в докладе ученых.
Ближайшие события
Архитектура аналитической платформы Modus: ETL
Начинаем цикл статей об архитектуре аналитических платформ. Поговорим об общем устройстве и подробнее остановимся на анатомии ETL на примере Modus. Вы узнаете, из каких компонентов состоит аналитическая система, откуда она получает и как работает с данными, и что мы в Modus делаем такого, чтобы оптимизировать эти процессы.
Типичная задача на собеседовании: URL Shortener
Один из моих знакомых недавно сходил на собеседование, на котором его попросили спроектировать укорачиватель ссылок. Он растерялся и задачу — как хотел интервьюер — не осилил, а потом нашел в интернете популярное решение и попросил меня прокомментировать. Полная формулировка поставленной проблемы: «Как бы вы разработали службу сокращения URL-адресов, подобную TinyURL?»
К моему сожалению, я — человек любознательный, поэтому я не закрыл окно чата, а пошел почитать, как принято в высшем свете такую задачу нынче решать. То, что я увидел, заставило меня набросать свою собственную архитектурку, потому что даже в страшном сне согласиться с предложенным по ссылке дизайном — не вариант. В тексте ниже я заочно дискутирую с автором решения по ссылке выше.
Как настроить подключение к ClickHouse в FineBI V6.0?
В последнее время в работе часто сталкиваюсь с вопросом про подключение FineBI V6.0 к ClickHouse - столбцовой системе управления базами данных (СУБД) для онлайн обработки аналитических запросов (OLAP). Ловите пошаговую инструкцию.
Как мы упростили жизнь высоконагруженным сервисам с Platform V SessionsData. Часть 3
Привет, Хабр! С вами Андрей Чернов — Java-архитектор микросервисов в СберТехе.
Это третья часть материала про то, как мы развиваем Platform V SessionsData — высокопроизводительное распределённое in-memory хранилище для общего контекста сессионных запросов key-value. В первой части я рассказал, почему мы решили создать собственный микросервис, а во второй — как нам удаётся достигать высокой доступности сервиса. Сегодня поговорим о том, какие наработки помогут нам и дальше развивать Platform V SessionsData.
Тестирование собственного NAS. Какие тесты нужны?
К сожалению любая разработка, даже если она ведётся просто по фану, рано или поздно сталкивается с необходимостью формализовать процессы и подходы. С этой проблемой столкнулись и мы. Сравнение производительности уже трёх прототипов вылилось в трату времени, громадные полотна обсуждений, споров, попыток унифицировать тесты и конфигурации стендов. А где унификация тестов, там и их автоматизация. В данной серии статей мы этим и займёмся!
Архитектура кеша DragonflyDB
DragonflyDB - молодая in-memory база данных, написанная на C++ и совместимая с Redis (не форк). Под капотом используется многопоточная архитектура (в отличии от однопоточного Redis) для лучшей утилизации современных процессоров и более простого вертикального масштабирования.
Особое внимание в DragonflyDB привлекает устройство кеша и его очистки, которая должна превосходить известные LRU и LFU политики.
Переизобретаем сжатие в распределенной базе данных
В используемой нами базе данных уже была эффективная функциональность сжатия, которая обеспечивала хранение объемной информации.
Но рост объема хранимых данных — не единственный возможный выигрыш от применения сжатия, поэтому мы задумались о разработке собственного решения.
В этой статье расскажу, как мы изменили подход к сжатию данных, чем пришлось пожертвовать и почему менее эффективное «на бумаге» решение в результате превзошло наши ожидания.
Вклад авторов
-
ru_vds 721.9 -
1cloud 677.0 -
it_man 496.0 -
Viacheslav_V 248.0 -
WesternDigital 234.0 -
host_m 197.2 -
JetHabr 187.0 -
Qusi 186.0 -
olegbunin 186.0 -
KorP 170.0