Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 22:11 13.06.24 
Компютри и Интернет
   >> Бази данни
*Кратък преглед

Тема Репликация... IB / Firebirdнови  
Автор PhantomAS (стар ерген®)
Публикувано07.04.03 09:19



Няколко питания по въпроса - предварително се извинявам за неясното обяснение (може би)
1. Ще трябва да се боря с такова нещо - а не съм се занимавал с готовите продукти за това (по то4но съм си правил собствена доста ограничена система за това). Но сега проекта е по голям и няма да мога да използвам това което бях правил. Ще се радвам ако някой сподели малко опит и насоки с какво да се захвана първо.
Малко инфо за проекта - няма да бъде голям - едва ли ще надхвърля 100 000 реда - най-голямата таблица - около 10-15 полета предимно числа; около 10-15 таблици - повечето едва ли ще имат пове4е от 2-3000 реда.
Проблема е, че данните ще се модифицират на 2 места - т.е. - част от данните ще се модифицират на едно, а друга на друго място.

2. Във връзка с първото - дайте идеи за уникални първични ключове - мисля да ползвам числа (long int), но мисля, че ще е добре да различавам данните и по сървъри - примерно нещата правени на сървър 1 - 10000001,2,3... нещо подобно ,а на сървър 2 20000001,2,3
Милех да вкарвам отделна колона и първичния ключ да се състои от 2 полета - но няма смисъл - при положение, че едното поле ще е константно - по добре може би да ползвам тригер за дефиниране на първичния ключ в зависимост от сървъра.
Ще съм благодарен ако има някой който се е занимавал с това да сподели малко инфо .

Черпенето осигурено ;-)))

---
Е т'ва е живот!


Тема Re: Репликация... IB / Firebirdнови [re: PhantomAS]  
Автор NDeu (минаващ)
Публикувано07.04.03 14:37



1. Ако съм те разбрал правилно, IMHO задачата няма общо решение, но за отделните частни случаи може да се намери частно решение. Ако искаш прегледай:






2. Аз използвам следния механизъм:
- Определям първите няколко бита от Id да идентифицират сървъра (напр.5 позволяват да се работи с до 31 сървъра, 0 използвам за служебни цели)
- На всеки сървър при инсталацията присвоявам номер (1..31), който записвам в самата база.
- При определяне на Id използвам UDF които от стойността на съответния генератор и идентификатора на сървъра връща съответната стойност



Тема Re: Репликация... IB / Firebirdнови [re: NDeu]  
Автор PhantomAS (стар ерген®)
Публикувано08.04.03 09:05



Явно съм преоткрил топлата вода ;-) - по точка 2 нямаме различия, както успях да прочета и във връзките които ми изпрати.
За съжаление се обедих, че готов софтуер, който да извършва оптимална репликация няма ?!? За съжаление това което видях като софтуер е доста старо (най-новото е от 2000 - при това връзката не работи), което ме навежда на мислълта, че ще трябва пак да пиша мое решение - което никак не ми е приятно - най-малкото, че ще отнеме време и ресурси - които в момента нямам.

Интересува ме дали си пробвал Replication Server-a който върви с IB ? И въобще какво е поведението му - ако се ползва по dial-up канал и дали въобще е възможно?!?

---
Е т'ва е живот!


Тема Re: Репликация... IB / Firebirdнови [re: PhantomAS]  
Автор Topбaлaн (любопитко)
Публикувано08.04.03 09:58



ако правилно съм те разбрал....
при този обем данни ми изглежда по-разумно да си направиш пълна репликация - нека няма уникални първични ключове по сървъри...ще ти спести много код
от друга страна, ако искаш да помни кои данни на кой сървър са модифицирани/въведени/изтрити - нищо не ти пречи да си направиш една таблица, в която да помниш първичните ключове на модифицираните/въведени/изтрити полета, и тази таблица може да си стои кротичко на всеки сървър без да се репликира....



Тема Re: Репликация... IB / Firebird [re: PhantomAS]  
Автор NDeu (минаващ)
Публикувано08.04.03 12:17



За съжаление с Replication Server-а не съм работил

Връзките, които ти дадох са стари, защото проекта в който съм решавал този проблем беше от преди няколко години. Но можеш да потърсиш по-нови решения.


Редактирано от NDeu на 08.04.03 12:30.



Тема Re: Репликация... IB / Firebirdнови [re: Topбaлaн]  
Автор PhantomAS (стар ерген®)
Публикувано08.04.03 20:22



Не става - защото на две места ще се модифицират данните - а пък те са свързани ;-)) т.е. в една и съща таблица ще има модификации от две места (но отнасящи се за различни обекти) Реално канала ми поставя много кофти ограничения.
За пълното копиране - няма смисъл да се мисли - при база данни от 30 - 50 МВ ще е безумие за dial-up. Освен това с течение на годините данните ще растат, аз споменах данните само за 1 година ;-). Разбира се репликацията няма да засяга старите данни или тези което вече са синхронизирани.
Интересно ми е дали някой въобще се занимава с репликация при такива "ненормални условия" - имам предвид dial-up канала при това не на цифрова линия. Хубавото е че поне една от базите ще е on-line и връзката ще е през интернет.

---
Е т'ва е живот!


Тема мъхъмнови [re: PhantomAS]  
Автор Topбaлaн (любопитко)
Публикувано09.04.03 07:57



не съм добре запознат, но имах подобни терзания за репликации....
та питах когото трябва и ми беше отговорено, че базата данни (аз за MS SQL Qerver) е умна...не точи много информация по канала за репликацията...
само че - dial-up хич не ми звучи сериозно...

ти пълната репликация не си я представяй като копиране на целия файл...



Тема Re: мъхъмнови [re: Topбaлaн]  
Автор PhantomAS (стар ерген®)
Публикувано10.04.03 08:56



Ами чесно казано след като доста мислих и четох по проблема - единствения възможен избор за пълна (оптимална) репликация е на база на check суми на таблици - и ако се различават - check сума на всички редове (като може да се оптимизира - ако се направят check суми на колони - и да се махнат излишните колони за трансфер). Но за съжаление не виждам такова готово решение - реално то може да се направи за всеки SQL сървър - стига той да подържа функции за извеждане на check суми ?!? - а пък за такова нещо не съм чувал.
Реално моята идея е неприложима или трудно приложима -и избягва всякакви журнали и прочие методи ползвани при репликацията(е не съвсем остават някои колизии - но и за тях съм помислил).

Ако имаш инфо за метода който се използва при репликация в MySQL ( ако има нещо стандартно като при IB 6/7) ще се радвам да споделиш.

Проблема е доста интересен - и ако някой не се е сбъсквал - не е гаранция, че при съвременните комуникации няма да се сблъска ;-)

---
Е т'ва е живот!


Тема не, не съм се блъскал с ....нови [re: PhantomAS]  
Автор Topбaлaн (любопитко)
Публикувано10.04.03 10:19



IB / MySql
репликации съм правил само с хелп в едната ръка на MS SQL Server 2000 ама там проблеми няма - не се грижиш за нищо, освен да опишеш репликациите...
от там нататък - сървърът да му мисли...

представях си, че и в IB има нещо подобно...




*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.