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

Этим материалом мы открываем цикл статей, посвященных технологии Shared DAS и ее использованию в ОС GNULinux.

В первой статье цикла описывается создание простейшего двух-узлового кластера высокой надежности и создание на его базе отказоустойчивой iSCSI-СХД с ZFS.

Настройка Linux кластера на Shared DAS и ZFS - 1
Читать полностью »

Хорошо в плане поддержки JSON живётся программистам на Javascript — по какому-то невероятному стечению обстоятельств там JSON входит в спецификацию самого языка: есть JSON — есть объект. Удобно. Неплохо дело обстоит и в языках, где JSON не входит в сам язык, но поддерживается стандартной библиотекой (Python, Ruby): импортируешь модуль — и готово.

Жизнь программистов на С++ никогда не была особо простой — поддержки JSON у нас нет ни на уровне языка, ни в стандартной библиотеке. И не будет, возможно, никогда. «Тоже мне проблему нашел!» — скажут мне опытные коллеги — «Её там и не должно быть, С++ поставляется без „батареек“. Для решения этой задачи мы...» и вот здесь они разделятся на два лагеря:

1. «Мы используем большой фреймворк (boost, Qt, POCO, другой), который применяется во всех наших проектах и умеет 150 000 разных вещей, в том числе и JSON.»
2. «Мы придерживаемся подхода в котором для каждой задачи применяется своя легковесная библиотека. В частности, для JSON мы уже 150 000 лет назад выбрали отличную библиотеку %JSON_LIB%, которая прекрасно работает.»

Да, всё так и есть. Вот только…

Чем плох подход с использованием фреймворков

Во-первых, тянуть в проект огромный фреймворк ради одного JSON — как-то уныло. Ну ладно, допустим фреймворк у вас был и так. Но тогда придётся писать работу с JSON в терминах фреймворка, а это, как правило, тихий ужас. Посмотрите, например, на документацию по JSON в Qt — куча собственных типов вроде QJsonArray, QJsonDocument, QJsonObject, QJsonValue и т.д. и их придётся использовать. О том, чтобы потом перенести код в другой проект (где этого фреймворка нет) можно сразу забыть. Ну или вот Boost: парсер JSON находится очень логично в модуле Boost.PropertyTree. Ага, так бы я и догадался. Т.е. нам предлагают плясать не от формата JSON, а от структуры данных «дерево», которая умеет себя читать в том числе и из JSON.

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

Чем плох подход с использованием библиотек

Плох он вот этой частью: "...150 000 лет назад выбрали отличную библиотеку...". Скорее всего речь идёт о чём-то, что начинало писаться чуть-ли не во времена DOSа и, без сомнения, работает, но при этом, пытаясь быть совместимым со всеми платформами и стандартами языка совершенно отстаёт от прогресса. Да, всё компилируется и работает, даже тесты проходит. Но библиотека совершенно не знакома с такими вещами, как ключевое слово auto, range-based циклы, строковые литералы, raw-строки, конструкторы перемещения, списки инициализации и прочие классные вещи, делающие код одновременно более эффективным и более легко читаемым. А ведь у библиотеки, созданной годы назад, есть обязательства по обратной совместимости, а значит просто так взять и добавить это всё она не может.

Давайте немного помечтаем.

А что, если бы JSON вошел в стандартную библиотеку нового стандарта С++? Что, если бы он был написан в терминах С++1114 и без требований обратной совместимости со старыми стандартами языка? Что, если бы синтаксис этого модуля попытались бы сделать максимально приближенным к родному для JSON использованию «а-ля Javascript», но в том же время сохранить дух С++ (эффективность, минимальное потребление памяти, совместимость с STL)? Что, если бы его можно было включить в проект одним инклюдом и не беспокоиться о его сборке и линковке? Как бы это всё выглядело и работало?

И у нас есть ответ на этот вопрос! Давайте посмотрим на JSON-библиотеку для С++ написанную в соответствии со всеми этими принципами, ну и вообще написанной людьми для людей, а не чужими для хищников, как это обычно бывает.
Читать полностью »

Перевод поста Стивена Вольфрама (Stephen Wolfram) "The Wolfram Data Drop Is Live!". Выражаю огромную благодарность Кириллу Гузенко за помощь в переводе.

Куда должны идти данные из интернета вещей? У нас есть отличная технология в Wolfram Language для интерпретации, визуализации, анализа запросов и прочих интересных вещей. Но вопрос в том, как должны все эти данные из подключённых к сети устройств и всех остальных источников попасть туда, где с ними можно делать всё вышеперечисленное? Сегодня мы запускаем то, что, на мой взгляд, является отличным решением данной проблемы: Wolfram Data Drop.

Wolfram Data Drop

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

Так что же такое Wolfram Data Drop? На функциональном уровне это универсальный агрегатор данных, предназначенный для получения и организации данных, получаемых с различных сенсоров, устройств, программ, людей или чего бы ты ни было. При том данные хранятся в облаке таким образом, что могут быть использованы для вычисления и обработки так, как будто они хранятся на самом устройстве (бесшовная интеграция вычислений и данных).
Читать полностью »

Буквально недавно мне довелось тестировать дисковую полку от компании Intel®. «Казалось бы, чего может быть удивительного в обычной дисковой полке,»-подумал я, но после детального рассмотрения полка оказалась не совсем типичной. Собственно, об этом я и расскажу.

