Jaką bazę danych wykorzystać ?

Jaką bazę danych wykorzystać ?
SQ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
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

Aventus
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: UK
  • Postów: 2235
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?

SQ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
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

katakrowa
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Chorzów
  • Postów: 1670
2

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

DA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 176
1

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

UglyMan
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2206
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.

woolfik
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1611
5

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

jarekr000000
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: U krasnoludów - pod górą
  • Postów: 4714
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).

.andy
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1524
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 :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.