

Anton
23.10.2018
15:14:31
Смотри. у тебя даже еще лучше.
У тебя Россия а не весь глобус.
Допустим у тебя 1 миллион записей в БД.
Вот берем карту. делим ее на участки. (окружности) причем делишь так, что твои точки внутри БД распределились равномерно по всем участкам. Скажем сделали 100 участков. в итоге у каждого из них будет по 10 тысяч точек.
У каждого участка есть центральная точка. к этой точке нужно создать индекс расстояния с остальными точками из этого участка.
т.е. будет 100 индексов с 10 тысячами записей.
Затем для каждого из участков делаешь такое же разбиение по 10 под-участков. в итоге будет 10 индексов с 1000 записей.
Да будет дохуя памяти, но тут отлично все шардится и вообще скейлится сколь угодно много.
И вот рандомный чел вбивает рандомную точку в россии.
ты прогоняешь по 100 участков. затем внутри учатка прогоняешь по 10 контрольным точкам. и затем уже по 1000 остальных записей.
В итоге тебе нужно будет прогнать 1110 -- записей в самом плохом случае, чтобы найти нужное значение.
короче я чет переборщил. пойду домой


Artur
23.10.2018
15:15:48
и это можно реализовать вообще не прибегая к особенностям дб

Google

Anton
23.10.2018
15:16:17
можно, ты же говорил что формулы нашел

Artur
23.10.2018
15:16:17
и на практике это все равно будет не то что хочет клиент(дороги)
да
только обратную
найти расстояние между точками
а мне надо найти точку +/- 50 км

Anton
23.10.2018
15:17:29
опять же -/+50 км до углов? или до паралелей/вертикалей?
это же разные расстояния

Artur
23.10.2018
15:18:06
точнее координат в градусах

Anton
23.10.2018
15:19:24
короче я сейчас буду оффлайню. как приеду домой, и если будет время, то посмотрю как это вычислить
но опять же. тебе придется делать индексы

Artur
23.10.2018
15:20:05
обычные цифровые :)

Google

Artur
23.10.2018
15:20:12
lat between 123 and 125
где 2 градуса - это 50*2км для данной широты/долготы
ясама
сказал артур :)

Dmitry
23.10.2018
15:44:36
можешь побить на полигоны и выбирать по индексу, а чистовую фильтрацю уже делать в скрипте

Artur
23.10.2018
15:55:38
ну вот такой вариант я уже описывал

Dmitry
23.10.2018
16:18:17
могу предложить глянуть h3 уберовскую

Anton
23.10.2018
16:46:03
Короче мне религия не позволяет тебе советовать костылить в БД с этими гео локациями.
https://postgis.net/workshops/postgis-intro/indexing.html
посмотри по постгису на их индексы
они уже все сделают за тебя

Artur
23.10.2018
17:39:48

Sergey
23.10.2018
17:41:55

Artur
23.10.2018
17:42:30
по ссылке поиск двух точек созраненных в бд - очевидно по ним построены индексы
у меня точка - гео пользователя
магнитить/округлять его даст еще большую погрешность
в реалтайме фулсканом искать значение муветон

Sergey
23.10.2018
17:43:20
дежавю. Индекс по выражению?

Artur
23.10.2018
17:43:27
какому

Sergey
23.10.2018
17:43:47

Artur
23.10.2018
17:43:48
какие параметры должны ьбыть на вхзоде в индекс

Google

Sergey
23.10.2018
17:44:05
а какие параметры у тебя есть?

Artur
23.10.2018
17:44:25
lat lng ?

Sergey
23.10.2018
17:44:25
тебе надо из данных которые у тебя есть сформировать поинты и по ним индекс строить

Artur
23.10.2018
17:44:37
и distance
фулсканом
не индексы строить а перебирать базу
у меня без фулскана работает
вот думаю как улучшить:
https://en.wikipedia.org/wiki/Vincenty%27s_formulae
Direct Problem

Anton
23.10.2018
19:07:47
Читал это? https://www.compose.com/articles/geofile-everything-in-the-radius-with-postgis/

Maksim
23.10.2018
19:33:33
ну, мол, если какая-то обезьяна загрузит 100500 данных в оперативку, то будет скачок. резко так при чём с 30 метров до 100500 метров. чё тут дебажить-то

Anton
23.10.2018
19:56:10
я думаю имется ввиду ситуация когда память по какой-то причине не совсем статичная имеет непонятные скачки на этапе разработки.
для не демонов обычно запускают профайлер по запросу и смотрят что там происходило. либо же если баг плавающий, то могут на продакшен заслать чтобы у клиентов с некоторой вероятностью профилировать.
и отсюда возникает вопрос, как для демонов нечто подобное замутить и имеет ли смысл.
Возможно тебе стоит раскрыть именно тему, "что профилирование там нафиг не сдалось."

Maksim
23.10.2018
19:57:28
ну можно прикрутить довольно статичную метрику, которая будет орать при постепенном увеличении потребляемой памяти (читай, утечка).
ладно, будем думать дальше) спасибо

Artur
23.10.2018
21:37:39

Sergey
23.10.2018
21:38:10
там вообще жопа

Artur
23.10.2018
21:38:28
хммм

Sergey
23.10.2018
21:38:30
с их этим "мы не хотим как все, для секьюрности свою систему координат юзать будем"

Artur
23.10.2018
21:38:41
я в курсе что там нет адресов но щас проверю итоговую формулу на китае

Google

Sergey
23.10.2018
21:39:46

Artur
23.10.2018
21:42:18
ам ну ок )

Roman
24.10.2018
11:40:53
Привет, может есть кто интегрировал платежку Stripe и мог бы помочь? Интересует конкретно реализация скидок, то есть чтобы был инпут с купоном и соответственно после ввода купона сумма оплаты была меньше. Если кто есть, напишите плиз в личку)

Marcus
24.10.2018
11:41:59
Кто заказчика впустил? Просили же всякую гадость с улицы не тащить!

Anton
24.10.2018
11:42:59

Roman
24.10.2018
11:44:09
я не понял твой вопрос

Anton
24.10.2018
11:44:54
не нужно делать на страйпе скидки.
ты просто должен уменьшать стоимость на своем бэкенде.

Roman
24.10.2018
11:46:28
и купоны у себя хранить?

Anton
24.10.2018
11:46:59
ну да
или там страйп слишком умным стал, что готов на себя и скидочные купоны взять

Roman
24.10.2018
11:47:46
ну типа того
вроде)
на то и вопрос, что я до конца не разобрался)

Anton
24.10.2018
11:48:47
ну короче. читай тогда доки их

Maksim
24.10.2018
11:48:53
но скидки я бы на них не завязывал. бизнесс - он такой. Потом начнётся ебалака

Roman
24.10.2018
11:50:06
кто-нибудь делал скидочные купоны на страйпе?

Bohdan
24.10.2018
11:52:45
если бы делал - тебе бы уже ответили

Stepan
24.10.2018
12:34:03
Стайп не только платежний шлюз, у них есть свой внутренний стор для магазинов и когда формируется заказ, его можно формировать из того стора, вот только не уверен на счет купонов, но для них тогда надо формировать обект цени, где включается сума заказа, сума скидки, промежуточная сума и тд и все ето должно совпадать.
ми делали у себя по принципу купон обрабанивается на нашей стороне, а страйп знает только от том що на конкретний заказ действует скидка в виде такой то сумми от заказа

Google

Maksim
24.10.2018
13:01:50
а есть тут кто из конторы под названием noveo?)

dypa
24.10.2018
13:14:16

Maksim
24.10.2018
13:14:41

Anton
24.10.2018
13:19:10
зайти всегда стоит, по моему мнению

Ihor
24.10.2018
13:19:19

Anton
24.10.2018
13:19:31
это же как проверка себя и ребят вокруг

Maksim
24.10.2018
13:19:42
да чёт набегался уже как-то

dypa
24.10.2018
13:19:53

Maksim
24.10.2018
13:20:38

Anton
24.10.2018
13:22:16

dypa
24.10.2018
13:25:26

Maksim
24.10.2018
13:28:28

Anton
24.10.2018
13:32:41
А накиньте вопросов всяких
тупых и не очень

Maksim
24.10.2018
13:34:20
что такое ооп