Pull to refresh
-8
0.3
Send message

Делаем быстрый поиск по неточному совпадению среди 100 миллионов товаров

Reading time10 min
Views11K

Это четвертая статья с этой картинкой для привлечения внимания. Она каким-то удивительным образом опять подошла по смыслу.

Мы делаем проект по управлению большими каталогами товаров, и нам потребовалось быстро искать товары по неточному совпадению.

Забегая вперед, скажу, что от идеи до рабочего решения на продакшене прошло пять часов.

Исходная ситуация такова: таблица в MS SQL базе, 50 миллионов записей, записи добавляются постоянно, удаляются или обновляются крайне редко. Средняя длина названия товара составляет 64 символа. Поиск по неточному совпадению работает, для этого используются триграммы и полнотекстовый индекс по столбцу с триграммами. Ранжирование результатов осуществляется при помощи функции CONTAINSTABLE. Результаты получаются релевантные, но поиск работает откровенно медленно, 2-5 секунд на запрос, в зависимости от длины запроса. Мы хотим ускорить его раз в 20, а лучше в 100 подручными средствами.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments18

Блеск и нищета паттерна «Спецификация» в С#. Оцениваем планы запросов

Level of difficultyHard
Reading time23 min
Views13K

О паттерне «Спецификация», который позволяет улучшить структуру приложения, и, следовательно, увеличить гибкость, уменьшив при этом объем кода, а значит — сократить количество ошибок, но это не точно. Почему? - читаем ниже. 

Читать далее
Total votes 37: ↑36 and ↓1+43
Comments52

FreeIPA vs Samba AD

Level of difficultyEasy
Reading time12 min
Views19K

Используя продукты ведущих вендоров, мы не всегда задумываемся о том, что в них реализованы лучшие практики, позволяющие экономить на администрировании, повышать безопасность инфраструктуры и обеспечивать удобство для работы пользователей. Но эти детали, как шило в... мешке, не дают покоя при попытке заменить проверенное ПО свободным. Оказывается, ни одно из альтернативных решений неспособно без существенных доработок обеспечить сопоставимые показатели по безопасности, удобству и эффективности.

Сегодня нужно заменить большое количество программных продуктов, а времени совсем мало, поэтому приходится расставлять приоритеты и начинать с самого важного. Так, одним из стратегических направлений «Группы Астра» стала разработка службы каталога, которая должна заменить Microsoft Active Directory и стать сердцем обновленной ИТ-инфраструктуры российских предприятий. В нашем продукте мы объединили службу каталога FreeIPA с системой конфигурирования SaltStack и дополнили решение набором наиболее востребованных сервисов, таких как репозиторий программного обеспечения Reprepro, файловый сервер Samba, общий доступ к принтерам CUPS, динамическая настройка хостов ISC DHCP, установка ОС по сети TFTP HPA, мониторинг Zabbix и Grafana, журналирование syslog-ng.

Продукт ALD Pro (Astra Linux Directory Pro) быстро развивается, и с даты первого релиза было опубликовано уже несколько сотен улучшений, что позволило стать лидером на рынке доменных решений. У нас уже сотни инсталляций по всей стране, и с каждым днем их становится все больше. Но некоторых пользователей очень интересует вопрос, почему в качестве основы для службы каталога мы выбрали все-таки FreeIPA, а не Samba AD, и в этой статье поделимся нашими соображениями. Уверены, что информация окажется полезной не только нашим заказчикам, но и пользователям ванильных FreeIPA и Samba AD.

Читать далее
Total votes 16: ↑12 and ↓4+12
Comments32

Information

Rating
1,951-st
Registered
Activity

Specialization

Backend Developer
Senior
Git
.NET
Entity Framework
C#
PostgreSQL
Nginx
Linux
Docker
CI/CD