Wpis z mikrobloga

#java #spring #mongodb

Normalnie do tworzenia aplikacji używam Javy, Springa, Spring Data, relacyjnych baz danych (bo to wszystko znam).

Teraz jednak chcę strzelać do pewnego API (wiele różnych strzałów), które zwraca mi dane (JSON-y nawet po kilka MB), wrzucać je do bazy, żeby potem to przetwarzać (zrobić jakieś zliczenia, agregacje itd).

Pomyślałem, że napiszę apkę w Javie, która wrzuci mi to do MongoDB jako JSON-y (czy lepiej do tego użyć innej bazy?). Potem po prostu będę sobie wykonywał zapytania na bazie - mam nadzieję, że Mongo pozwala robić wydajne zapytania po wnętrzu JSON-a (i ewentualnie będę musiał się na końcu wesprzeć znowu Javą, żeby wygenerować z tego jakieś swoje wynikowe JSON-y/CSV-ki).

I teraz pytanie: czy jest sens używać do tego Javy + Spring (Data)? Nie chcę tworzyć całego modelu dla tych wielkich JSON-ów. Musiałbym je po prostu pobrać i wrzucić jako Stringi. Niewiele mi tu pomaga Spring...

Jakbym dobrze umiał np. Pythona, to podejrzewam, że pewnie dużo wygodniej w tym by mi się to zrobiło. Ale nie umiem go biegle, więc dużo czasu spędzę na nauce, a nie na zrobieniu zadania.
  • 3
  • Odpowiedz
Mongo powinno sobie dac rade spokojnie z takim problemem. Co do springa i spring data, jak nie interesuje cię co znajduje się w tych dokumentach możesz porostu to co wyciągniesz z bazy zrzutować na np ObjectNode nie musisz tworzyć modelu w Javie, a Spring jest poprostu wygodny i szybciej zakodzisz gotowe rozwiązanie zwłaszcza jak znasz springa
  • Odpowiedz
@mk321: przede wszystkim dlaczego w ogole spring? Ma to działać gdzieś webowo? To jeszcze tego nie potrzebujesz. Jesli chcesz coś lekkiego do endpointów to możesz użyć jakiejś lekkiej biblioteki (jak ratpack czy javalin). Jeśli chcesz mongo to udostępnia driver do javy, mający nawet całkiem dużo metod napisanych już za Ciebie.
  • Odpowiedz