Pull to refresh
3
0
Андрей Ходус @Khodus

Администратор баз данных и систем мониторинга.

Send message

Миграция с СУБД Oracle на PostgreSQL: опыт крупного ритейлера

Reading time 10 min
Views 8K

Summary: Сотрудники Лиги Цифровой Экономики Юлия Крашеница, DBA PostgreSQL, Андрей Ходус, ведущий эксперт, и Елена Жикривецкая, старший эксперт PostgreSQL, рассказали об особенностях миграции с системы управления базами данных Oracle на PostgreSQL и возникших сложностях, а еще поделились своим опытом их решения.

Читать далее
Total votes 17: ↑16 and ↓1 +15
Comments 6

Мониторинг выполнения задач в IPython Notebook

Reading time 2 min
Views 36K
Хотел бы поделиться простым, но полезным инструментом. Когда много работаешь с данными, часто возникают примитивные, но долгие операции, например: «скачать 10 000 урлов», «прочитать файл на 2Гб, и что-то сделать с каждой строчкой», «распарсить 10 000 html-файлов и достать заголовки». Долго смотреть в зависший терминал тревожно, поэтому долгое время я использовал следующий гениальный код:
def log_progress(sequence, every=10):
    for index, item in enumerate(sequence):
        if index % every == 0:
            print >>sys.stderr, index,
        yield item


Эта функция прекрасна, больше года она кочевала у меня из задачи в задачу. Но недавно я заметил в стандартной поставке Jupyter виджет IntProgress и понял, что пора что-то менять:

Читать дальше →
Total votes 42: ↑39 and ↓3 +36
Comments 11

Профилирование нагрузки на файловую систему с помощью iostat и gnuplot — заметки дилетанта

Reading time 9 min
Views 90K
Зачастую работа «в поле» требует сбора и анализа информации на сайте заказчика в условиях наличия крайне скудного списка утилит. В частности собрать информацию об использовании системы ввода-вывода в течении дня.

В статье я попробую показать, как располагая только iostat и gnuplot можно попробовать провести анализ системы и какие выводы можно сделать.

Я не претендую на доскональное владение предметом и точное использование терминов. Более того, я постараюсь говорить «обычным» языком и не бросаться терминами.

Все описанное ниже есть плод опыта, ошибок, гугления, курения манов и прочая
Читать дальше →
Total votes 47: ↑43 and ↓4 +39
Comments 10

Релиз mongodb 3.2 немного подробностей

Reading time 19 min
Views 26K

На днях вышел новый стабильный релиз mongodb. В этой версии был добавлен ряд нововведений таких как новый GUI для визуальной работы с mongodb, LEFT JOIN, валидация документа и т.д. некоторые из этих свойств мы и рассмотрим на небольших примерах ниже.

Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 25

Multi IP-SIM на службе малого бизнеса. Специальная SIM-карта для сайтов бесплатных объявлений

Reading time 7 min
Views 12K
В нашем блоге на Хабре мы описываем любопытные схемы модернизации корпоративной телефонии, которые можно выстроить с помощью FMC-технологий, облачной АТС и интеграций с CRM-системами. Судя по тому, что почти половина наших клиентов интересуется именно интеграционными решениями, а белоснежные облака в первозданном виде только телефонного SaaS уже мало кому интересны, мы точно угадали тренд на рынке VoIP и двигаемся в верном направлении. Обычно интеграции телефонии, облачной АТС и мобильной связи — удел, как минимум, малого и среднего бизнеса и мы тоже так считали до недавнего времени, пока не выяснилось, что IP SIM-карты, виртуальная АТС и чудеса VoIP могут поработать и на микро бизнес. На бизнес, где предприниматель “one men show” и “швец и жнец и на дуде игрец”, где продажи строятся на продвижении товара через бесплатные объявления, входящие звонки от клиентов по всей РФ. Другими словами, сегодня расскажем о том, что мы придумали в помощь предпринимателям, зарабатывающим на продажах через доски объявлений.


Читать дальше →
Total votes 16: ↑12 and ↓4 +8
Comments 6

Школа Данных «Билайн», приоткрываем занавес

Reading time 6 min
Views 12K


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

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

Итак, мы завершили наш первый курс. Сейчас идет второй и 25 января стартует третий. В предыдущих публикациях, мы уже начали рассказывать, чему мы учим на наших занятиях. Здесь мы более подробно поговорим о таких темах, как автоматическая обработка текстов, рекомендательные системы, анализ Больших Данных и успешное участие в соревнованиях Kaggle.
Читать дальше →
Total votes 13: ↑10 and ↓3 +7
Comments 9

