Size: a a a

Clojure — русскоговорящее сообщество

2020 June 29

AZ

Alex Zveryansky in Clojure — русскоговорящее сообщество
Никита
Сейчас так и думаю сделать. Единственный момент как часто обновлять каунтер. На каждый лайк, каждые n минут либо еще каким-то способом. Нет бизнес требования показывать точное число каждый раз
обновляй на каждый лайк, когда станет проблемой ты поймешь какой рейт обновления стоит сделать
источник
2020 June 30

Ю

Юрий in Clojure — русскоговорящее сообщество
Никита
Такая задача: люди делают посты в каком-то районе города. На пост можно реагировать лайком. Нужно выводить топ постов по любому району, а также чтобы была возможность брать топ по всему городу. И конечно же это относится к любому району любого города. Лайки и посты находятся в разных базах, то есть сделать простой подзапрос сделать не выйдет. Как бы вы ее решали?
сходу приходит в голову sparksql или drill для агрегации всех соединений. а дальше пулять общую выборку в jdbc другой бд и там версионировать/дропать/пр. на изменениях в каждой бд
источник

T

Timmy B in Clojure — русскоговорящее сообщество
Никита
Такая задача: люди делают посты в каком-то районе города. На пост можно реагировать лайком. Нужно выводить топ постов по любому району, а также чтобы была возможность брать топ по всему городу. И конечно же это относится к любому району любого города. Лайки и посты находятся в разных базах, то есть сделать простой подзапрос сделать не выйдет. Как бы вы ее решали?
space filling curve + хороший индекс
источник

T

Timmy B in Clojure — русскоговорящее сообщество
если упор на гео конечно
источник

p

programmist ⌨️ in Clojure — русскоговорящее сообщество
Никита
Сейчас так и думаю сделать. Единственный момент как часто обновлять каунтер. На каждый лайк, каждые n минут либо еще каким-то способом. Нет бизнес требования показывать точное число каждый раз
Обновлять один раз, в момент лайка, триггером на таблице прямо в базе данных.
Если базы в вашем ведении, и это PostgreSQL, то лучше разделить схемами, а не базами.
Если SQL Server то и межбазовый запрос работает нормально.
источник

p

programmist ⌨️ in Clojure — русскоговорящее сообщество
Если упор на гео, то PostgreSQL + PostGIS
источник

p

programmist ⌨️ in Clojure — русскоговорящее сообщество
Буквально недавно писал выборку для постов в блогах, с лайкнувшими, тэгами, аватарами, подписаными на автора и ещё много чем. Лайкнувшие лежат в массиве, прямо в записи с постом, как и другие подобные сущности. Чтобы показать ленту пользователю, с его настройками (поиск, учёт игнорируемых авторов, тэгов, и прочее) одни селектом собирается JSON объект, готовый для рендера на фронте.
За раз выбирается 50 постов. На всю ленту один запрос в БД. Всё это в функции PostgreSQL. Статистика исполнения показывает всего три разных плана выполнения, и среднее время 0.09 мс.
источник

Н

Никита in Clojure — русскоговорящее сообщество
programmist ⌨️
Буквально недавно писал выборку для постов в блогах, с лайкнувшими, тэгами, аватарами, подписаными на автора и ещё много чем. Лайкнувшие лежат в массиве, прямо в записи с постом, как и другие подобные сущности. Чтобы показать ленту пользователю, с его настройками (поиск, учёт игнорируемых авторов, тэгов, и прочее) одни селектом собирается JSON объект, готовый для рендера на фронте.
За раз выбирается 50 постов. На всю ленту один запрос в БД. Всё это в функции PostgreSQL. Статистика исполнения показывает всего три разных плана выполнения, и среднее время 0.09 мс.
Интересно. Массив лайкнувших прямо в посте это наверняка хорошо на маленьких значениях, но когда их больше тысячи, как по перфомансу?
источник

Н

Никита in Clojure — русскоговорящее сообщество
Alex Zveryansky
обновляй на каждый лайк, когда станет проблемой ты поймешь какой рейт обновления стоит сделать
На каждый лайк думаю проблема с конкурентной записью будет
источник

p

programmist ⌨️ in Clojure — русскоговорящее сообщество
Никита
Интересно. Массив лайкнувших прямо в посте это наверняка хорошо на маленьких значениях, но когда их больше тысячи, как по перфомансу?
Видел десятки мегабайт в одном поле json, и PostgreSQL с ними легко разбирается. Тысячи интовых записей в массиве для него семечки.
источник
2020 July 01

СД

Стас Донцов... in Clojure — русскоговорящее сообщество
Есть на кложе парсеры сайтиков?
источник

СД

Стас Донцов... in Clojure — русскоговорящее сообщество
В этом ли чате задавать такие вопросы (мб есть кложа бегиннеров чат)?
источник

AZ

Alex Zveryansky in Clojure — русскоговорящее сообщество
Стас Донцов
Есть на кложе парсеры сайтиков?
Есть.
источник

A

Alish in Clojure — русскоговорящее сообщество
Стас Донцов
Есть на кложе парсеры сайтиков?
Enlive
источник

AZ

Alex Zveryansky in Clojure — русскоговорящее сообщество
Стас Донцов
В этом ли чате задавать такие вопросы (мб есть кложа бегиннеров чат)?
В этом, нас мало чтобы делиться)
источник

СД

Стас Донцов... in Clojure — русскоговорящее сообщество
спасибо за комменты)
источник

СД

Стас Донцов... in Clojure — русскоговорящее сообщество
парни, а для чего вообще кложа? в чем ее преимущества? где лучше кложа, а где скала например?
источник

AZ

Alex Zveryansky in Clojure — русскоговорящее сообщество
Стас Донцов
парни, а для чего вообще кложа? в чем ее преимущества? где лучше кложа, а где скала например?
Кложа нужна чтобы перестать ощущать что ты делаешь что-то некрасивое и противоестественное. Ну а преимущества и сравнение очень зависит от задач. Читай про плюсы от лиспа, репла, иммутабельности
источник

СД

Стас Донцов... in Clojure — русскоговорящее сообщество
ну то чем торгуют в фп по сути, и что-то магическое от лиспа
источник

СД

Стас Донцов... in Clojure — русскоговорящее сообщество
а вот по ощущениям, может тут есть старые бородатые джависты или плюсовики (изначально хотел услышать скалистов, но если нет, то что уж там), хотелось бы услышать их сравнительный анализ, чем им помогла кложа например, как с ней стало жить легче?
источник