Najprostsza baza do prostego projektu ? - czy wgle jej potrzebuje ?

0

Potrzebuję do szybkiej nauki i prostego projektu. Co byście wybrali i czy tak naprawdę musze z niej korzystać ?

Co chce zrobić?

  • Pobieram dane z api / oraz scrapuje strone z newsami. Następnie dane oraz newsy zestawiam wg różnych kryteriów.
  • Chce aby te kryteria się zapisywały np co 30 min chce mieć aktualne dane dla danego zestawu danych (np miasto - temperatura godzina 15:30 , 16:00 etc)

Wiem że wyboru jest masa opcji i pewnie można to zrobić na 1531 sposobów, ale AŻ za dużo tego. W zasadzie nie wiadomo co wybrać. Zakładając że zaczynam od zera i interesuja mnie szybki efekt. Co byście wykorzystali i dlaczego?

0
menido napisał(a):
  • Chce aby te kryteria się zapisywały np co 30 min chce mieć aktualne dane dla danego zestawu danych (np miasto - temperatura godzina 15:30 , 16:00 etc)

Pytanie, czy chcesz, żeby te dane się trwale zapisywały. Jeśli tak, i jeśli chcesz, żeby nie znikały po zrestartowaniu aplikacji, to baza jest potrzebna. W przeciwnym wypadku, nie.

1

IHMO najprostsza relacyjna baza danych do projektu działająca jako osobny program (serwer) to PostgreSQL. Jeśli nie potrzebujesz bazy działającej jako osobny program to możliwe że h2 będzie prostsze działające jako biblioteka. Obowiązku trzymania danych w razie bazie nie ma, można np w plikach lub jakimś śmiesznym NoSQLu. Ale relacyjna baza danych jest to dalej najpopularniejszy sposób. Zwłaszcza w aplikacjach pisanych w Javie.

0
docker run -d -p 27017-27019:27017-27019 --name mongodb mongo

Jedna linijka w terminalu załatwia temat. Temat OPa brzmi trochę nieokreślono, dlatego proponuję zerknąć na NoSQL

2
BraVolt napisał(a):
docker run -d -p 27017-27019:27017-27019 --name mongodb mongo

Jedna linijka w terminalu załatwia temat. Temat OPa brzmi trochę nieokreślono, dlatego proponuję zerknąć na NoSQL

Aż strzelanie z armaty Dockera dla szkolnych projektów?
Racjonalne jest pozostanie w bazach embedded.

Co do do wyboru Mongo do "niejasnego" projektu, to może być słuszne na na poziomie logicznym, fizycznym ... zależy

0
AnyKtokolwiek napisał(a):

Aż strzelanie z armaty Dockera dla szkolnych projektów?
Racjonalne jest pozostanie w bazach embedded.

Baza jak baza, jaka by nie była, najlepiej ściągnąć gotowy image docker i resztę załatwić jedną linijką bash

0

Dowolna relacyjną baza danych. Jak do nauki, to najbardziej skorzystasz z SQL.

0
AnyKtokolwiek napisał(a):
BraVolt napisał(a):
docker run -d -p 27017-27019:27017-27019 --name mongodb mongo

Jedna linijka w terminalu załatwia temat. Temat OPa brzmi trochę nieokreślono, dlatego proponuję zerknąć na NoSQL

Aż strzelanie z armaty Dockera dla szkolnych projektów?
Racjonalne jest pozostanie w bazach embedded.

Co do do wyboru Mongo do "niejasnego" projektu, to może być słuszne na na poziomie logicznym, fizycznym ... zależy

à propos mongo db - albo mi się wydaje albo jest to bardzo popularne rozwiązanie ostatnio - dlaczego tak jest? Jakie są największe zalety mongo ?

1
menido napisał(a):

à propos mongo db - albo mi się wydaje albo jest to bardzo popularne rozwiązanie ostatnio - dlaczego tak jest? Jakie są największe zalety mongo ?

W wielkim biznesie, czy dla edukacji?

  • jak wiele/większość baz NoSQL naturalnie może się rozpraszać na wiele hostów, i mieć failover
  • jest dobra dla leniwych. Tabele SQLa trzeba zaprojektować, a jak życie wykaże konieczność korekty, przeprojektować. Mongo przyjmie nowe dane o innym schemacie, po prostu inne. Oczywiście łatwo wyczuć tu lekką minę, można wpaść w niemożliwość wyszukania w jednolity sposób danych (dokumentów) starych i nowych
  • my, programiści, lubimy nowości. Czy to na githuba "dla rekrutacji", czy z własnych powodów. Stawiam dolary przeciw orzechom, że wiele wyborów za Mongo nie jest racjonalnie uzasadnionych
0
AnyKtokolwiek napisał(a):
menido napisał(a):

à propos mongo db - albo mi się wydaje albo jest to bardzo popularne rozwiązanie ostatnio - dlaczego tak jest? Jakie są największe zalety mongo ?

