Рубрика «хранение данных» - 102

Как разработчики сидели в Петербурге и тихо ели грибы, а потом написали ОС для систем хранения данных - 1

В конце 2008 года на тогда ещё небольшую петербуржскую компанию вышел один западный медиахолдинг примерно так:
— Это вы там упоролись по хардкору и приспособили SSE-инструкции для реализации кода Рида-Соломона?
— Да, только мы не…
— Да мне пофиг. Хотите заказ?

Проблема была в том, что видеомонтаж требовал адовой производительности, и тогда использовались RAID-5 массивы. Чем больше дисков в RAID-5 — тем выше была вероятность отказа прямо во время монтажа (для 12 дисков — 6%, а для 36 дисков — уже 17-18%). Дроп диска при монтаже недопустим: даже если диск падает в хайэндовой СХД, скорость резко деградирует. Медиахолдигу надоело с криком биться головой о стену каждый раз, и поэтому кто-то посоветовал им сумрачного русского гения.

Много позже, когда наши соотечественники подросли, возникла вторая интересная задача — Silent Data Corruption. Это такой тип ошибок хранения, когда на блине одновременно меняется и бит в основных данных, и контрольный бит. Если речь о видео или фотографии — в целом, никто даже не заметит. А если речь про медицинские данные, то это становится диагностической проблемой. Так появился специальный продукт под этот рынок.

Ниже — история того, что они делали, немного математики и результат — ОС для highload-СХД. Серьёзно, первая русская ОС, доведённая до ума и выпущенная. Хоть и для СХД. Читать полностью »

Экспорт данных из PostgreSQL в Excel - 1

Приветствую всех.
При автоматизации небольших магазинов для хранения данных часто используют PostgreSQL. И часто возникает потребность экспортировать эти данные в Excel. В этой статье я расскажу вам как я решал эту задачу. Естественно, матерые специалисты вряд ли откроют для себя что-то новое. Однако, материал будет интересен тем кто «плавает» в этой теме.
Читать полностью »

Эта статья — развитие идеи создания 10G сети для обработки изображений.

Заказчик — небольшая фотостудия, активно снимающаяся всевозможные eventы — свадьбы, встречи, корпоративные праздники и т.д.
После дня съемки одним-двумя фотографами надо быстро отсортировать до нескольких тысяч фотографий, сделать предварительную выборку лучших, быстро их обработать и представить заказчику первую версию выборки фотоснимков.
Иногда к этому добавляется видео съемка мероприятия.
Позже часто требуется более тонкая обработка фото и видео материалов, верстка фотоальбомов и фотокниг, подготовка коротких фильмов.
Со стороны компьютерной системы нужна высокая емкость (в год студия производит порядка 10 терабайт фото-видео материалов) и высокая скорость доступа к имеющейся фото и видео библиотеке с 3-4 компьютеров. В основном это компьютеры производства Apple.
Через год примерно 90-95% фото-видео контента стирается, оставшиеся 5-10% сохраняются на несколько лет.

Учитывая пожелания по суммарному объему хранимых данных, было предложено использовать сетевое хранилище NAS с емкостью не менее 6 дисков. В результате было выбрано 8 дисковое хранилище, но на начальном этапе в него было установлено 6 дисков по 3ТБ.
Потребность в быстром доступе к сетевым ресурсам с компьютеров Apple реализовали двумя способами:
проводной доступ через конвертер Thunderbolt — 10G Ethernet.
беспроводной доступ для ноутбуков был реализован на стандарте WiFi AC.

Сетевым хранилищем была выбрана модель QNAP TS-870Pro. С оборудованием этой компании я работаю уже немало лет, и опыт пока имею только положительный.

TS-870Pro

Читать полностью »

В статье хотелось охватить наиболее часто применяемые способы хранения данных в операционной системе Android

  1. SharedPreferences — Хранение парой ключ-значение
  2. File system file
    • CacheDir — Хранение в cache directory на файловой системе
    • ExternalStorage — Хранение файлов на внешнем хранилище
  3. SQLiteDatabase — База данных

Shared Preference
Хранение в виде ключ-значение. Подходит для хранения глобальных данных. Также можно хранить небольшие структуры, предварительно конвертированные в JSON и преобразованные в String. Для более сложных и больших по объему данных предпочтительней использовать SQLiteDatabase
Читать полностью »

В этой статье я хотел бы рассмотреть более узкую тему оптимизации RedHat/Oracle Linux (с виртуализацией и без) с использованием СХД NetApp FAS в среде SAN.

Для поиска и устранения узких мест в такой инфраструктуре, нужно опредилиться с компонентами инфраструктуры, среди которых их стоит искать. Разделим инфраструктуру на следующие компоненты:

  • Настройки хоста c SAN (FC/FCoE)
  • Настройки Ethernet сети на хосте для IP SAN ( iSCSI ).
  • Собственно сам хост с ОС
  • Приложениями на Хосте
  • Проверка совместимости драйверов и версий ПО

RedHat-Oracle Linux с NetApp FAS (SAN) - 1
Читать полностью »

imageКазалось бы, что про диски Advanced Format за последние 4 года успели узнать все. Публикаций действительно много, но настало время рассмотреть все технические подробности и подводные камни в одной большой статье. Речь пойдёт об использовании AF-дисков в серверах, и я заметил, что для большинства администраторов даже в крупных компаниях знание предмета в большинстве случаев сводится к «это как-то связано с современными дисками, но у меня всё работает».
Читать полностью »

Многие разработчики программ для микроконтроллеров сталкивались с проблемой хранения конфигурационных данных. Это могут быть калибровочные коэффициенты измерительного алгоритма или просто последний выбранный пользователем пункт меню. Для микроконтроллера, имеющего возможность записывать в собственную flash-память, решение кажется простым — стираем сегмент и пишем туда все, что нужно. Однако, если необходимо еще и обеспечить отказоустойчивость по отношению к выключению питания в произвольный момент, задача становится нетривиальной, — по сути необходимо реализовать маленькую базу данных с механизмом обеспечения атомарности операций записи и восстановлением после сбоев. Решение этой задачи для микроконтроллеров семейства MSP430 — под катом. По количеству используемых ресурсов оно подходит даже для самых младших членов этого семейства — с размером RAM от 256 байт и falsh-памяти от 8Kb. В качестве бонуса — интерфейс командной строки (через UART) для чтения и записи конфигурации.
Читать полностью »

Организация одновременного доступа к данным в облачном хранилище Microsoft Azure Storage - 1

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

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

Наиболее часто разработчики используют следующие три стратегии по управлению одновременным доступом к данным:
Читать полностью »

В поисках идеального файлового хранилища - 1
Ранее мы рассматривали прототип масштабируемой read-only файловой системы. Удалось показать, что, используя предложенную архитектуру, можно построить файловую систему любой емкости, с гарантированным временем доступа, соизмеримым с таковым для доступа к файлу в пределах одного физического диска.
Далее постараемся разобраться, может ли подобный подход принести пользу при построении файловой системы общего назначения.
Читать полностью »

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

Предпосылкой к изучению данного вопроса стало наличие в сети компьютера, с вышедшем из строя дисковым накопителем. Необходимо было запустить на данном ПК «полноценную» 64-битную операционную систему Windows 7 без использования дополнительного Linux-сервера, ограничившись только имеющимися в локальной сети Windows системами. Приводимые в данном посте программные продукты могут работать как на серверных, так и на пользовательских версиях Windows.

Разговор пойдет о замечательной технологии iSCSI, и как мы её можем использовать для загрузки по локальной сети, чтобы сэкономить на стоимости покупки нового дискового оборудования. Постараюсь описать весь процесс конфигурирования наиболее доступным языком как для начинающих администраторов, так и для непросвещенных пользователей.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js