-
Data: 2011-07-25 13:21:20
Temat: replikacja prostej bazy - czy da się lepiej?
Od: Szyk <s...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
Następne wpisy z tego wątku
- 25.07.11 15:47 Mariusz Marszałkowski
- 25.07.11 18:49 Michoo
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg
- 2025-01-05 Żarówka do lampy z czujnikiem ruchu
- 2025-01-05 Rozkręcają się
- 2025-01-04 pozew za naprawę sprzętu na youtube
- 2025-01-04 gasik
- 2025-01-04 13. Raport Totaliztyczny: Powszechna Deklaracja Praw Człowieka Nie Chroni Przed Wyzyskiem Ani Przed Eksploatacją