В PostgreSQL 18 появится функция uuidv7(), предназначенная для улучшения управления идентификаторами, но её преимущества требуют объективной оценки. Она предлагает безопасное слияние данных, генерацию ключей в параллельных процессах и возможность маскировки времени создания записи. В отличие от автоинкрементных идентификаторов и UUIDv4, uuidv7() особенно полезна для систем, где важен хронологический порядок данных.
Самодельные бенчмарки часто фокусируются на скорости генерации идентификаторов, что нерелевантно, так как генерация происходит быстрее, чем вставка записей. Более важными являются темп вставки в одно- и многопоточном режимах и производительность SQL-запросов. Официальный бенчмарк необходим для сравнения uuidv7() с автоинкрементными значениями и другими типами идентификаторов, таких как UUIDv4, ULID и Snowflake ID.
Бенчмарк должен работать как функция с входным параметром типа идентификатора и опциональными параметрами размера таблицы и поля данных. Тестовые запросы, выполняемые на каждом шаге бенчмарка, должны включать операции INSERT, параллельную вставку, JOIN, GROUP BY и DELETE, измеряя время выполнения.
В отчете бенчмарка должны быть указаны время запуска, входные параметры, название шага, темп обработки, использование CPU, памяти и диска. Это позволит клиентам объективно оценить производительность и сделать обоснованный выбор типа идентификатора для своих задач и оборудования, исключая необходимость в самодельных некачественных тестах.
Изображение носит иллюстративный характер
Самодельные бенчмарки часто фокусируются на скорости генерации идентификаторов, что нерелевантно, так как генерация происходит быстрее, чем вставка записей. Более важными являются темп вставки в одно- и многопоточном режимах и производительность SQL-запросов. Официальный бенчмарк необходим для сравнения uuidv7() с автоинкрементными значениями и другими типами идентификаторов, таких как UUIDv4, ULID и Snowflake ID.
Бенчмарк должен работать как функция с входным параметром типа идентификатора и опциональными параметрами размера таблицы и поля данных. Тестовые запросы, выполняемые на каждом шаге бенчмарка, должны включать операции INSERT, параллельную вставку, JOIN, GROUP BY и DELETE, измеряя время выполнения.
В отчете бенчмарка должны быть указаны время запуска, входные параметры, название шага, темп обработки, использование CPU, памяти и диска. Это позволит клиентам объективно оценить производительность и сделать обоснованный выбор типа идентификатора для своих задач и оборудования, исключая необходимость в самодельных некачественных тестах.