Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Одобрите выбор [D7, IB6.x]


RomanH ©   (2006-04-06 17:51:00) 

Здраствуйте мастера. Подскажите на правильном ли я пути.
Существуют Центральная база данных и несколько удаленных БД. Данные из УБД будут реплицироваться в ЦБД .
1. БД-InterBase6(возможность задания начального значения счетчика, то есть в ЦБД счетчик начинается с 0 до 100000, в 1УБД с 100000 до 200000 в 2УБД с 200000 до 300000)то есть ID в каждой БД будет уникальным.
2.Архитектура-трехзвенная. Потому что в некоторых филиалах существует сеть, а требования должны быть минимальными.
А в тех филиалах где ее нет, может когда-нибудь появится и я просто установлю клиент не устанавливая InterBase Client.


Соловьев   (2006-04-07 15:30:00) [1]

Сам занимаюсь уже 1,5 года репликацией по почте, сначала был составной ключ, сейчас перешли на гуиды - удобнее не более того.
Составной ключ лучше тем что по нем сразу можно сказать где запись была создана, а по гуиду нет. По составному ключу легче искать ошибки, но их почти не будет с гуидом...
Тут автору терять времени долго не стоит, намного больше проблем у него возникнет не с пересечением адишников, а с ошибками при обновлении... Тут уже совета дать не могу все зап\висит от задач и требований пользователей.


tesseract   (2006-04-06 21:38:00) [2]


> Несовсем, если испльзовать такой вариант, то клиента идетафицировать
> по 4 байту integer или 7-8 in64.

вообще-то все имели в виду. дополнительно  неуникальное поле.


Виталий Панасенко   (2006-04-06 18:20:00) [3]

Использовать в качестве ключа GUID-поля - отпадает необходимость делить значение генератора по УБД/ЦБД. FIBPlus умеет их эмулировать, на WWW.IBASE.RU есть ссылка на UDF. Как-никак обещают 100 лет гарантии, что данные не пересекутся. Но нужна сетевая карта.


atruhin   (2006-04-06 18:20:00) [4]


> Спасибо за совет, то есть я правильно вас понял.

Несовсем, если испльзовать такой вариант, то клиента идетафицировать по 4 байту integer или 7-8 in64.


RomanH   (2006-04-06 18:17:00) [5]

Спасибо за совет, то есть я правильно вас понял. Излагаю:
А=  ID=0000001  номер в справочнике в ЦБД
В=  ID=100001 номер в справочнике в 1УБД
С=  ID=200001 номер в справочнике в 2УБД
Если B->A то по первой еденичке мы определяем что запись пришла из из B


atruhin   (2006-04-06 18:10:00) [6]

>>Введи ещё и префикс базы.
Есть такой проект, получается составной первичный ключ, неудобно, хотя надежней. Решать разработчику, хотя я бы не советовал


tesseract   (2006-04-06 18:07:00) [7]


> Плохо. Сегодня сто тысяч достаточно, а завтра?

Введи ещё и префикс базы. Дабы знать откуда документ пришёл.


atruhin   (2006-04-06 18:01:00) [8]


> то есть в ЦБД счетчик начинается с 0 до 100000,

Плохо. Сегодня сто тысяч достаточно, а завтра? Я в подобном случае использовал int64 (можно integer в зависимости отзадачи) старший байт номер станции.

> Архитектура-трехзвенная.


> и я просто установлю клиент не устанавливая InterBase Client.

Одно к другому отношения имеет мало, IBClient это одна dll, можно положить в папку с программой и все.
Двух-трех звенная это давний холивар, ощутимых преимуществ (в общем) нет, поэтому, что лучше знаешь на том и пиши. На требования сети это обычно не влияет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо