dane z XMLa w data set czy kolekcji?

0

Witam,
mam takie pytanie:
Zabrałem się dziś za małą przeróbkę pewnej aplikacji bazodanowej. Główna idea była taka aby wywalić całą obsługę bazy danych a dane przechowywać tylko i wyłącznie w XMLu. I tutaj pojawił się problem. W pierwotnej wersji programu wykorzystany był model bezpołączeniowy i co za tym idzie data set z całym orszakiem data table'ii. Teraz natomiast zastanawiam się czy nie lepiej wywalić cały ten fragment i po prostu z XML'a wczytać do poczciwej kolekcji i na niej pracować(edycja,dodawanie,usuwanie i ponowny zapisać do bazowego XML'a). Które rozwiązanie jest lepsze? Czy może jest trzecie-najlepsze rozwiązanie?

0

Czy w tym przypadku XML będzie na pewno lepszy od DBMS? To jest aplikacja działająca tylko na jednym stanowisku i nie potrzeba komunikacji między innymi końcówkami?
Moim zdaniem, trzeba sobie odpowiedzieć na pytanie jak często będzie szedł zapis do takiego XML'a i jak szybko ten plik będziesz potrzebował otworzyć zaraz potem ze świeżymi danymi.
Jeśli chodzi o samo trzymanie danych z pliku w pamięci, to najlepiej sobie to chyba serializować, później obrobić i zapisać. Ja tak zwykle robię, ale większość operacji w moim przypadku to czysty odczyt.

0

XML jest wymuszony głównie "musem" prostoty. Osoby korzystające z aplikacji potrafią jedynie klikać w ikonkę na pulpicie i ich w sumie jedynym zadaniem będzie przeglądanie i szukanie/filtrowanie, zestawianie itd. Edycją i dodawaniem ma zajmować się jedna osoba która wie trochę więcej. Dodatkowym powodem plan na przyszłość, zakładający użycie tej "bazy" na stronie www, choć na dziś nie ma nic sprecyzowanego, nawet dostępnej na nim bazy. W związku z tym XML wydaje się najlepszym rozwiązaniem. Dodatkowo ta "baza" jest malutka. Na dziś dzień 2 tabelki po ok 50 rekordów, bez żadnych relacji między tabelami-prosty spis. Podobnie jak z stroną www, są jakieś plany na przyszłość, ale są one dość mgliste i zapewne rozwój aplikacji będzie spowodowany jakimiś nowymi pomysłami na funkcjonalność które wyjdą w praniu. No i zastosowanie samych danych też nie jest jeszcze określone-może po za www coś mobilnego? Dlatego format XML na dziś dzień nie podlega dyskusji.

Kiedyś w jakimś podręczniku trafiłem na zdanie mówiące o tym w czym lepiej trzymać takie dane(czy kolekcja czy dataset)niestety było to dość dawno a ja za cholerę nie mogę przypomnieć sobie tytuły. W googlach z wartościowych rzeczy znalazłem jedynie link do nieaktualnej strony w MSDNie. Kiedyś podobny projekt realizowałem równolegle z kolegą(tam chodziło o archiwalne notowaniach i gre na nich w celach szkoleniowych) ja skorzystałem z XML i kolekcji a on z bazy MS i dataseta i choć baza była obszerna(np 10 walut po ok 3k notowań z każdej) to moja wersja okazała się 100x lepsza(głównie przez właśnie użytkowników którzy robili czasami dziwne rzeczy no i jakieś aktualizacje danych bywały kłopotliwe). Często zdarzało się nawet że "gra" odbywała się na komputerach bez dostępu internetu i najnowszą wersję danych trzeba było rozdawać na jakiś nośnikach, choć w założeniach miał być na 100% zawsze internet.

Teraz może być podobnie, ale pewnie danych na początek będzie mniej. Najprościej było by to wrzucić do excela..tylko że jak już wspominałem to pierwszy krok, przed pewnie dłuższym marszem, a najbardziej badziewna aplikacja może stać się wyjściem do czegoś większego. Dlatego właśnie chciałem od początku zrobić to tak, żeby potem nie musieć 6x poprawiać. Klasy, wszytko pięknie jest tylko właśnie stoje nad tym dylematem. Czy dataset czy kolekcja? Dla 2-5 tabelek z max 300 rekordami, do tego tabelko nie powiązane i w 98% wykorzystana w danej chwili będzie tylko jedna.

1 użytkowników online, w tym zalogowanych: 0, gości: 1