Как стать автором
Обновить
169.55

Хранение данных *

Что имеем, то храним

Сначала показывать
Порог рейтинга
Уровень сложности

От перфокарт в облако. Где вы хранили файлы десятилетие назад?

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.9K


В годы моей бурной юности в ходу были пятидюймовые дискеты. Их и вправду можно было назвать “floppy”, то есть, гибкими — футляр из плотного коленкора довольно легко сгибался, пробивался степлером и даже с некоторым усилием сворачивался в трубку. Перфокарты я тоже застал — родители иногда приносили их домой из вычислительного центра, в котором работали, и маленький я рисовал на этих забавных карточках с напечатанными типографским способом рядами цифр (и совой, сова с надписью «КАНГАС» почему-то накрепко засела в памяти) короткими фломастерами от плоттеров-графопостроителей, которые в ассортименте добывались там же, в ВЦ. Сейчас, используя многогигабайтовое облако, смешно вспоминать эту бумажную карточку емкостью 80 байт. Зато можно сказать, что эволюцию носителей информации от перфокарт к облаку я увидел собственными глазами.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии11

Как устроена страничная организация памяти x86_64

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров8.4K

В этом посте я буду говорить о страничной организации только в контексте PML4 (Page Map Level 4), потому что на данный момент это доминирующая схема страничной организации x86_64 и, вероятно, останется таковой какое-то время.

Окружение

Это необязательно, но я рекомендую подготовить систему для отладки ядра Linux с QEMU + gdb. Если вы никогда этого не делали, то попробуйте такой репозиторий: easylkb (сам я им никогда не пользовался, но слышал о нём много хорошего), а если не хотите настраивать окружение самостоятельно, то подойдёт режим практики в любом из заданий по Kernel Security на pwn.college (вам нужно знать команды vm connect и vm debug).

Я рекомендую вам так поступить, потому что считаю, что самостоятельное выполнение команд вместе со мной и возможность просмотра страниц (page walk) на основании увиденного в gdb — хорошая проверка понимания.

Читать далее
Всего голосов 53: ↑53 и ↓0+53
Комментарии0

Как мы не выбрали Airbyte, или почему собирать данные лучше по старинке

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.7K

Привет, Хабр! Меня зовут Илья, я работаю инженером данных в компании Selectel. В отделе BI мы собираем информацию из внутренних и внешних источников и предоставляем аналитикам.

У нас достаточно большой набор внешних ресурсов, данные из которых нужно собирать и обрабатывать. Среди них — различные SMM-площадки вроде VK и Telegram, платформы лидогенерации, инструменты таргетированной рассылки писем, системы автоматизации и многое-многое другое.

Так как компания развивается, мы спрогнозировали, что число источников тоже будет только расти. И назрела мысль, что нам нужно подобрать специализированное ПО, которое будет отвечать за доставку данных из внешних ресурсов в DWH. Время прошло, идея воплощена: мы используем Airflow и самописные коннекторы на Python. Но могло сложиться все иначе — и мы бы использовали Airbyte, если бы не одно но…
Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии5

Разбираемся с работой брокеров, или Что такое гарантия доставки сообщений и как с этим жить…

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.2K

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

Читать далее
Всего голосов 15: ↑14 и ↓1+13
Комментарии10

Истории

Как мы внедряли каталог данных DataHub и искали компромисс между BI, DWH и ИБ

Время на прочтение9 мин
Количество просмотров4.1K

Счастлив тот аналитик, у которого в компании есть дата-каталог — единая точка входа для поиска информации о данных невероятно экономит время, data lineage выстроен, а уровень заполненности документации на высоком уровне.

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

Меня зовут Костя Тюрин, я руковожу командой BI в СберМаркете. Год назад мы решили внедрить дата-каталог, и сейчас его MAU превышает количество аналитиков в два раза: им пользуется наша команда, а ещё дата-инженеры, менеджеры и команда ИБ. В статье делюсь нашим опытом внедрения DataHub’a и планами на дальнейшее развитие инструмента.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии6

Что находится внутри физического Архива Интернета

Время на прочтение4 мин
Количество просмотров14K

Когда я был в Сан-Франциско на AI Engineer Summit, то воспользовался возможностью посетить Архив Интернета — физический архив в калифорнийском городе Ричмонде примерно в двадцати минутах езды от Сан-Франциско.

Я купил билет на «экскурсию по закулисью физического архива» 11 октября и прибыл прямо перед началом; я был рад, что не приехал раньше, потому что физический архив находится (вполне логично) на складе в промышленной части Ричмонда. Похоже, больше ничего интересного в окрестностях нет.

Я попросил водителя Uber подбросить меня до парковки со знаком Internet Archive. Но оглядевшись, я не смог найти публичного входа на склад. Рядом стояло ещё несколько озадаченных фанатов истории Интернета, мы неуклюже поздоровались и начали обсуждать, там ли находимся. Вскоре нас заметила пара людей в конце улицы и помахала нам.
Читать дальше →
Всего голосов 77: ↑77 и ↓0+77
Комментарии14

Между буквой и духом законов: как международной компании защитить ПДн клиентов и избежать санкций

Время на прочтение13 мин
Количество просмотров1.6K

Большинство международных компаний ходит по тонкому льду — когда твои сотрудники и пользователи разбросаны по всему миру, хранение и обработка их персональных данных становится сложной юридической проблемой. Если пытаться досконально вникнуть в законы сразу всех стран, можно превратиться в юридическую контору. С другой стороны, повсюду есть надзорные органы, которые грозят санкциями за любые нарушения.

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

Мы побеседовали с экспертами из соцсети ReLife, пользователи которой проживают в более 70 странах мира. Они рассказали, на что в первую очередь обращают внимание, на какие законы ориентируются, с какими рисками и «подводными камнями» сталкиваются и как их обходят. Вместе мы сравнили американское, европейское и российское законодательство по охране ПДн и делимся практическими рекомендациями по его соблюдению.

Читать далее
Всего голосов 15: ↑13 и ↓2+11
Комментарии2

Почему текст в нижнем регистре сжимается лучше

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров11K

Буквы в нижнем и верхнем регистре содержат одинаковое количество данных — по 1 байту каждая.

Поэтому удивительно, что замена заглавных букв на строчные снижает объём данных.

Пример: я взял главную страницу Hacker News и переписал заголовок каждой статьи, капитализировав только первые буквы в предложениях (sentence case) вместо первых букв во всех словах (title case). Это позволило мне снизить размер на 31 байт.

Sentence case: The cat sat on the mat

Title case: The Cat Sat on the Mat

Как может замена нескольких заглавных букв на строчные снижать объём? Всё дело в сжатии.

Это непривычно, но если понять, как работает сжатие текста, то начинает казаться логичным.

Читать далее
Всего голосов 41: ↑32 и ↓9+23
Комментарии28

Seagate выпустит HDD с лазерным подогревом емкостью от 30 ТБ уже в этом квартале. Что это за диски?

Время на прочтение4 мин
Количество просмотров28K

Корпорация Seagate уже достаточно давно анонсировала свои жесткие диски нового типа с очень высокой плотностью хранения информации. Речь идет о HDD с необычной технологией прогрева «блинов» дисков при помощи лазера. Это нужно для повышения плотности записи данных, в результате чего производителю и удалось достичь весьма высокой емкости диска — от 30 терабайт. Подробности — под катом.
Читать дальше →
Всего голосов 66: ↑65 и ↓1+64
Комментарии125

Оптимален ли блокчейн для хранения идентификационных данных?

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров2.2K

Приветствую, Хабр! Моя предыдущая статья была посвящена формализованным критериям выбора базовой технологии хранения и обработки данных, совокупность которых позволяла ответить на вопрос, использовать ли в конкретной системе блокчейн-технологии или ограничиться хорошо изученными СУБД. При этом ответ на данный вопрос при использовании формализованных методов выбора мог быть получен именно на основе технических факторов, не принимая во внимание различные «политические» аспекты выбора, такие как, например, повышенный информационный шум, продолжающийся вокруг блокчейна.

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

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

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии11

Улучшаем динамические таблицы YTsaurus с помощью алгоритмов

Время на прочтение17 мин
Количество просмотров4.2K

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

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

В этой статье разберёмся, как работает xor-фильтр, в чём особенность чанкового хеш-индекса и как overload controller повышает стабильность работы. Все примеры разберём на примере YTsaurus, но они будут полезны любому разработчику СУБД.

Читать далее
Всего голосов 36: ↑35 и ↓1+34
Комментарии6

Как содержать пароли. Мой сетап

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров51K

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

Меня интересовало, как я могу залогиниться туда, где многофакторная авторизация через телефон, в случае потери телефона. 

Или, как обезопасить себя от забывания мастер пароля от менеджера паролей? На моей практике я несколько раз забывал пин-код от банковской карты, состоящий из 4-ёх цифр, после ежедневного использования на протяжении многих месяцев. Мозг - странная штука. 

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

Читать далее
Всего голосов 69: ↑69 и ↓0+69
Комментарии184

Сжимаем текст в изображения PNG

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров5.7K

(Наверно, это глупая идея. Но иногда даже самые глупые идеи приводят к неожиданным результатам.)

Текст шекспировской трагедии «Ромео и Джульетта» состоит примерно из 146 тысяч символов. Благодаря английскому алфавиту каждый символ можно описать одним байтом. Так что размер текстового файла в обычном Unicode составляет примерно 142 КБ.

В статье Adventures With Compression её автор JamesG размышляет о соревнованиях по сжатию текста и предлагает интересную мысль...

Читать далее
Всего голосов 19: ↑17 и ↓2+15
Комментарии38

Ближайшие события

Фамильный вики-движок Bonsai: 6 лет спустя

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров2.8K
Прошло шесть с лишним лет с момента, когда я начал работать над проектом Bonsai. Если в двух словах, то это вики-движок, заточенный под хранение семейной истории и построение генеалогических деревьев. Он распространяется в полностью открытом и бесплатном виде, подразумевая установку на ваш собственный сервер в качестве docker-контейнера.



Более подробно о его устройстве и истории создания можно почитать в моих предыдущих статьях 3+ годичной давности: раз, два. Изначально я планировал выпускать мажорную версию и писать про нее статью раз в год, но родительство и переезд вносят в планы изрядную долю хаоса. Тем не менее, проект все еще активен и развивается. Сегодня я расскажу о том, что было реализовано и улучшено за последнее время.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии21

Геоданные без регистрации и СМС

Время на прочтение12 мин
Количество просмотров4.5K

Здравствуй, дорогой читатель.

Спешу поделиться тем, как на самом деле найти геоданные без регистрации и СМС. По чесноку. Без всяких-яких. И даже “подписывайтесь на телеграмм канал” - не будет, у меня его и нет…

И речь пойдёт про инструмент Osmosis.

Никому не сообщайте код из СМС
Всего голосов 14: ↑13 и ↓1+12
Комментарии23

Обратная нормализация (денормализация)

Время на прочтение7 мин
Количество просмотров5.6K

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

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

Но, как и все в этом мире, нормализация не идеальна. Иногда она может привести к чрезмерной комплексности и снижению производительности запросов. И здесь бывает полеза обратная нормализация. Если нормализация - это упорядочивание, то обратная нормализация - это некоторое "ослабление" правил для достижения определенных целей. В БД это означает объединение таблиц, добавление избыточных данных и так далее, чтобы ускорить чтение данных и упростить запросы, даже если это идет в ущерб некоторой "чистоте" схемы.

Читать далее
Всего голосов 27: ↑26 и ↓1+25
Комментарии4

Почему B-деревья быстрые?

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров46K

B-дерево — это структура, помогающая выполнять поиск в больших объёмах данных. Она была изобретена более сорока лет назад, однако по-прежнему используется в большинстве современных баз данных. Хотя существуют и более новые структуры индексов, например, LSM-деревья, B-дерево пока никто не победил в обработке большинства запросов баз данных.

После прочтения этого поста вы будете знать, как B-дерево упорядочивает данные и выполняет поисковые запросы.

Читать далее
Всего голосов 185: ↑184 и ↓1+183
Комментарии13

БД — это скальпель или мультитул? Куда привела эволюция СУБД в 2023 году

Время на прочтение10 мин
Количество просмотров12K

За последние пару десятилетий с ростом объёма данных на рынке СУБД сложился интересный ландшафт. Появились новые СУБД, при этом старые продолжали развиваться — и сориентироваться среди них становилось всё сложнее. 

В этой статье предлагаем рассмотреть эволюцию разных СУБД и сравнить их между собой. Поможет нам в этом Олег Бондарь, директор по продукту в Yandex Cloud, который отвечает за развитие YDB — это транзакционная реляционная база данных с открытым исходным кодом. Статья написана по материалам его доклада на Saint Highload++.

Читать далее
Всего голосов 28: ↑24 и ↓4+20
Комментарии21

Разгоняем Ignite в облачной инфраструктуре. Часть 2

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров973

Привет! С вами Дмитрий Пшевский и Семён Попов, технические лидеры юнита Data в Сбере. Это вторая часть нашего материала о производительности сервисов при работе с Ignite.

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

Поехали!

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии0

Big Data в облаке: строим доступное хранилище

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.8K

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

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

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

Читать далее
Всего голосов 17: ↑14 и ↓3+11
Комментарии0