Задать вопрос
  • Какую БД выбрать для маленького файлового сервиса?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вопрос в перспективе тянет на экспертную систему по выбору БД.

    При данной постановке - можно брать любую документно-ориентированную. Все одинаково подходят.
    Но если основной контент (80% берем по Паретто) это файлы - то можно брать Amazon S3, в дальнейшем с перспективой трансформировать это в DynamoDb если понадобятся транзакции или в Amazon Document Db (он же Mongo) если понадобится тонкая работа с атрибутами документов (или файлов).

    Автор должен понять что в это вопросе нет единого правильного решения. Есть просто некая сравнительная табличка где есть набор фичей с одной стороны и набор DBMS с другой и нет такого покрытия которое бы закрыло ВСЕ фичи.
    Ответ написан
    Комментировать
  • Почему медленно удаляются файлы и с паузами на серверных SSD Samsung centos 6?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если часто удаляется папка с over миллиардом файлов то можно пересмотреть эту задачу архитектурно. Например смонтировать эту папку как volume и форматировать ее. Это быстрее. В противоположность, файловые удаления по 1 штуке требуют фиксации транзакции для каждого файла. А это избыточные действия которые как раз и создают поток IOPs над структурами данных ext4. По аналогии с БД. То что делает автор это удаление каждой строчки из таблицы с коммитом. А то что я предлагаю - это по смыслу truncate table.
    Ответ написан
    1 комментарий
  • Как лучше хранить данные, которые не надо обрабатывать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если автору нужно хранить данные измерений (графики) в режиме append-only, то можно посмотреть в сторону InfluxDB.
    Ответ написан
    Комментировать
  • Куда "потерялась" часть размера таблицы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сразу 3 замечания.

    Непонятно зачем автору считать 43 мегабайта на фоне 3Гб. Это 1%.
    Непонятно зачем автор печатает физические размеры файлов. Ведь в них хранятся заголовки и всякие
    прочие служебные структуры данных которые к размеру таблицы не относятся.
    И непонятно зачем автор вывел длины файлов в размере который округлён в human-readable? Там все равно не учтены килобайты. Уж если пошёл счет на копейки так надо и копейки печатать.

    Прости но уж очень много неточностей и косвенностей в самом вопросе. Просто нельзя так.
    Ответ написан
  • Не работает Wi-Fi на ноутбуке с Linux Ubuntu. Как подключить?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Почти таже самая проблема на стареньком HP Core i3. Пока стояла десятка все норм. Как только поставил Ubuntu 18 LTS - пошли регулярные дисконнекты. Субъективно вижу что очень низкая чувствительность антены приёмника в ноуте. Грешу на хреновые дрова. Так и не пролечил.

    Workaround: Когда включаю смартфон в режиме wifi-точки и ложу его рядом прямо с корпусом ноута - связь появляется.
    Ответ написан
    Комментировать
  • Алгоритм поворота динамического массива без доп памяти?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно эту прямоугольную "колбасу" вообще не поворачивать. А хранить вектор повернутости. И перегрузить оператор индекса чтобы доступ вел себя по правилам аффинных преобразований.
    Ответ написан
    Комментировать
  • Как сделать дизайн (GUI) на C++?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вопрос звучит неправильно. Сам по себе С++ не имеет никаких встроенных в себя технологий для отрисовки графики. Это уже - задача библиотек которые будут зависеть от ОС или оконного менеджера.

    И здесь Qt, Gnome, KDE, WTL просто производные от ОС.
    Ответ написан
    Комментировать
  • Используемые технологии в создании игр?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Технология - обычная. Может быть Unity. Может быть WebGL или OpenGL если - Windows приложение или игровая консоль.

    Но в этой графике есть особенность. Она - изометрическая. Тоесть снята камерой отодвинутой на бесконечность.
    С углом поля зрения в 0 градусов. Есть еще другие особенности типа 30 градусные углы между горизонтом
    что дает возможность видеть прямоугольные объекты (дороги и стены домов) под фиксированными пропорциями
    типа 1:2. Синус 30 градусов - удобен для расчетов.

    Это очень красиво для пиксельной графики. Легко рисовать. И можно комбинировать 3D и пиксельную (растровую) графику два в одном. Так например делали в StarCraft старых версий.
    Ответ написан
    Комментировать
  • Как найти дубли в массивах postgres?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Реляционная алгебра практически не умеет оперировать горизонтальными коллекциями. Такова она есть. И SQL создавался для других дел.

    Самое правильное что можно сделать - создать временную табличку. Слить туда твои массивы с разворотом в 90 градусов и выполнить простейший (! реально простейший!) запрос с группировкой.

    Это решение будет идеологически правильней, чем нагружать SQL не-свойственными ему задачами.
    Ответ написан
    Комментировать
  • Какие способы разгрузить БД на django?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Делаешь две БД. И пишешь в одну все записи удовлетворяющие HASHCODE(primaryKeys, 2) == 0
    а во вторую БД HASHCODE(primaryKeys, 2) == 1. При запросах соотв. делаешь запрос в две БД и объединяешь результат.
    Ответ написан
    Комментировать
  • Какая приоритетная очередь быстрее?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Господи как все сложно. Берешь и делаешь столько очередей - сколько надо приоритетов. И все.
    Ответ написан
    Комментировать
  • Как преобразовать любой файл в картинку png?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Автор пытается делать стеганографию. Тоесть в картинке скрывать информацию. Здесь выбор PNG полезен тем что инфа лежит плотно и в случае "гладкого" характера информации сжимается. Наподобие архиватора.

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

    По поводу дополнения файла до размера кратного длине строки (padding). Там не 00 не FF не подходит. Так как в оригинальном файле тоже могут быть эти константы и алгоритм даст сбой. Надо почитать как делается в криптографии. Там есть специальный workaround. Если его не реализовать правильно то при обратном декодировани картинки в файл мы можем получить ложное удлиннение файла на размер хвостика последней строки пикселов. Насколько это большой дэмедж для исходного файла - ХЗ. Но лучше конечно его не нелать чтоб обратное декодирование было надёжным с точки зрения длины файла.
    Ответ написан
    6 комментариев
  • Какой тип баз данных самый быстрый?

    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     |
    +-----------+------------------------+-------+
    Ответ написан