Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез
И тут мы задумываемся чем поиск отличается от выборки (и бд от поискового движка)
Читать полностью…Мы так сейчас дойдем до того, что не надо все это искать в БД, а нужен отдельный индекс внешний
Читать полностью…В плане, если у тебя индекс будет (title, author)
то просто по автору не получится искать
В плане? Ну да индекс может быть из двух колонок.
Вы индекс и праймери кей не путаете?
Сделали ФП ЯП поверх Голанг vm, как Scala или Clojure поверх java jvm
Читать полностью…Я как-то делал похожее на то, что тебе нужно с помощью неблокирующих очередей в комбинации с BooleanLatch. У меня было много потоков обновляющих очереди, один поток читающий в цикле эти очереди и передающий в экзекутор на исполнение. Те кто пополнял очереди, выставлял latch в позитивное значение, читающий сбрасывал его и блокировался на нем. Но забыл я почему именно этот латч выбирал, но помню, что до этого изменения очереди в цикле читались нон-стоп и подскочила утилизация цпу у одного из клиентов.
Читать полностью…тут видится вопрос что хочется разгрузить, консумеров или продьюсеров. Изза этого лок можно сместить или упрятать за чек раз в N на локе как в обычном синхроне
Читать полностью…а теперь вопрос знатокам, сколько нужно таких композтных индексов, если фильтрация возможна не по двум, а по пяти атрибутам?
Читать полностью…В pgsql все так. Второе поле по индексу будет искать только если первое поле так же есть в условии. Это если мы говорим про дефолтный b-tree.
Читать полностью…Можно конечно сдвоенный индекс для запросов где оба условия
Читать полностью…Зависит от ьипа индекса. Но все же это эффективней чем фулскан таблицы. Ну и оьычно там норм дерево собираеться
Читать полностью…Этих новых япов куча.
Если нужна компиляция в натив и поддержка дкларативности с пайплайн программинг, то берут Rust, всё остальное не понятно для чего
Синтаксис очень похож на хачкель, я не спец но по мне почти один в один
Читать полностью…Я делал так: обычная ConcurrentQueue, основной тред укладывает туда задания, другие треды (у меня было фиксированное кол-во) забирают их и исполняют. Всё просто и незатейливо. Не то?
Читать полностью…Сейчас башка особо не варит, и там надо ещё посмотреть, что будут делать консюмеры, не доходящие до синхронизированной части, но с атомарными публикациями выглядит что может сработать, если паблишер всегда под тем же монитором. Про последнее я как-то не думал.
Читать полностью…- T1 outstanding -> 0
- T1 tear point
- T2 publish()
- T2 outstanding <- 1
- T2 signal()
- T1 tear point recovery
- T1 wait()
ну смотри, у тебя ли двух этапный мьют либо двухътапный размьют
Читать полностью…значит достаточно на приходе сигнала сделать доп действие чтобы размьютить второй поток
Читать полностью…