Существует ли оптимизированный способ использования UUID в качестве идентификации строки в RDBMS? - PullRequest
0 голосов
/ 04 января 2019

Я разрабатываю приложение, которое использует базу данных MySQL. Приложение выросло до такой степени, что оно работает на нескольких компьютерах в одной сети и имеет одну центральную базу данных, работающую на сервере. Все данные распределяются между сервером и ПК. Я сделал синхронизацию, которая работает с сервера на ПК, но у меня возникают некоторые проблемы с синхронизацией новых данных из-за уникальных первичных ключей.

На данный момент я использую составное решение первичного ключа, где каждый распределенный ПК и БД имеют определенный идентификатор, а идентификатор составляется в первичном ключе с увеличением другого идентификатора. Я хотел бы иметь возможность генерировать уникальный идентификатор из приложения перед вставкой в ​​БД и иметь возможность легко синхронизировать новые данные на сервере. Я много читал о UUID и их проблемах с кластеризацией в базах данных. Мой вопрос: каков наилучший и правильный способ решения проблемы синхронизации распределенных баз данных и коллизий с первичными ключами?

Однажды я подумал о том, что если бы у меня был один первичный ключ автоинкремента int только для кластеризации и второй двоичный столбец UUID уникального ключа (16) для идентификации и отношений внешнего ключа? Будет ли добавление производительности лучше?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...