TimescalDB медленнее, чем чистый PostgreSQL
Я настроил TimescaleDB и Postgresql для тестирования производительности на временных последовательных данных. Я успешно настроил гипер-таблицу. Я тестирую со вставленными 2M строками из моей программы на C#. Но TimescaleDB работает намного медленнее, чем чистый Postgresql. Даже с TimescaleDB моя программа не отвечала после того, как вставила несколько сотен записей. Я не знаю почему. Кто-нибудь может дать мне подсказку? Или я что-то упустил?
1 ответ
Нам понадобится немного больше информации, чтобы точно определить, с какими проблемами вы сталкиваетесь. Если TimescaleDB вообще не отвечает после вставки нескольких сотен записей, похоже, что что-то определенно неправильно настроено, либо на уровне базы данных, либо на уровне системы. У клиента просто тайм-аут или это сопровождается какой-то ошибкой? Если процесс зависает, есть ли у вас какое-либо представление о том, что система делает в течение этого времени (например, много ли ввода-вывода, не загружен ли процессор?). Видите ли вы какие-либо блокировки в конфликте, когда это происходит (см. Мониторинг блокировок Postgres? Было бы также хорошо увидеть вашу модель данных и то, как была создана ваша гипертабельная таблица TimescaleDB).
Также обратите внимание, что TimescaleDB не обязательно будет превосходить Postgres с небольшим количеством строк и вставками в одну строку. TimescaleDB светится, когда вы нажимаете десятки миллионов строк и более и вставляете их в пакеты. См. PostgreSQL против TimescaleDB Blog Post для получения дополнительной информации.