Задать вопрос
  • Какой тип баз данных самый быстрый?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Самым быстрым являются хешмапы в памяти приложения. Но вопрос на самом деле более сложный. Как только нам нужно делать join 2-3 таблиц тогда - работает сложная квантовая механика оптимизатора и вариантов быстроты становится целая матрица.
    Ответ написан
    Комментировать
  • Как узнать запаролен ли rar-файл?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    rar имеет консольный тул. Его можно вызвать как то так
    $ rar -l <namefile>
    И проанализировать листинг. Там скорее всего напротив каждого шифрованного файла будет какая-то пометка или символ.

    Автору - неприлично спрашивать такой вопрос совсем не подготовившись.
    Ответ написан
  • Почему не работает 'Быстрая сортировка'?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вызывать ее надо по другому. Создать массив и указать его как аргумент в quicksort(..)
    Ответ написан
  • Правильно ли я спроектировал таблицы в бд?

    mayton2019
    @mayton2019
    Bigdata Engineer
    На практике таблицы со связями 1:1 никто не создает. Есть конечно исключительные случаи. Они связаны с обходом ограничений использования BLOB полей и прочего но это точно не ваш случай.

    Можете смело соединять две таблички в одну и все будет прекрасно. Если вы не ошиблись с нормализацией.
    Ответ написан
  • Чем обрабатывать естественую речь?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если речь идёт о русском языке - то читать про стемминг и лемматизацию.
    Ответ написан
    Комментировать
  • Как быстро сортировать в большой таблице по часто изменяемому полю?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Зачем вам сортировать все 50 миллионов? Задача топа - чтобы взять например top 10.
    Сделайте себе временную табличку и по триггеру сливайте в нее по правилу паретто или больше 95%
    где баланс больше X. И там будет не 50 миллионов а 100 тыс.

    И эта мелкая табличка легко отсортируется и опубликуется.
    Ответ написан
  • Как грамотно удалять дублирующиеся строки/связи в базе данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Зависит от ценности этой информации. Если эту схему рассматривать как историю - то ничего удалять не надо. Просто перепишите ваши отчоты чтоб они делали GROUP BY и DISTINCT и просто игнорировали дубли.

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

    Удалять - советчиков много. Но все они - безотвественные и если вам не стоит слушать советов по чистке данных именно здесь в тостере то вы рискуете какраз потерять нужные данные.
    Ответ написан
    Комментировать
  • Как найти самый длинный префикс среди строк и сгруппировать по нему?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Как по мне - задача поставлена неверно. Или не хватает доп-условий. Например я считаю что общий префикс должен быть такой.

    +-----------+------------------------+-------+
    | parent_id | path                   | count |
    +-----------+------------------------+-------+
    | 7         | val1                   | 6     |
    +-----------+------------------------+-------+
    Ответ написан
  • Как определить на ранних стадиях что в PostgreSQL что-то начало сбоить?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если носитель информации - ненадежный - то к нему добавляют дополнительные коды типа Хэмминга которые восстанавливают поврежденные биты после сбоя. На 99% нормальных носителей это реализовано аппаратно. Если твоя флешка сбоит или не очень надежна то желательно купить новую. Если ты всё таки хочешь наковырять золота в навозе - посмотри в сторону утилиты par2 manpages.org/par2 она на десяток процентов увеличит размер твоих бэкапов но будет гарантировать фиксацию нескольких бит если такое будет. Она работает поверх обычной файловой системы и ее коды контроля будут просто дополнительными файлами рядышком.

    А проверить восстановистя ли бэкап в принципе - невозможно. Как в той философской мысли - нельзя узнать какой пудинг пока ты его не съел. Поэтому и гарантировать целосность бэкапа на логическом уровне можно только проведя симуляцию его полного восстановления в БД.
    Ответ написан
  • Что быстрее LSAPI или FastCGI (Nginx + PHP-FPM)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это архитектурный вопрос. Я имею в виду что выбор сервера приложений - это матрица стратегий. И ее нельзя сводить к простому вопросу - что быстрее. Это как дети обычно спрашивают - что лучше : грузовой трак или гоночный болид. Профанация выходит.
    Ответ написан
    Комментировать
  • Gradle. Почему сборка на windows намного медленнее?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Linux быстрее создает процессы (fork()). Это особенно видно при работе с консольными тулзами. И с теми-же тулзами которые портированы под Windows к примеру. Это одна причина. И вторая - это файловая система. Linux/Ext4 обычно менее затратная в обслуживании огромного количества мелких операций чем Windows/NTFS. Например проверка атрибутов безопасности в Linux - это проверка битовой маски. В Windows - чуть больше действий.

    Ко всему конечно могут быть и другие различия в имплементации java под Windows которых я не знаю.
    Ответ написан
    4 комментария
  • Где найти параллельный алгоритм нахождения максимального паросочетания в графе?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Интересный вопрос. Кмк форд-фалкерсон либо плохо параллелится. Либо после параллелизма просядет в блокировках вершин и ребер, что сделает его худшим по эффективности чем непараллельный.

    Тут надо подумать.
    Ответ написан
    Комментировать
  • Часто задумываюсь о смене стэка программирования, это плохо?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Изучение Go, Rust я поддерживаю. Это развитие. Это хорошо.

    Во фриланс особо не рвись. Я за свою жизнь не видел качественных продуктов в основе которых стоял бы фриланс.
    Ответ написан
    Комментировать
  • Как программирование связано с информатикой?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Информатика и вычислительная техника и ЭВМ это немного архаичное название современных it наук таких как собственно программирование, FP, GA, NN, MV.

    Старые слова можно много где встретить в старых книгах. У того же Дональда Кнута есть отсылки к алгоритмам сортировки на магнитных лентах.
    Ответ написан
    Комментировать
  • Как правильно реализовать версионную миграцию в микросервисах?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Идея выглядит очень рискованной.
    Ответ написан
    Комментировать
  • Как зашифровать текст?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Несколько важных поинтов. Во первых у автора - путаница в голове. RSA относится не к шифрующим а к подписывающим и проверяющим алгоритмам. В учебных книжках описывают юзкейс как Алиса передает сообщение Бобу но это просто учебный пример. В реальных протоколах типа SSL работает бутерброд из двух технологий. Первое - это процесс рукопожатия автентификации где выясняется кто есть кто. Здесь может быть RSA. И обмен сеансовыми ключиками для симметрички. И второе - это открытие симметричного шифрованного канала где уже работает другой алгоритм типа AES/Blowfish.

    И второй поинт. Зачем. Если просто разработать систему - то надо брать готовое под Питон. Если надо разбираться - то продуктовые шифры и алгоритмы очень сложны. Можете просидеть много месяцев. Остановитесь на учебных максимом до DES.
    Ответ написан
    Комментировать
  • Какую БД использовать для timeseries данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Автор очень быстро отбросил Postgres. Но я хочу спросить были ли исследованы все возможности? Например TimescaleDb.
    Ответ написан
    Комментировать
  • Как отмерять сколько пикселей от одного обьекта до другого?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вопрос в том как прикладывать линейку. Автора будет интересовать Декартово расстояние? Или расстояние Манхеттена?
    Ответ написан
    Комментировать
  • Как правильно реализовать множество проверок объекта?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    В топике нет проблемы как таковой. Проверки можно делать по разному. Но главной метрикой скорее всего будет - компактность кода и скорость внесения в него изменений. Из best practices. Заводите вспомогательный класс. Helper. И делаете 20+ методов.
    Ответ написан
    Комментировать
  • Можно ли в Linux запустить процесс при OOM?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Полностью согласен с ораторами насчет виртуализации.

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

    Нужно 100% собрать логи и посмертные снимки памяти приложений. Или приложения. Скорее всего оно одно. И оно-же является источником проблемы. Это приложение надо перенести в докер к лимитами по памяти и там запускать.

    Дампы памяти надо проанализировать и понять что флудит. С точки зрения приложения должны быть какие-то гарантии или требования по штатному режиму работы. Тоесть если ему надо 8Г то дайте ему ровно 8 и не больше.
    Ответ написан