Должен ли я учитывать краткосрочные несоответствия при разработке бизнес-моделей?
Когда элемент схемы удаляется, процесс изменения схемы выглядит следующим образом: public -> только запись -> только удаление -> реорганизация -> отсутствует.
Если удаляемым элементом является таблица, этот процесс работает только с информацией схемы таблицы и не влияет на данные. Поэтому данные согласуются.
Однако, похоже, что процесс перехода от "публичного" к "только для записи" не является атомарным. В этом процессе вы не можете запросить эту таблицу сначала на некоторых узлах, а затем вы не можете запросить эту таблицу на всех узлах. Аналогично, в процессе переключения "только запись" на "только удаление" вы не можете вставлять данные в часть узлов, и постепенно вы не можете вставлять данные во все узлы. Короткое несоответствие существует в обоих условиях.
Если это так, должен ли я учитывать короткую несогласованность при разработке нашей бизнес-модели на основе TiDB?
1 ответ
Нет необходимости рассматривать проблему несоответствия.
Когда вы выполняете DDL в кластере, существует не более двух состояний схемы между разными узлами TiDB в определенный момент времени. Таким образом, до завершения процесса перехода с "открытого" на "только для записи" некоторые узлы в кластере все еще являются общедоступными, а некоторые - только для записи.