Важнейшее из искусств: как мы реализовали проигрывание видео в Облаке Mail.Ru

Reading time 9 min
Views 18K


Некоторое время назад в Облаке Mail.Ru появилась возможность проигрывания видеофайлов. Уже в самом начале работы над этим функционалом мы решили, что будем разрабатывать этакий швейцарский нож: требовалась возможность проигрывать любые видеоформаты и функционирование на всех устройствах, где доступно Облако. Загруженные в Облако видеофайлы можно условно разделить на две категории: «фильмы/сериалы» и «видеоролики пользователей», которые люди снимают на телефоны и видеокамеры — для этого случая особенно характерно разнообразие форматов и кодеков. Без предварительной обработки просмотреть все это на любом устройстве невозможно, например, из-за отсутствия нужного кодека или же размер файла окажется слишком большим.

В этой статье я расскажу о том, как устроено проигрывание видеофайлов в Облаке Mail.Ru и каким путем мы шли, чтобы сделать воспроизведение в Облаке «всеядным» на вход и поддержать максимальное число устройств на выходе.
Читать дальше →
Total votes 45: ↑40 and ↓5 +35
Comments 39

Как я 8 месяцев переписывал свою криптовалюту с PHP на Go. Часть 1

Reading time 6 min
Views 69K


«Не звони и не пиши мне больше!!!!» — пришла смс-ка от моей девушки Кати. Через пару часов я осознал, что теперь у меня появилась куча свободного времени и я решил переписать Dcoin на Go.


Читать дальше →
Total votes 100: ↑78 and ↓22 +56
Comments 58

Исходный код JavaScript-движка Microsoft Edge будет открыт в январе

Reading time 5 min
Views 13K
В конце прошлой недели на конференции JSConf US Last Call (Флорида, США) мы анонсировали, что откроем исходный код ключевых компонентов нашего JavaScript-движка Chakra, используемого в Microsoft Edge, в виде проекта ChakraCore. Исходный код будет доступен на GitHub под MIT лицензией в следующем месяце.


Gaurav Seth на сцене JSConf US Last Call анонсирует ChakraCore. Слайды доступны на GitHub.

Chakra – один с лучших движков JavaScript с самым большим покрытием возможностей ES2015 и предсказуемыми производительностью, надежностью и масштабируемостью. Мы предполагаем, что ChakraCore может использоваться в тех сценариях, где эти факторы играют большую роль: от облачных сервисов и до интернета вещей и в других средах.

Сегодня мы вкладываемся в улучшение Chakra больше, чем когда-либо, и мы рады возможности развития сотрудничества с сообществом для внедрения дальнейших улучшений. Несколько организаций уже рассказали о своем интересе вносить вклад в Chakra, включая Intel, AMD и NodeSource – мы смотрим с оптимизмом на нашу будущую совместную работу.
Читать дальше →
Total votes 39: ↑39 and ↓0 +39
Comments 16

Dynamic T-SQL и как он может быть полезен

Reading time 6 min
Views 59K
В наших проектах нам приходится решать различные задачи. Для решения некоторых из них мы используем dynamic T-Sql (далее по тексту dynamic sql).

Для чего нужен dynamic sql? Каждый решает для себя. В одном из проектов с помощью dynamic sql мы решили задачи построения динамичных отчетов, в других — миграцию данных. Также dynamic sql незаменим в случаях, когда требуется создать/изменить/получить данные или объекты, но значения/названия приходят в качестве параметров. Да, это может показаться абсурдом, но есть и такие задачи.


Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 7

Проектирование в PostgreSQL документо-ориентированного API: Комплексные запросы (Часть 4)

Reading time 6 min
Views 6.4K
Хранение документов в Postgres немного проще, теперь у нас есть серьезные процедуры сохранения, возможность запускать полнотекстовый поиск, и некоторые простые процедуры поиска и фильтрации.

Это только половина истории, конечно же. Рудиментарные поиски могут служить нуждам приложения, но они никогда не будут работать в долгой перспективе, когда нам надо будет задавать более глубокие вопросы.
Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Comments 0

Простой метапоисковый алгоритм на Python

Reading time 3 min
Views 20K

Лирическое отступление


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

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

Когда лень работать руками


Первая и самая очевидная для меня мысль – написать простой метапоисковый алгоритм на Python. Другими словами, вся автоматизация сводится к использованию выдачи другой поисковой машины (Google Search) за неимением своих баз данных. Сразу оговорюсь, есть уже готовые библиотеки, решающие подобную задачу, например pygoogle.
Читать дальше →
Total votes 18: ↑12 and ↓6 +6
Comments 10

Собственные типы индексов в СУБД Caché

Reading time 7 min
Views 7.2K
В объектной и реляционной моделях данных СУБД Caché есть три типа индексов — обычные, bitmap и bitslice. Если по каким-то причинам этих индексов не хватает, начиная с версии 2013.1 программист может определить свой тип индексов и использовать его в любых классах.

Подробности под катом (если вас не пугают слова типа метод-генератор).
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 2

Внедрение CRM. От регистрации лида до закрытия сделки. Кейс и пояснения

Reading time 7 min
Views 35K
За прошедший год мною было написано несколько работ, в которых освещались вопросы выбора CRM и обзоры конкретных систем. Но на практике я столкнулся еще с одним важным вопросом по этой теме, который и хотел бы осветить в данной статье. Это вопрос внедрения CRM-системы. Я специально приведу простой, но практический пример, чтобы вы могли быстро разобраться в вопросе и использовать для себя.

Данная статья будет призвана помочь разобраться в вопросе внедрения CRM и надеюсь будет полезна как специалистам, которые занимаются внедрением CRM, так и тем, кто хочет внедрить ее у себя.

Представим ситуацию: вроде бы и CRM уже выбрали и готов начать работать в ней, но….с чего начать? Как начать? Подобные вопросы встают перед всеми кто работал начала работу с CRM.

Приведу классическое определение понятия Внедрение ПО:

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


Итак, как следует из определения, систему для начала надо настроить под определенные условия конкретной компании. Вопрос обучения в данной статье мы рассматривать не будем, только вопрос настройки системы.
Читать дальше →
Total votes 18: ↑13 and ↓5 +8
Comments 0

Большой ликбез: распределённые системы хранения данных в практической привязке для админов среднего и крупного бизнеса

Reading time 14 min
Views 55K
Современные сети и дата-центры бодро шагают к полной и тотальной программно-определяемой схеме, когда фактически неважно, какое железо вы напихаете внутрь, всё будет на софте. У сотовых операторов это началось с того, что им не хотелось ставить по 20 антенн на дом (у них узлы переконфигурируются, меняют частоты и параметры просто обновлением конфига), а в дата-центрах сначала с виртуализации серверов, которая теперь мастхэв, а потом продолжилось и виртуализацией хранилищ.

Но вернёмся в Россию 2015 года. Ниже я покажу, как «из подручных средств» (x86 машин и любых «хранилок») сэкономить денег, повысить надёжность и решить ещё ряд типовых для сисадминов среднего и крупного бизнеса задач.


На этой схеме видны обе архитектуры, о которых пойдет речь. SDS — два красных контроллера в центре с любым бекэндом, от внутренних дисков до FC полок и облаков. И виртуальный SAN, на схеме Hyper-converged storage.

Самое главное:
  • Вам плевать, что за железо стоит: диски, SSD, зоопарк производителей, старые и новые модели… — всё это отдаётся оркестирующему софту, и он приводит это к той виртуальной архитектуре, которая вам нужна в итоге. Грубо говоря, объединяет в один том или позволяет нарезать как вам удобно.
  • Вам плевать, какие интерфейсы у этих систем. SDS построится сверху.
  • Вам плевать, какие функции ваши хранилки могли, а какие не могли (опять же, теперь они могут то, что надо: решает софт сверху).

Заодно рассмотрим пару типовых задач с конкретным железом и ценами.
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 15

MongoDB как средство мониторинга LOG-файлов

Reading time 9 min
Views 20K
В этой статье я расскажу об использовании нереляционной базы MongoDB для мониторинга журнальных файлов. Для мониторинга log-файлов существует множество инструментов, от мониторинга shell-скриптами, завязанными на cron, до кластера apache hadoop.



Подход с мониторингом скриптами текстовых файлов удобен только в простейших случаях, когда, например, проблемы выявляются наличием в журнальном файле строк «ERROR», «FAILURE», «SEVERE» и т.п. Для мониторинга больших файлов удобно использовать систему Zabbix, где Zabbix Agent (active) будет считывать только новые данные и с определённой периодичностью отправлять их на сервер.
Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Comments 47

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity