Jaką bazę danych wykorzystać ?

0

Dzień dobry wszystkim,

wpadł mi dość ciekawy pomysł na projekt z wykorzystaniem Javy i Spring'a, jednak mam mały problem z wyborem bazy danych, nie jestem na poziomie pro, a raczej bym to nazwał wyżej początkujący.

Dotychczas korzystałem z MySQL jednakże do tego raczej ona będzie średnim wyborem, potrzebuję wczytać rekordy z pliku (plik około 3mln wyrazów każdy zapisany w nowej lini) plik .txt, nie zależy mi na jakichkolwiek relacjach, będzie to tylko jedna tabela z tymi oto wyrazami, chce aby pobierały się jak najszybciej, możecie coś doradzić ?

Z góry dziękuję za każdą odpowiedz i poświęcenie czasu :)

Pozdrawiam

0

Z ciekawości- dla czego uważasz że MySQL będzie średnim wyborem? 3mln rekordów (zakładam że mowa o jednym rekordzie dla każdego wyrazu) to tak naprawdę powinno być stosunkowo mało dla jakiejkolwiek bazy danych. Co sprawia że uważasz że MySQL się nie nada?

0

@Aventus: Jak mówiłem nie jestem jakimś pro, więc jeżeli się mylę to proszę mnie poprawić, z chęcią posłucham mądrzejszego :)
Wydaję mi się że MySQL to baza bardziej relacyjna, nie potrzebuje w niej tworzyć żadnej relacji, bo będzie tam tylko i wyłącznie jedna tabela, więc może jest baza która wykona takie zadanie po prostu szybciej ?

//Edit
Jeżeli tak piszecie to może faktycznie zostanę przy MySQL'u, tylko mam mały problem, teraz próbowałem wrzucić plik do bazy i mam takie coś:

Loading local data is disabled; this must be enabled on both the client and server sides

Wie ktoś o co chodzi i jak to zmienić ? pracuje na Macu jak coś
Nie chcę bez potrzeby zakładać nowego tematu

2

Już10 lat temu miałem w MySQL bazy z 80 000 000 rekordów i gwarantuję Ci, że działało bezproblemowo.

1

A po czym będziesz te dane wyciągał? Bo od tego zależy odpowiedź jaka baza byłaby dobra do Twojego przypadku.

3

Bardziej jest pytanie, jak będziesz tego używał. Mnie to śmierdzi jakimś Full text searchem - czyli albo PostgreSQL, albo elasticsearch (SOLR). Jak MySQL ma wsparcie do FTS to też może być.
EDIT: To napisz skrypt na 10 linijek kodu w Pythonie i użyj MySQLa.

5

Polecam postgresql. Darmowy, masz wszystko, możesz go nawet używać w postaci portable więc czego więcej chcieć?

9

Na kiego grzyba ta baza?

Jeśli plik będzie statyczny to trzymaj to w tym pliku.

Jak chcesz, żeby było szybko to wczytaj do pamięci po starcie.
Jak chcesz, żeby szukanie było jeszcze szybsze to zrób sobie indeks - odpowiednie Drzewo (zobacz takie https://en.wikipedia.org/wiki/Trie - wystarczy, że będziesz trzymał suffixy zamiast prefixów - wrzucasz wyrazy od tyłu ) zrobi sprawę (możesz też użyć HashMapy).

0

@jarekr000000:

Na kiego grzyba ta baza?

Chodzi pewnie o to aby zrobić projekt z bazą. To że da się to zrobić w inny sposób nie ma znaczenia :)

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