• Как написать программу управления модулем взвешивания Масса-К?

    hint000
    @hint000
    у админа три руки
    как осуществить обмен данными по последовательному каналу связи (виртуальный COM порт) с весами, нахожу только как писать драйвера для USB устройств с большим объемом USB тории.
    USB тут вообще побоку. Для начала можете взять эмулятор терминала, умеющий работать с COM-портом (для винды годится Hyperterminal или PuTTY), подключиться к порту с правильными параметрами и руками набирать команды по протоколу, глазами смотреть ответы. Как только на этом этапе наступит просветление, можно гуглить, как на C++ работать с COM-портом (на базовом уровне ничего сложного, примеров в сети должно быть навалом). А ещё можно попробовать промежуточной прослойкой вставить такую штуку https://www.google.com/search?q=insat+modbus+opc+server но это довольно костыльный вариант, просто почему-то он имеет популярность ¯\_(ツ)_/¯
    Ответ написан
    Комментировать
  • Где и как хранить таблицу на 1 миллиард записей?

    Melkij
    @Melkij
    PostgreSQL DBA
    Определитесь с тем как вы будете удалять эти данные.

    3 колонки id, factor_id, parcel_id

    Данную таблицу не надо анализировать или агрегировать. Нужно только иметь возможность быстро вставить и прочитать запись.

    Очень большое сомнение что вам здесь нужен id вместо составного pk.

    увеличивается примерно на 100к записей в день

    Т.е. сейчас у вас данные за 15 лет работы и вас беспокоит что будет ещё через 15 лет? Ну просто пересчитав указанные объёмы вставки.

    В полновесном MVCC транзакционнике PostgreSQL очень маленькие строки держать несколько дорого именно по месту, заголовок строки большой.

    3 колонки id, factor_id, parcel_id

    24 да 3*8 байт если эти поля считать bigint'ами, да на лярд записей... порядка 25гб плюс-минус. Фигня вопрос вообще-то. У вас проблема-то есть? Или просто руки чешутся?
    Ответ написан
    4 комментария