W wielkim biznesie, czy dla edukacji?

  • jak wiele/większość baz NoSQL naturalnie może się rozpraszać na wiele hostów, i mieć failover
  • jest dobra dla leniwych. Tabele SQLa trzeba zaprojektować, a jak życie wykaże konieczność korekty, przeprojektować. Mongo przyjmie nowe dane o innym schemacie, po prostu inne. Oczywiście łatwo wyczuć tu lekką minę, można wpaść w niemożliwość wyszukania w jednolity sposób danych (dokumentów) starych i nowych
  • my, programiści, lubimy nowości. Czy to na githuba "dla rekrutacji", czy z własnych powodów. Stawiam dolary przeciw orzechom, że wiele wyborów za Mongo nie jest racjonalnie uzasadnionych

no dzięki ale ten ostatni punkt to nieco lanie wody. Wiele wyborów czyli jakie np ?

// Tak ciągnąć wątek MongoDB oraz posgresql itp. Jak one się mają do firebase albo do dynomodb?
Bo generalnie kusza znowu te nowości tylko czy tak naprawde warto pchać się w wygodniejsze rozwiązania (ale być może tylko teoretycznie) ale niestety też wiążące z operatorem a co za tym idzie opłatami szczególnie w przyszłości ? Chcac być niezależnym powiedzieć że jednak lepiej z gory wszystko robić na open-sourcowych rozwiązaniach czy nie?

1

Z opisu OPa wynika, że wystarczy mu w zupełności SQLite, no ale niektórzy nie byliby sobą jakby z jądrówki nie chcieli komara uwalić, a później wchodzi człowiek do Hello Worlda, który ma 100 mikroserwisów i 120 baz...

1
menido napisał(a):

no dzięki ale ten ostatni punkt to nieco lanie wody. Wiele wyborów czyli jakie np ?

W segmencie "na rekrutację" pewnie 90% Mongo jest "na wiwat".
To zawyża statystyki, pozornie wskazuje na popularność.

// Tak ciągnąć wątek MongoDB oraz posgresql itp. Jak one się mają do firebase albo do dynomodb?
Bo generalnie kusza znowu te nowości tylko czy tak naprawde warto pchać się w wygodniejsze rozwiązania (ale być może tylko teoretycznie) ale niestety też wiążące z operatorem a co za tym idzie opłatami szczególnie w przyszłości ? Chcac być niezależnym powiedzieć że jednak lepiej z gory wszystko robić na open-sourcowych rozwiązaniach czy nie?

Nie ma uniwersalnej odpowiedzi raz na zawsze.
Pytasz niejasno, tym bardziej trudno odpowiedzieć. Etap nauki? Etap eksploatacji "na produkcji" ? Trudno szybko zapełnić 10GB wszelkich "expressów" (bo nie tylko Microsoft daje).
Mobilki? W swoim własnym kompuetzre, czy publiczne?

Postgres jest bardzo porządną bazą, uczy SQL-a dobrze zbieżnego ze standardami teoretycznymi i rynkowymi (w tym Oracle). MySQL (nie wymieniasz go w pytaniu) na odwrót, jest strasznie "dialektowy". Znajomość. Postgresa na pewno nie zrobi Ci krzywdy
NoSQL-e są do siebie nieco podobne, często powstawały już e czasach "cloudowych", ale są głęboko różne: kolumnowe, dokumentowe, key-value, in-memory.
Wiele opensursów jest na dualnej licencji.
Np najszybsza na świecie key-value bez języka interpretacji komend, używana z kodu, dawna Berkeley DB, obecnie u Oracla. Ma o wiele dłuższą historię, zanim urobiono w IT-marketingu hasło "NoSQL"

Wypowiedz się: wątek (nadal) wisi w dziale Java, padają dobre odpowiedzi z tego świata - na pewno myślałeś o Javie, a nie Javascript? Szukasz baz otwartych na Javascript / REST ?

1
TurkucPodjadek napisał(a):

Z opisu OPa wynika, że wystarczy mu w zupełności SQLite, no ale niektórzy nie byliby sobą jakby z jądrówki nie chcieli komara uwalić, a później wchodzi człowiek do Hello Worlda, który ma 100 mikroserwisów i 120 baz...

Dla C/C++/Rust/Go - zgadzam się, ale dla Javy zawsze będzie lepsze H2 niż SQLite, bo jest napisane w czystej Javie

2

Jak celem jest nauka SQL to h2 jest ok.
Jak większym celem jest nauka javy to polecam javę.
najprostszym rozwiązaniem jest trzymaniue w pamięci grafu objektów i użycie serializacji, prosto użyta serializacja (saveAll) jest niepraktyczna w większości projektów produkcyjnych, ale na etapie nauki fajnie działa.
Dzięki temu można np.lepiej zapoznać się np. z kolekcjami javowymi.

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