Wpis z mikrobloga

Jezuu przypomniało mi się jak kiedyś był hype na NoSQLowe bazy danych, głównie MongoDB.

Dobrze, że ludzie wrócili po rozum do głowy i kapnęli się, że nierelacyjna baza danych nie nadaje się do większości rzeczy.
Ale dalej śmieszy jak człowiek wraca do jakiegoś starego projektu z MongoDB, gdzie okazywało się że bez joinów to jednak ciężko coś zaprojektować, więc tworzyli relacje w nierelacyjnej bazie danych xd

#programowanie #programista15k #bazydanych #sql #nosql #mongodb
trevoz - Jezuu przypomniało mi się jak kiedyś był hype na NoSQLowe bazy danych, główn...

źródło: comment_16450390334Xr8YsVCYBFSy43abBqM6v.jpg

Pobierz
  • 34
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ale dalej śmieszy jak człowiek wraca do jakiegoś starego projektu z MongoDB, gdzie okazywało się że bez joinów to jednak ciężko coś zaprojektować, więc tworzyli relacje w nierelacyjnej bazie danych xd


@trevoz: Mongo 5+ lat here i chwalę sobie.
Oczywiście zależy od specyfiki projektu. U mnie mało userów, często zmieniające się wymagania, stosunkowo mało update'ów, głównie dodawanie nowych encji i ich czytanie. Tak - tworzymy symulację relacji między encjami (dokumentami).
  • Odpowiedz
@DoloremIpsum: boshhhhhh, odziedziczyłem taki projekt i żyć mi się odechciewa jak muszę rzeźbić typowo relacyjny model (taki na maxa relacyjny, z masą typowo joinów, słownikowanych rzeczy, itp) w mongo z dokumentami posiadającymi losowo powtykane embedded docsy i dbRefy... Agregacje tego gównianego modelu to warunki szkodliwe na 100%. Mongo to zajebista sprawa, ale pod warunkiem, że się wie do czego ono służy, do czego zdecydowanie nie służy i potrafi się uzasadnić
  • Odpowiedz
Finansowo DDD wychodzi nawet korzystniej. Właśnie trzeba od początku dobrze zaprojektować a nie potem się pakować w refactoring...


@Ignas1415: nie zgodzę się, nie mówiłem też że robimy DUZY monolit.
Jednak trzeba podjąć decyzję czy chcesz mieć projekt jakoś działający za rok w pierwszej fazie czy np za 4 miesiące.

Uwierz mi że możesz mieć kilka serwisów które nie wymagają skalowania na przykład.
  • Odpowiedz
@trevoz: to pokaż mi bazę relacyjną która robi 1 mln zapisów lub odczytów na sekundę na jednym przeciętnym serwerze. I która skaluje się liniowo horyzontalnie pod względem zapisów.
  • Odpowiedz
@fujiyama @ElonMelon: postgres jest zarąbistą bazą, ale służy po prostu do czegoś zupełnie innego niż NoSqle. Modelowanie danych w postgresie to bajka, ale już skalowanie go poziomo to droga przez mękę, a rozproszenie geograficzne chyba w ogóle nie jest możliwe.

No i poziom wydajności systemów NoSQL nawet tych napisanych w Javie np. Cassandra czy Elastic Search jest dla postgresa zupełnie nieosiągalny. Postgres się świetnie sprawdzi jako podstawa do obsługi
  • Odpowiedz
@trevoz: Przedtem był jeszcze hajp na SPA - o jezu jak się wszyscy spuszczali ze się strona nie przeładowuje XD


Dobrze użyte SPA mocno przyspiesza działanie strony i oszczędza zasoby.
Zamiast pchać po sieci kupę HTMLa wielokrotnie, pobierasz tylko same dane (które są malutkie) i renderujesz lokalnie.
I serwer jest szczęśliwszy i przeglądarka klienta w sumie ma mniej do roboty, bo renderuje tylko fragment strony a nie całość. Jak zrobisz to dobrze,
  • Odpowiedz
@Krolik: Ale ja to wiem. Rozumiem, że każde narzędzie powstało do specyficznego zastosowania i staram się odpowiednio je dobierać do moich produktów. Wyśmiewałem we wpisie ludzi, którzy ciemno patrzą na jedna technologie, a wyśmiewają przy tym inne - nie mając wiedzy i doświadczenia.
  • Odpowiedz