Распределенный Postgresql срач
В итоге, в разборки насчет использования
dmzlj postgresql под приличной нагрузкой в системе GPS-мониторинга подключили всех до кого смогли дотянутся, вплоть до разработчиков postgresql.
Я потерял нить обсуждения где-то в конце, но судя по результатам, ключевой аспект шизы был в двух вещах: фрагментированность данных и индекса (условно говоря - на каждую интересующую нас запись нужно было читать целую страницу данных, в которой все остальное нас не касалось) и нехватка памяти для кэша, в результате чего все начинало тормозить.
В качестве решения проблемы в итоге предложили какое-то хитрое двухуровневное партиционирование, которое должно устранить проблему фрагментации - сначала партиционировать сильно актуальные данные (текущий день(неделя, месяц)) по hash id объекта, затем переносить данные в партиции по времени кусками с одинаковыми id чтобы избежать фрагментации.
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Я потерял нить обсуждения где-то в конце, но судя по результатам, ключевой аспект шизы был в двух вещах: фрагментированность данных и индекса (условно говоря - на каждую интересующую нас запись нужно было читать целую страницу данных, в которой все остальное нас не касалось) и нехватка памяти для кэша, в результате чего все начинало тормозить.
В качестве решения проблемы в итоге предложили какое-то хитрое двухуровневное партиционирование, которое должно устранить проблему фрагментации - сначала партиционировать сильно актуальные данные (текущий день(неделя, месяц)) по hash id объекта, затем переносить данные в партиции по времени кусками с одинаковыми id чтобы избежать фрагментации.
no subject
С выбросами боремся тучей алгоритмов.
1. Если стоянка, то координата усредняется
2. изменения координат фильтруются вариацией на тему медианного фильтра
3. скорость постоянно пересчитывается вручную (есть недоверие к тому, что насчитывают приборы)
4. скользящими окнами высчитываются 2е производные на предмет "а не уплющило ли от такого скачка там водителя насмерть", и по таким критериям бракуются скачки как невозможные.
Вот пример картинки эффективности выбранных алгоритмов.
ЗЫ Конечно, когда имеет место залочка на приборы одного типа и они НОРМАЛЬНЫЕ, масса подобных мер не нужна :)
no subject
no subject
Например, последняя версия прибора - это сплошной греп и логи :)
no subject