Черт я плохо прочитал код, почему то подумал что ты делаешь к нему много запросов...
Если у тебя нагрузка на ядро 100% то это ответ причины тормозов, делай по другому... Самое простое, переделать на многопоточную реализацию .
Самодукументация была бы хороша, если бы у баз данных был бы какой то визуальный стандарт, такой же как у текстовых файлов в GUI редакторов сред разработки, с подсветкой и синтаксическими правилами по описанию буквально каждой строчки.
В базах данных когда то философски предлагалось пользоваться GUI по описанию ER-диаграммы базы, где и документация, и графическое представление, а затем среда разработки компилирует это представление в реляционную модель физической базы данных. смутно помню такое было для oracle но к сожалению ни одного названия не вспоминается и не гуглится (возможно это была часть оралковского менеджера баз данных, но! не pl-sql developer).
mayton2019, дома человеку нужно хранить личный фото видео архив
После определенного размера (например собирая несколько лет набралось терабайт) арендовать облачное хранилище грустно, а ведь могут быть еще данные, хобби, работа (например если ты фрилансишь), а еще у меня одно время был огромный архив аудио, это сейчас достаточно названия записать и при необходимости найти в интернете (и то с оговорками) а тогда это было не так очевидно.
Обычному человеку нужен массив на несколько терабайт, двух дисков в raid1 более чем достаточно. И да, лучше все же его организовывать по дальше от компьютера,... даже дешевые роутеры умеют подключать диски по usb (под вопросом поддержка raid, но к примеру btrfs на openwrt поддерживается)
Речь не про 'нужно' а про 'какие бонусы получишь', например уменьшив объем свободного места ты обеспечиваешь гарантированый минимум объема одномоментной записи данных, при котором скорость не деградирует (фича современных чипов флеш).
Берешь прайс лист и записываешь в таблицу цену, размер, скорость чтения, скорость записи, tbw (лимит записей), гарантийный срок... Делишь каждый параметр на стоимость, (точнее наоборот, математически нет разницы), и получаешь стоимость единицы этого параметра, сортируешь по ней и смотришь, какие модели соседние и чем приходится жертвовать.
Например дохлый контроллер начнет писать нули на диск, возвращая системе что ок, узнаешь ты об этом только позже, когда начнёшь читать эти файлы.
100% гарантии не существует, есть sla, каждая следующая цифра которого даётся со все большими затратами.
Raid даёт первое и значимое его (sla) увеличение, потому что диски сами по себе очень не надёжные, дешёвые десктопные 3tb toshiba количеством 7шт отваливались в среднем по диску раз в год (все по гарантии относить успевал), без raid5 я бы уже 10 раз потерял бы данные. И да я потерял некоторые данные... я ввел неверную команду поднятия массива (я построил три независимых, поделив диски на 1тб раздела).
Не важно, включен у тебя массив постоянно или ты его держишь выключенным, это не принципиально. Просто сам массив не активируется, если ты диски будешь включать по usb, нужно пару команд вводить.
Подтверждаю, сегодня (больше не помню такого) на firefox я заметил этот эффект на достаточно редко посещаемом сайте (написан на php лет 15 назад, достаточно корявый), один раз увидел _T1Jcf4h.html (странно что у автора вопроса .htm) и добиться повтора не смог. Из расширений на этом браузере: Search By Image, Simple translate, Tempermonkey, Textarea Cache, uBlock Origin
Сергей П, ой черт, конечно для комплексных нужно считать расстояние по формуле
sqrt((a1-a2)^2+(i1-i2)^2) где a1,a2 это действительная часть сравниваемых чисел, а i1,i2 - мнимая
напомню, что для многих алгоритмов, отсутствие значения производной в точке 0 для модуля значимая проблема, поэтому берут квадрат от разности Math.Pow(a-b,2)
Пока мы не знаем что за изображения, в чем их характерность и главное для каких задач их нужно хранить, помочь будет нечем.
Зачем ты в базе хранишь векторное представление? Ты так дубликаты ищешь. Вектор кстати это наименьшее из возможных по размеру представлений изображения, уменьшение его потребует либо больше обучающих данных и увеличение ресурсов на обучение, либо смириться с ухудшением его качества
Попробуй отключить все графические эффекты kde (composition это кажется там зовется) ищи настройки desktop effects, если тормозить и тут будет, значит проблема глубже.
Главный вопрос, в других ОС или установках проблема отсутствует? Потому как это может быть не програмная а аппаратная проблема, например сдохшие чипы питания gpu или проблемный блок питания, или проблемы с материнской платой...
Проверить легко, возьми флешку, подключи ее к виртуалке, установи на нее linux какой-нибудь без kde типа xubuntu с xfce, все это не прекращая работу, затем перезагружаешься с флешки, доустанавливаешь драйвер видео (можно штатный из панели управления), еще одна перезагрузка - затрат минут 10-15 плюс установка в виртуалке (до получаса в зависимости от скорости флешки и интернета) фоном к твоей работе. Тебе не нужно никак настраивать эту ОС, это просто тест чистого конфига.
Vlad Ivanov, проблемы, созданные контроллером, не спасут данные, т.е. это никак не изменить контролем на уровне файловой системы, пример сбоя - контроллер начнет писать нули, возвращая 'ок', заметишь ты это только после попытки чтения (не сразу, так как на текущий момент эти данные в кеше ОС а так же в кеше контроллера).
В этом смысле софтовый raid даже предпочтительнее, так как контроллер диска, работающий исключительно в режиме доступа к диску, простой и ломаться там меньше вероятность. И да, в этом случае контроллером raid становится уже сам компьютер а значит его сбои уже будут приводить к проблемам, т.е. рекомендуется серверная материнка с ecc памятью и т.п. (никаких разгонов и прочих очагов нестабильности)... и вообще, везде и всеми рекомендуется разносить железо отвечающее за хранение данных от всего остального подальше
p.s. про купить ssd подешевле но побольше количеством для надежности - совет, покупай бОльшего размера но заметную часть диска размечай не отформатированным разделом (от 50%..30% всего объема). Это значительно сэкономит ресурс диска (у таких дисков и лимит записи обычно выше), значительно повысит производительность по сравнению с дисками но меньшего размера (а по цене разница не кратная).)
какой процессор?