Potrzebuję przeanalizować dziesiątki tysięcy linii danych. Dane są importowane z pliku tekstowego. Każda linia danych ma osiem zmiennych. Obecnie używam klasy do definiowania struktury danych. Podczas czytania pliku tekstowego przechowuję każdy obiekt linii na ogólnej liście: Lista.Wydajny sposób analizowania dużych ilości danych?
Zastanawiam się, czy powinienem przełączyć się na korzystanie z relacyjnej bazy danych (SQL), ponieważ będę musiał przeanalizować dane w każdym wierszu tekstu, próbując powiązać je z terminami definicji, które również przechowuję na ogólnych listach (lista).
Celem jest przetłumaczenie dużej ilości danych za pomocą definicji. Chcę, aby zdefiniowane dane były możliwe do filtrowania, wyszukiwania itp. Używanie bazy danych ma więcej sensu, im więcej o tym myślę, ale chciałbym potwierdzić bardziej doświadczonymi programistami, zanim wprowadzę zmiany, jeszcze raz (użyłem struktur i najpierw listy układów).
Jedyną wadą, jaką mogę wymyślić, jest to, że dane nie muszą być przechowywane po przetłumaczeniu i przejrzeniu przez użytkownika. Nie ma potrzeby stałego przechowywania danych, dlatego korzystanie z bazy danych może być trochę przesadą.
Pliki, które importuję, zawierają dziesiątki tysięcy linii, niektóre mogą zawierać ponad 100 tysięcy linii. Każda linia ma osiem pól, które należy przeanalizować i przetłumaczyć. Na przykład jedno pole może zawierać wartość "phy" i musi być przetłumaczone na "warstwę fizyczną" w oparciu o plik definicji. Próbuję znaleźć najbardziej efektywny sposób analizy i tłumaczenia tych danych. – Snooze
Czy zamierzasz przeprowadzić analizę zbiorczą danych lub jest ona przetwarzana tylko linia po linii? Jeśli później, odczytanie pliku tekstowego i przetwarzanie w trakcie pracy może być dość szybkie w porównaniu z próbą pobrania danych do SQL Express lub Access. Mimo to umieszczenie go w bazie da ci pewien stopień elastyczności, na przykład możliwość tworzenia indeksów, które sam będziesz musiał sam sobie zakodować. – Thomas
Myślę, że nie mam innego wyjścia, jak przeprowadzić analizę agregacyjną, ponieważ niektóre definicje zależą od wcześniejszych wierszy w plikach tekstowych. Co więcej, dzięki analizie zbiorczej mogę zmienić strukturę danych, aby były bardziej czytelne/łatwiejsze do zrozumienia. Nawet jeśli miałbym pracować w locie, nadal potrzebowałbym struktury danych, aby użytkownik mógł filtrować/przeszukiwać dane. – Snooze