Тестирование полки Intel® Storage System JBOD 2000 Family - 1

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

Аннотация

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

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

Каждый раз когда мы встречаем словосочетание дата-центр, либо же аббревиатуру ЦОД (центр обработки данных), наше сознание моментально «подтягивает из кэша» набор стандартных лекал, которые казалось бы вполне однозначно ассоциируются с этим характерным представителем современной ИТ-инфраструктуры. Просторные помещения, серверные стойки – усеяны брызгами разноцветных светодиодов, гул блоков питания конкурирующий с еще более сильным шумом от вытяжки, что удаляет лишнее тепло из залов, переплетенные пучки кабелей всевозможных диаметров и окрасок, инженеры, рассекающие с важным видом по узким коридорам между стенами, выстроенными из высокотехнологичного оборудования. Что уже говорить о громадных счетах за электричество, это все казалось бы так естественно и безальтернативно. Не стану никого разочаровывать, в общем, так оно и есть, в 99% случаев.

Магнитная лента — старый конь борозды не портит - 1Читать полностью »

Аппаратный Shared DAS или зачем нужен LSI Syncro - 1
Решения на основе концепции Shared DAS, в последнее время получают все большую популярность. Объясняется это весьма просто. На них появился спрос со стороны широкого и весьма динамичного сектора рынка, от малого и среднего бизнеса (SMB) до уровня небольших предприятий. Их уже перестали устраивать традиционные решения с малой отказоустойчивостью, но при этом стоимость традиционных сетей хранения данных SAN для них слишком высока. А именно это, высокую отказоустойчивость за счет использования нескольких путей прохождения данных и невысокую стоимость оборудования и обеспечивают решения Shared DAS. Приятным бонусом является достаточно высокая производительность и малые задержки при передаче данных, поскольку в качестве среды коммутации используется SAS. Локомотивом выступила компания Microsoft, предложив Windows Server 2012, в состав которого вошел компонент Storage Spaces, обеспечивающий удобную и комфортную виртуализацию хранения данных на уровне ОС.

Но что делать тем, для кого производительности Storage Spaces недостаточно, но при этом размер проекта не настолько велик, чтобы был смысл говорить о полноценной SAN? Ответ — воспользоваться LSI Syncro.

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

Виртуализация стала в современных ИТ темой номер один. По данным VMware, уровень виртуализации серверов в России вырос в 2014 году до 30%, удвоившись за три года. В результате увеличивается эффективность использования серверов: по разным оценкам, средний коэффициент их загрузки составляет теперь от 50% до 80%, что означает снижение потребности в физических серверах. Не удивительно, что технологию виртуализации всё активнее используют не только крупные компании и организации, но и предприятия малого бизнеса. В первую очередь речь идёт о серверной виртуализации.

Внедрение MSA в виртуализированном окружении предприятия - 1
Читать полностью »

Весьма короткий пример как использовать Protocol Buffers в Go. Речь пойдёт о proto3, т.е. 3-ей версии протокола (на текущим момент альфа), обобщённо пример справедлив и для второй версии. Не будет описания самого Protocol Buffers. Впрочем чего тянуть
Читать полностью »

Введение
В статье показан опыт использования платформы SAP HANA для оптимизации системы создания отчетности крупной строительной компании. Проект реализован специалистами Return on Intelligence (ROI) — бизнес-партнера SAP. ROI – международная компания по оказанию услуг в области высоких технологий. Мы предоставляем консалтинг по технологическим решениям, системную интеграцию и коммерческую разработку программных решений. Наши решения предоставляют максимальный рост, конкурентные преимущества, увеличение прибыли и снижение сложности бизнес-процессов.
За 15 лет нашими клиентами стали более 200 международных компаний, работающих в сфере страхования, финансовых услуг, здравоохранения, телекоммуникаций и государственном секторе.
Компания объединяет более 800 профессионалов, работающих в центрах разработки в Санкт-Петербурге, Нижнем Новгороде, Риге и Днепропетровске. Штаб квартира Return on Intelligence расположена в США.
Return on Intelligence работает в сотрудничестве с SAP, что подтверждено наличием статусов SAP PartnerEdge Partner, VAR-реселлер и Consulting Services Partner. Как член партнерской программы SAP PartnerEdge (моделирование, разработка, продажа, внедрение, обслуживание и поддержка решений SAP) компания Return on Intelligence, Inc. (ROI) участвует в разработке решений, позволяющих клиентам приобретать и удерживать значительное конкурентное преимущество в своей отрасли. Использование лучших практик, отраслевых моделей, методов, инструментов, технологий и фреймворков дает возможность клиентам ROI переосмыслить и улучшить свой способ ведения бизнеса.
Ориентация SAP на технологии, отрасли и регионы полностью согласуется с нашими навыками, приоритетами и сильными сторонами.
• Мы являемся глобальным партнером по внедрению страховых решений SAP Camilion, SAP Claims и FS-CD
• Наша компания является глобальным экспертом в области страхования
• Мы являемся специалистами, поддерживающими консультативную аналитику в страховании (BOBJ и HANA)
• У нас есть высококвалифицированные разработчики программного обеспечения, поставляющие услуги по разработке продукта непосредственно для SAP
Читать полностью »


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