Дубли в БД PstgreSQL на python

Ситуация следующая, есть алгоритм который каждые 6 сек берёт данные о 40 акциях с МосБиржи, и записывает в БД. Каждая акция отдаёт по 20 строк, но уникальность строк зависит от волатильности той или иной акции, т.е. не по каждой акции происходит обновление каждые 6 сек, и бывают дубли. А иногда бывают дубли 4-6 запросов подряд.

Пробовал решить вопрос просто сверкой на совпадение из списка if data in list: list - предварительно получался из БД методом SELECT * FROM shares; - но это ещё могло работать, когда в БД несколько тысяч записей, когда их уже по 30 млн на каждую акцию, достаточно тяжело работать так и не эффективно. Почти 170 000 строк в день попадает по каждой акции.

Потому стал в неделю выгружать в Excel файл, чистить от дублей, и заливать по новой. Но опять же, когда было 3-5 млн записей, ещё можно было так делать, хотя и не профессионально.

Собственно, вопрос: как можно избежать попадания дублей в БД, не пересоздавая её? Буду очень признателен любой помощи любым подсказкам.


Ответы (0 шт):