Как стать автором
Обновить
3
0
Андрей Ходус @Khodus

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

Отправить сообщение

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

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

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

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

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

Время на прочтение2 мин
Количество просмотров37K
Хотел бы поделиться простым, но полезным инструментом. Когда много работаешь с данными, часто возникают примитивные, но долгие операции, например: «скачать 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 и понял, что пора что-то менять:

Читать дальше →
Всего голосов 42: ↑39 и ↓3+36
Комментарии11

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

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

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

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

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

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

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

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

Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии25

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

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


Читать дальше →
Всего голосов 16: ↑12 и ↓4+8
Комментарии6

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

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


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

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

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

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

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


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

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

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

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


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


Читать дальше →
Всего голосов 100: ↑78 и ↓22+56
Комментарии58

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

Время на прочтение5 мин
Количество просмотров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 – мы смотрим с оптимизмом на нашу будущую совместную работу.
Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии16

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

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

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


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

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

Время на прочтение6 мин
Количество просмотров6.6K
Хранение документов в Postgres немного проще, теперь у нас есть серьезные процедуры сохранения, возможность запускать полнотекстовый поиск, и некоторые простые процедуры поиска и фильтрации.

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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



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

Информация

В рейтинге
Не участвует
Откуда
Воронеж, Воронежская обл., Россия
Дата рождения
Зарегистрирован
Активность