Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];

Вниз

Одобрите выбор   Найти похожие ветки 

 
RomanH ©   (2006-04-06 17:51) [0]

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


 
atruhin ©   (2006-04-06 18:01) [1]


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

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

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


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

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


 
tesseract ©   (2006-04-06 18:07) [2]


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

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


 
atruhin ©   (2006-04-06 18:10) [3]

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


 
RomanH ©   (2006-04-06 18:17) [4]

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


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

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


 
atruhin ©   (2006-04-06 18:20) [6]


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

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


 
tesseract ©   (2006-04-06 21:38) [7]


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

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


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

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



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.011 c
2-1147610891
Silver_Wolf
2006-05-14 16:48
2006.05.28
Запрет


15-1146264001
Atratata
2006-04-29 02:40
2006.05.28
Помогите с анг. языком


10-1108066589
Pine
2005-02-10 23:16
2006.05.28
Задание формата ячеек типа "текст" в экселе созданного через OLE


3-1144317778
arhis
2006-04-06 14:02
2006.05.28
Запсиь результатов на лиск в BDE


2-1147605348
Mr tray
2006-05-14 15:15
2006.05.28
делает ли что-то exit в конце процедуры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский