ďťż
 
synchronizacja danych wielu klientow? ďťż
 
synchronizacja danych wielu klientow?
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

synchronizacja danych wielu klientow?



=?ISO-8859-2?Q?Pawe=B3?= - 17-05-2006 00:40
synchronizacja danych wielu klientow?
  Witam!
Podczas pisania aplikacji nasunal mi sie pewnien problem. Jesli ktos zna
rozwiazanie lub wie gdzie mozna poczytac o tym prosze o odpowiedz.
Sprawa dotyczy wielu klientow korzystajacych z jednej bazy danych.
Jak sprawic by na kazdym kliencie byly widoczne te same dane tuz po
modyfikacji przez innego klienta?
Ja stworzylem sobie tabele odswiezania i w niej zaisuje znaczniki
czasu modyfikacji pozostalych tabel w bazie i pozniej klienci odpytuja
baze i sprawdzaja czy dane ktore maja sa juz nieaktualne.
Jednak takie rozwiazanie ma wady:
- odpytywanie nie moze byc za czeste zwlaszcza przy duzej liczbie
klientow poniewaz baza bedzie ciagle obslugiwac zapytania o odswiezanie
przez co wlasciwe zapytania beda wykonywac sie duzej
- istnieje mozliwosc ze pomiedzy jednym odswiezeniem a drugim ktos
odczyta nieaktualne dane

Jak to sie rozwiazuje profesjonalnie? Moze sa jakies mechanizmy baz
danych ktore to wspomagaja? Chodzi mi raczej o ogolne rozwiazania
niezalezne od DBMS.
Czy sa jakies ksiazki ktore mowia o tym zagadnieniu?





=?ISO-8859-2?Q?Micha=B3?= Kuratczyk - 17-05-2006 00:41

  Paweł wrote:
> Sprawa dotyczy wielu klientow korzystajacych z jednej bazy danych.
> Jak sprawic by na kazdym kliencie byly widoczne te same dane tuz po
> modyfikacji przez innego klienta?
Albo ja nie rozumiem w czym problem, albo relacyjne bazy danych z założenia
do tego między innymi służą. Po to są transakcje, żeby poszczególni
użytkownicy we właściwym momencie widzieli modyfikacje wykonane przez
innych użytkowników (nie wcześniej i nie później). Zarządzanie transakcjami
jest zrealizowane w różny sposób w różnych bazach, więc trzeba wiedzieć na
jakiej bazie się pracuje i jak ona działa, żeby sobie krzywdy nie zrobić.

Reasumując, niczego nie implementuj, tylko przeczytaj dokumentację swojej
bazy.

--
Michał Kuratczyk




=?iso-8859-2?Q?Andrzej_Str=F3=BFy=F1ski?= - 17-05-2006 00:41

 
Użytkownik "Michał Kuratczyk" napisał:
> Paweł wrote:
>> Sprawa dotyczy wielu klientow korzystajacych z jednej bazy danych.
>> Jak sprawic by na kazdym kliencie byly widoczne te same dane tuz po
>> modyfikacji przez innego klienta?
> Albo ja nie rozumiem w czym problem, albo relacyjne bazy danych z
> założenia
> do tego między innymi służą. Po to są transakcje, żeby poszczególni
> użytkownicy we właściwym momencie widzieli modyfikacje wykonane przez
> innych użytkowników (nie wcześniej i nie później). Zarządzanie
> transakcjami
> jest zrealizowane w różny sposób w różnych bazach, więc trzeba wiedzieć
> na
> jakiej bazie się pracuje i jak ona działa, żeby sobie krzywdy nie zrobić.
>
> Reasumując, niczego nie implementuj, tylko przeczytaj dokumentację swojej
> bazy.

Podejrzewam, że chodzi tu o aktualizację np. jakiegoś browse'a na kliencie
jeśli ktoś inny zmodyfikuje przeglądaną tabelę. Czy tak? (to oczywiście
pytanie do Pawła)

pozdrawiam
A.S.




zarafiq@poczta.onet.pl - 17-05-2006 00:41

  > Witam!
> Podczas pisania aplikacji nasunal mi sie pewnien problem. Jesli ktos zna
[...]

Firebird ma 'events'.

Pozdrawiam
zarafiq

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





=?ISO-8859-2?Q?Pawe=B3?= - 17-05-2006 00:41

  Andrzej Stróżyński napisał(a):
>
> Użytkownik "Michał Kuratczyk" napisał:
>> Paweł wrote:
>>> Sprawa dotyczy wielu klientow korzystajacych z jednej bazy danych.
>>> Jak sprawic by na kazdym kliencie byly widoczne te same dane tuz po
>>> modyfikacji przez innego klienta?
>> Albo ja nie rozumiem w czym problem, albo relacyjne bazy danych z
>> założenia
>> do tego między innymi służą. Po to są transakcje, żeby poszczególni
>> użytkownicy we właściwym momencie widzieli modyfikacje wykonane przez
>> innych użytkowników (nie wcześniej i nie później). Zarządzanie
>> transakcjami
>> jest zrealizowane w różny sposób w różnych bazach, więc trzeba
>> wiedzieć na
>> jakiej bazie się pracuje i jak ona działa, żeby sobie krzywdy nie zrobić.
>>
>> Reasumując, niczego nie implementuj, tylko przeczytaj dokumentację swojej
>> bazy.
>
> Podejrzewam, że chodzi tu o aktualizację np. jakiegoś browse'a na
> kliencie jeśli ktoś inny zmodyfikuje przeglądaną tabelę. Czy tak? (to
> oczywiście pytanie do Pawła)
>
> pozdrawiam
> A.S.
>
Tak! Chodzi o to ze powiedzmy jest wyswietlana lista produktow. I w tym
czasie w innym kliencie ktos zmieni ta liste np usunie produkt. To jaki
jest mechanizm zeby ta lista sie zaktualizowala?




=?ISO-8859-2?Q?Micha=B3?= Kuratczyk - 17-05-2006 00:41

  Paweł wrote:
> Tak! Chodzi o to ze powiedzmy jest wyswietlana lista produktow. I w tym
> czasie w innym kliencie ktos zmieni ta liste np usunie produkt. To jaki
> jest mechanizm zeby ta lista sie zaktualizowala?
Wykorzystaj to co daje Twoja baza tym zakresie. Np. w OraclE:
http://download-uk.oracle.com/docs/c...n.htm#ADFNS018

--
Michał Kuratczyk




=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 17-05-2006 00:41

  Paweł wrote:
> Witam!
> Podczas pisania aplikacji nasunal mi sie pewnien problem. Jesli ktos zna
> rozwiazanie lub wie gdzie mozna poczytac o tym prosze o odpowiedz.
> Sprawa dotyczy wielu klientow korzystajacych z jednej bazy danych.
> Jak sprawic by na kazdym kliencie byly widoczne te same dane tuz po
> modyfikacji przez innego klienta?
> Ja stworzylem sobie tabele odswiezania i w niej zaisuje znaczniki
> czasu modyfikacji pozostalych tabel w bazie i pozniej klienci odpytuja
> baze i sprawdzaja czy dane ktore maja sa juz nieaktualne.
> Jednak takie rozwiazanie ma wady:
> - odpytywanie nie moze byc za czeste zwlaszcza przy duzej liczbie
> klientow poniewaz baza bedzie ciagle obslugiwac zapytania o odswiezanie
> przez co wlasciwe zapytania beda wykonywac sie duzej
> - istnieje mozliwosc ze pomiedzy jednym odswiezeniem a drugim ktos
> odczyta nieaktualne dane
>
> Jak to sie rozwiazuje profesjonalnie? Moze sa jakies mechanizmy baz
> danych ktore to wspomagaja? Chodzi mi raczej o ogolne rozwiazania
> niezalezne od DBMS.
> Czy sa jakies ksiazki ktore mowia o tym zagadnieniu?

No to właśnie zrobiłeś najlepsze uniwersalne rozwiązani! Co wy sie
czepiliście tej uniwersalności? Uniwersalność i wydajność w większości
przypadków się wykluczają!

--
P.M.




=?ISO-8859-2?Q?Pawe=B3?= - 18-05-2006 00:16

  Paweł Matejski napisał(a):
> Paweł wrote:
>> Witam!
>> Podczas pisania aplikacji nasunal mi sie pewnien problem. Jesli ktos zna
>> rozwiazanie lub wie gdzie mozna poczytac o tym prosze o odpowiedz.
>> Sprawa dotyczy wielu klientow korzystajacych z jednej bazy danych.
>>
>> Jak to sie rozwiazuje profesjonalnie? Moze sa jakies mechanizmy baz
>> danych ktore to wspomagaja? Chodzi mi raczej o ogolne rozwiazania
>> niezalezne od DBMS.
>> Czy sa jakies ksiazki ktore mowia o tym zagadnieniu?
>
> No to właśnie zrobiłeś najlepsze uniwersalne rozwiązani! Co wy sie
> czepiliście tej uniwersalności? Uniwersalność i wydajność w większości
> przypadków się wykluczają!
>
>
>

To poprosze o napisanie jak to sie robi w konkretnych DBMS w takim razie.




Artur Muszynski - 18-05-2006 00:16

  > Tak! Chodzi o to ze powiedzmy jest wyswietlana lista produktow. I w tym
> czasie w innym kliencie ktos zmieni ta liste np usunie produkt. To jaki
> jest mechanizm zeby ta lista sie zaktualizowala?

W SQL serverze jest notification services. Jednak aplikacje zwykle nie
korzystają z takich mechanizmów, bo wiążą się z nimi ograniczenia i problemy
(często serwer nie może się łatwo dostać do klienta). Zamiast tego robi się
przycisk Odśwież. Odświeża się listę po operacjach (można to w miarę
inteligentnie zrobić, żeby nie generować zbędnego ruchu). Natomiast przy
aktualizacjach stosuje się podejście zwane po angielsku optimistic
concurrency. Jeśli bardzo potrzeba, to się stosuje po prostu próbowanie
zmian co jakiś okres (ale z tym trzeba bardzo uważać, bo bardzo łatwo
zarżnąć serwer).

artur
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= =?iso-8859-2?Q?=5BMySQL=5D_Wy=B6wietlenie_wszystkich_rekordow _zawierajacy?==?iso-8859-2?Q?ch_duplikat_a__moze_inna_struktura_bazy_danych ?= Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8 [laik]Jak =?ISO-8859-2?Q?stworzy=E6/zaczac_tworzyc__ma=B3=B1?==?ISO-8859-2?Q?__baz=EA_danych_na_potrzeby_www=3F?= [mysql] przenoszenie danych =?ISO-8859-2?Q?mi=EAdzy_tabelami_?==?ISO-8859-2?Q?w_r=F3=BFnych_bazach?= Ksiazka - "Podstawowy =?ISO-8859-2?Q?wyk=B3ad_z_system=F3w_?==?ISO-8859-2?Q?baz_danych=22?= Zrywanie =?ISO-8859-2?Q?po=B3aczen_z_baza_danych_-_pos?==?ISO-8859-2?Q?tgresql_=3C-=3E_odbc?= Połączenie bazy danych z wykonaniem polaczenia telefonicznego [mssql] insert do tabeli na podstawie danych z innej tabeli [oracle] Baza danych do kursy Introduction to Oracle9i:PL/SQL ? Skąd ją pobrać ?
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • ponland.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com