metaclass: (Default)
[personal profile] metaclass
В итоге, в разборки насчет использования [livejournal.com profile] dmzlj postgresql под приличной нагрузкой в системе GPS-мониторинга подключили всех до кого смогли дотянутся, вплоть до разработчиков postgresql.

Я потерял нить обсуждения где-то в конце, но судя по результатам, ключевой аспект шизы был в двух вещах: фрагментированность данных и индекса (условно говоря - на каждую интересующую нас запись нужно было читать целую страницу данных, в которой все остальное нас не касалось) и нехватка памяти для кэша, в результате чего все начинало тормозить.

В качестве решения проблемы в итоге предложили какое-то хитрое двухуровневное партиционирование, которое должно устранить проблему фрагментации - сначала партиционировать сильно актуальные данные (текущий день(неделя, месяц)) по hash id объекта, затем переносить данные в партиции по времени кусками с одинаковыми id чтобы избежать фрагментации.

Date: 2010-03-26 08:02 am (UTC)
From: [identity profile] vp.livejournal.com
Ну вот и нахера такая плотность? Кто мне объяснит? :)

Date: 2010-03-26 08:09 am (UTC)
From: [identity profile] denisioru.livejournal.com
Это немного же. В средем одна точка каждые 30-34 сек. Где-то чаще, где-то реже. Это для объектов по городу, дабы трек рисовался поточнее.

Date: 2010-03-26 08:20 am (UTC)
From: [identity profile] vp.livejournal.com
А давайте одну запись записывать в базу не 1 раз, а 5? Будет еще плотнее.
Это неправильная постанвока вопроса.
Критерий - трек должен быть адаптивным, то есть отрисовка должна быть по критериям поворотов на заданный угол, ускорения и замедления. Плюс гарантированный минимальный период передачи.
У нас по опыту любая специфичная бизнес-логика отрабатывает на настройках 60 минут 15 градусов. Передача идет всегда, и во время стоянок, и ночью. В результате получается с самой психопатической техники типа карьерного самосвала, который ишачит в 3 смены, не более 3000 точек в день, из которых мы можем сделать что угодно.
Хинт: да, бывает неприятная ситуация, когда наша точка интереса находится на пути трека, но по критерию передачи в этой точке не было. У нас на такие случаи отрабатываются механизмы "виртуальных точек". Считается геометрическое пересечение и в этой точке "придумывается" как будто была передача.

Date: 2010-03-26 08:28 am (UTC)
From: [identity profile] denisioru.livejournal.com
Я почему и упомянул слова "стоянки", "движение". Эту интеллектуальную работу выполняет трекер: при движении показания снимаются раз в 15 секунд, но не реже каждых 100 метров, при повороте более чем на 7 градусов - раз в секунду, при стоянке - раз в минуту.

Date: 2010-03-26 08:45 am (UTC)
From: [identity profile] vp.livejournal.com
критерий передачи по расстоянию - очень мутная и спорная вещь. Мы от него отказались.
Причина: превращается в тыкву как только автобус выедет за город и понесется быстро. :)

Есть интересный критерий, который я видел в Автографах: там частота передачи обратно пропорциональная скорости. Весьма интересные результаты. Особенно подходит когда начинается какое-то маневрирование и т.п. Но там тупо нет критерия по углу, а без него это тоже работает плохо.

Date: 2010-03-26 08:53 am (UTC)
From: [identity profile] kiryl.livejournal.com
Ребе, тупой вопрос: а угол считается просто по вектору движения или есть какой-нить компас?

Date: 2010-03-26 09:03 am (UTC)
From: [identity profile] metaclass.livejournal.com
В обычных приемниках - только вектор.
А в особо гуманных есть и магнитный компас и акселерометры и прочая шиза.

Date: 2010-03-26 09:08 am (UTC)
From: [identity profile] kiryl.livejournal.com
А акселерометры зачем?

Date: 2010-03-26 09:14 am (UTC)
From: [identity profile] denisioru.livejournal.com
Видимо, контролировать насколько водила топит :)

Date: 2010-03-26 09:04 am (UTC)
From: [identity profile] denisioru.livejournal.com
В трекерах часто из NMEA вычленяется еще и направление движения.

Date: 2010-03-26 09:07 am (UTC)
From: [identity profile] metaclass.livejournal.com
Его считает приемник исходя из вектора движения.

Date: 2010-03-26 09:15 am (UTC)
From: [identity profile] vp.livejournal.com
по вектору

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 24th, 2025 10:30 pm
Powered by Dreamwidth Studios