Duże ilości danych

0

Witam,
Mam pytanie, w pracy potrzebuję napisać programik w JAVIE do wyliczania pewnych charakterystyk. Do wyliczenia tych charakterystyk potrzebuję pobrać z bazy danych, dokładnie z 3 tabel dane(z każdej tabeli około 5 kolumn). I tutaj pojawia się moje pytanie, bo tych danych jest około 3-4 mln rekordów z każdej tabelki, w jaki sposób, w jakiej strukturze (jakaś tablica, lista, itp) przechowywać te dane, żeby programik działał w miarę wydajnie i nie zajmował zbyt wiele zasobów?
Jestem otwarty na wszelkie propozycje.
Pozdrawiam

0

Jeśli masz dużo ramu i potrzebujesz wiele razy użyć dane z tych tabel, to możesz je wczytać i prowadzić na nich obliczenia.

Natomiast, jeśli wyliczasz charakterystyki w jednym przebiegu, to nie ma sensu wczytywać wszystkich danych do pamięci -> prowadź obliczenia w locie.

0

Biblioteka kolekcji, która jest wydajniejsza od standardowej i zajmuje mniej pamięci: http://trove.starlight-systems.com/

0

3*5*4 mln = 60 mln
Rozumiem że są to liczby skoro coś na nich liczysz więc powiedzmy że z narzutem jakimś 60mln * 16 bajty = 960 MB
Nie widzę sensu żeby się bawić w jakieś kombinowanie bo tyle pamięci to raczej masz ;) Ale jeśli faktycznie liczysz to jakoś jednoprzebiegowo to lepiej czytać dane w locie.

0

Dzięki wszystkim za pomoc, koniec końców zdecydowałem się na wykorzystanie Arraylist.

0

Jeżeli pobierasz z bazy to może da się to wyliczyć w SQLu?

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