|
|
|
GUID-ключи хуже для распределенных БД, чем числовые
|
|||
|---|---|---|---|
|
#18+
MasterZivавторПри использовании GUID-ключей конечно проще обеспечивать их глобальную уникальность, но гораздо сложнее потом консолидировать данные? Как это обычно делается? GUID даёт уникальность , тебе же нужна не только уникальность, а ещё и сериализованность процесса создания твоих записей. Т.е. тебе нужно строго упорядочить записи в каждой БД (и возможно глобально тоже) в порядке (видимо) их появления. Для этого GUID не подходит, для этого нужен какой-то упорядочивающий критерий. Время появления записи -- достаточно хороший критерий. Можно и счётчик, но счётчик будет заведомо уникален только в рамках одной БД, не глобально.Есть несложное (сравнительно) решение для любого типа ключа - хоть автоинкремент, хоть GUID, хоть что разработчику в голову взбредет: 1) создаем буферную табличку; 2) на интересующую таблицу в исходной БД вешаем триггер, из которого вставляем ключ новой записи в буферную таблицу. 3) периодически запросом читаем содержимое буфера. 4) если что-то есть, грузим записи (хоть по одной штуке) по полученным ключам куда надо. 5) после загрузки чистим буферную таблицу от уже загруженых ключей. Т.е., получаем "рукопашную репликацию", если стандартное решение "не устраивает"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 19:48 |
|
||
|
GUID-ключи хуже для распределенных БД, чем числовые
|
|||
|---|---|---|---|
|
#18+
MasterZivуровни изоляции тут ни при чём, вообще, в топике. Может и ни при чём, но именно с их помощью проще всего делается получение из БД консистентных данных. Конечно, для каждой отдельной СУБД могут быть и другие решения этой задачи. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 19:57 |
|
||
|
GUID-ключи хуже для распределенных БД, чем числовые
|
|||
|---|---|---|---|
|
#18+
Добавляем битовое поле. Апдейтим его 1. У всех записей, которые появится после этого будет не 1. Копируем все с 1. Удаляем все с 1. Начинаем заново. Битовое меняем на инт. Пишем туда каждый раз новое значение(+1), в другую таблицу пишем его, время, количество записей - получается лог операций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2013, 10:47 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38300623&tid=1541165]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 468ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...