eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingreplikacja prostej bazy - czy da się lepiej? › replikacja prostej bazy - czy da się lepiej?
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!ne
    ws.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!newsfeed.neostrada.pl!unt-e
    xc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED
    !not-for-mail
    Date: Mon, 25 Jul 2011 15:21:20 +0200
    From: Szyk <s...@o...pl>
    User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20110624 Thunderbird/5.0
    MIME-Version: 1.0
    Newsgroups: pl.comp.programming,pl.comp.lang.c
    Subject: replikacja prostej bazy - czy da się lepiej?
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Lines: 46
    Message-ID: <4e2d6dd5$0$2439$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.7.36.246
    X-Trace: 1311600086 unt-rea-a-01.news.neostrada.pl 2439 83.7.36.246:53841
    X-Complaints-To: a...@n...neostrada.pl
    Xref: news-archive.icm.edu.pl pl.comp.programming:191650 pl.comp.lang.c:295639
    [ ukryj nagłówki ]

    Witam

    Mam zamiar zrobić prostą aplikację opartą na bazie Sqlite z 4 tabelami
    do replikacji. Aplikacja ma być dostępna na PC i smartfony . Replikacja
    ma się odbywać między PC i smartfonami (standardowo z jednym) w pełni
    automatycznie. Rekordów będzie gdzieś 10k na dzień dobry, standardowo
    dziennie przyrastać będzie do 500 rekordów.

    Mam 2 przypadki replikacji:
    1) replikacja z nową wersją bazy (instalka nowej wersji programu)
    2) replikacja z bazami mobilnymi (na PC i smartfonach można dodawać nie
    zależnie dane do bazy które później muszą być synchronizowane)

    Mam taki pomysł:
    1) każda zainstalowana baza ma mieć ID 64bit generowane (nie
    sekwencyjne). Baza instalacyjna ma ID = 0
    2) ID rekordów we wszystkich tabelach bazi: unikalne, 64bit, generowane
    (nie sekwencyjne), ID Bazy i TimeStamp ostatniej modyfikacji (ID Bazy
    jest konieczne przy pierwszej replikacji, kiedy trzeba brać pod uwagę
    wszystko co nie wjechało z bazą instalacyjną)
    3) w bazie jest tabela "replikacja" z ID Bazy i datą ostatniej
    replikacji z tą bazą
    4) standardowo przy replikacji wybieram rekordy dodane, zmienione i
    usunięte po dacie ostatniej replikacji z daną bazą
    5) przy pierwszej replikacji pobieram tabelę "replikacja" bazy na
    smartfonie, sprawdzam czy się data zgadza z wersją na PC (baza musi mieć
    tą samą wersję) i pobieram wszystkie rekordy o ID bazy różne od 0.
    Podgrywam nowe rekordy na smartfon. Na koniec wrzucam odpowiednie
    rekordy z ID Bazy i datą do tablic "replikacja" na PC i smartfonie.


    Oczywistą wadą jest to, że każdy rekord w bazie będzie miał IDBazy z
    której pochodzi i będzie to wykorzystane tylko przy pierwszej
    replikacji. Jednak jest to konieczne bo ktoś może mieć pierwszą wersję
    bazy, dodać sobie jakieś rekordy ręcznie i aktualizować do drugiej
    wersji i dopiero potem replikować dane z PC. Gdyby nie było IDBazy i
    gdybym oparł się jedynie na dacie replikacji bazy 0 (instalacyjnej) to
    rekordy dodane ręcznie nie zostałyby replikowane.


    Pytanie:
    Czy macie lepszy pomysł jak zrobić replikację tej bazy?


    dzięki
    Szyk

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: