Witam,
mam zbiór danych w około 10 tabelach, po około 15 kolumn każda z 20-100k rekordów. Są to dane i wynik obliczeń zapisane w bazach plikowych (dbf). Dla takiej struktury muszę teraz zrobić zapis wyników oraz danych dla różnych wariantów, tzn. użytkownik zmieni 3 wartości w jednej z tabel co może spowodować zmianę 90% wyników we wszystkich tabelach. Po takiej zmianie dane wejściowe oraz wyniki nadpisują obecne dane z dbf i mają zostać również zapisane do późniejszego porównania z zewnętrznej bazie. Moje pytanie brzmi: w jaki sposób można zrobić to najwydajniej? (chodzi o zapis różnych wariantów danych dla tych samych struktur tabel) Zapis musi być z bazie plikowej lokalnie. Mam zapis części innych danych w sqlite i dobrze byłoby zostać przy tej bazie, chociaż jestem otwarty na inne rozwiązania. Dane pochodzą z programu pisanego w Delphi, więc jest spora dowolność odnośnie rodzaju bazy. Nie mam pojęcia ile może być różnych wersji tych tabel, może 10 a może 1000. Wszystkie zależy od użytkownika chociaż jeśli będzie to porównywane to obstawiam, że ze względu na mnogość wariantów i konieczność opanowania wszystkiego nie będzie to więcej niż 20-30 wariantów. Najprostsze rozwiązania to:
- Zapisywać każdy wariant jako osobną bazę
- W jednej bazie tworzyć nowe tabele dla kolejnych wariantów
- Dla każdej tabeli dodać kolumnę z ID wersji i dopisywać rekordy dla kolejnych wersji
Wydaje mi się, że rozwiązanie 3 byłoby najlepsze. Mógłbym w prosty sposób znaleźć różnice w wersjach dla porównania wyników. Problem jest pewnie banalny ale chciałbym usłyszeć podpowiedź kogoś bardziej doświadczonego z bazami.