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

Радар технологий: перечень языков, инструментов и платформ, которые прошли через руки Lamoda

Время на прочтение12 мин
Количество просмотров24K
Всего голосов 46: ↑42 и ↓4+38
Комментарии17

Комментарии 17

Привет.

Очень удивился, когда увидел MongoDB в Hold. Можете рассказать, что пошло не так? Пожалуйста.
Привет!

MongoDB у нас отлично живёт в WMS и там ей довольны, но в новые как-то оказывается логичней использовать что-то другое. Во всех наших проектах хватает возможностей сейчас от PostgreSQL, которая используется, как основная реляционная база + с её jsonb типом хранения. Там есть и поиск по таким полям, фильтрация, и базовые потребности nosql предоставляет :)

На примере нашей R&D команды, мы начинали недавно разработку одного проекта с mongodb в качестве бд, но когда получше разобрались в задаче и уточнили требования, поняли что она там не нужна и быстро заменили на postgres, чтобы лишний раз не раздувать стек. Я так думаю, в остальных командах похожая история.
Да, как-то у нас его нет ¯\_(ツ)_/¯
Хотя я уверен что у наших сисадминов он точно есть где-нибудь в скриптах)
Решая задачи с помощью R, мы поняли, что это язык не для высоконагруженных приложений. В новых задачах мы используем Python и другие технологии, которые с R несовместимы.

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


Предположу, что вы используете dplyr для обработки данных. Хэдли Викхэм сделал и продолжает делать очень много для развития R. dplyr и другие пакеты из tidyverse (или “hadleyverse”) очень полезны и сильно облегчают жизнь. Негативный эффект – люди думают, что все необходимые пакеты есть в tidyverse. Как результат, я уже несколько раз сталкивался с тем, что люди, имеющие опыт разработки и анализа данных в R, ничего не слышали про пакет data.table.


data.table — один из самых быстрых инструментов обработки данных в оперативной памяти одного сервера. Он написан на native C. Сравнение data.table с dplyr, pandas и spark sql можно посмотреть здесь. Скорость – это только половина преимущества data.table. Вторая половина – эффективное использование памяти.


Паша Стеценко из H2O.ai сейчас разрабатывает data.table для Python на основе пакета data.table для R. Но он сейчас только в стадии альфа. Презентацию можно посмотреть здесь.


Конечно, R и data.table подходят для обработки данных, только если данные влезают в оперативную память одного сервера (и data.table здесь очень эффективен и экономичен). Но это ограничение справедливо и для Python. При бОльших масштабах нужны уже кластерные решения – spark, flint и др. У spark есть api и для R и для Python.

Будет для этого, когда FastR созреет :)

Про data.table наши аналитики знают :) Но вообще с таким же весом можно говорить что питон медленный, но вот есть же numpy, или что и numpy надо уметь пользоваться.


R это отличный инструмент анализа данных, но он к сожалению создавался не разработчиками и не для разработчиков. Соответственно, разработанные аналитиками решения надо будет потом конвертировать в другие языки, да и инженеры не смогут помогать с оптимизацией. С питоном получается меньше переходов и проще совместная разработка. Ну и из личных наблюдений: я, конечно, не специалист по R, но редко вижу человека, который на нём может что-то писать вне Rstudio.


И да, у нас правда много данных и чаще всего на рабочем лаптопе они не влезут в память. Насколько мне известно, апи у спарка для питона не уступает родному для спарка scala api. Если уж и гнаться за скоростью, то тогда и топить сразу за scala.


Кстати! Раз вы хорошо знаете R и спарк, можете рассказать, можно ли доверять метрикам из вот этой публикации?

Про scala согласен. R знаю хорошо, spark — нет, поэтому прокомментировать не могу.

P.S. Кто-то снизил мне карму. Похоже из-за этого комментария. Спасибо…
Были эксперименты с PHP поверх event loop? ReactPHP, Swoole?
Присматриваемся, но пока нигде не использовали.
Собрали все хайповые технологии в стеке, а успеваете следить за обновлениями?
Как хабр не читаешь каждую неделю, что то обнаруживается взломанным, то, например, MongoDB лицензию меняет (для корпаративного использования плату взымает).
Вот если честно никогда этого не понимал, понахватать всего, а потом искать приключений…
Больше всего вопросов создаёт требование публикации под условиями SSPL всего кода, используемого для обеспечения работы сервиса! Готовы код открыть?
Код надо открывать при условии использования как SaaS…
Я вас не понимаю
На нашей практике, даже с достаточно развесистым стеком, не так часто случались вот такие координальные смены лицензий, первое, что помню, это Aerospike, о котором есть в статье выше. А по поводу уязвимостей, по разному, например, в PHP для приложений встроены в CI автоматические security checkers, которые нам говорят об появляющихся уязвимостях, стараемся к тому же освежать всегда все версии + инженеры сами читают, следят, сообщают. И приключений соовсем мало выходит
ИМХО, это похоже на выставку достижений.
Ни одного предложения про трудности, с которыми столкнулись, или про недостатки новых инструментов.
Везде получается «Мы модная компания и следим за модой».
Большинство из тех, кто здесь присутствуют, знает, что в целом дают указанные технологии.
Хочется историй «попробовали — не зашло, такие-то проблемы».
Или «Внедрили, но мешало то-то, решили так-то».
Впрочем, возможно это будет в новых статьях? )
Да, вы правильно восприняли статью :) TechRadar это именно взгляд через стекло и скорее выставка. Если угодно, это срез текущего состояния нашего стека.
В будущих статьях мы детальнее разберём наиболее интересные, на наш взгляд, технологии и как мы к ним пришли (и через что).
А про какие системы вам было бы интереснее всего прочитать?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий