• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Sql vs NoSql?

0 głosów
2,106 wizyt
pytanie zadane 6 lutego 2018 w SQL, bazy danych przez marcin99b Szeryf (86,330 p.)
Co według was jest bardziej przyszłościowe?
Pisze w c# i w większości przypadków, operacje wykonuje na kolekcjach, które bez żadnych problemów moge przerzucać na JSON i w drugą strone

NoSql pozwala mi po prostu zapisywać i wczytywać kolekcje z bazy - bezpieczniejsza opcja niż trzymanie wszystkiego jedynie w pamięci

W klasycznej bazie Sql musiałbym tworzyć tabele w oparciu o obiekty z których korzystam

Czy w takiej sytuacji użycie klasycznego Sql ma jakiś sens, skoro bazy danych używam tylko do przechowywania kolekcji, które normalnie siedzą w pamięci?

Może pytanie na poziomie początkującego, ale w kwestii baz danych jakoś bardzo się nie zagłębiałem. A teraz po ogarnięciu jak prosta i przyjazna jest NoSql, zastanawiam się czy Sql ma w ogóle jakiś sens? Poza utrzymywaniem projektów które były tworzone pod bazy Sql

Wiem że temat kontrowersyjny i pewnie wywołam niezłą burzę, ale z punktu osoby która baz danych używała głównie do zwykłego trzymania danych, nie widze przewagi sztywnego sql z tabelami, nad nosql - gdzie moge trzymać dane tak, jak w pamięci

2 odpowiedzi

+3 głosów
odpowiedź 6 lutego 2018 przez Tomek Sochacki Ekspert (227,510 p.)
wybrane 25 maja 2018 przez marcin99b
 
Najlepsza
Ze swojego doświadczenia powiem, że najczęściej pracuję z bazą MySQL w połączeniu z node, ale to nie ma teraz znaczenia. Dane trzymam w odpowiednio zaprojektowanych tabelach, ale bardzo intensywnie korzystam też z widoków, co ułatwia mi pobieranie danych w back-endzie aplikacji i pozwala nawet na pewne modyfikacje w samej strukturze bazy bez wpływu na back-end.

Bazy noSQL są fajne, ale jeśli nie zależy Ci na mocnych powiązaniach między tabelami czyli relacjach. Na przykład powiem Ci, że nie wyobrażam sobie pisać choćby systemu CRM bez dobrodziejstwa relacyjności. Co więcej np. baza MySQL pozwala na wykonanie dodatkowych zabezpieczeń chociażby przed przypadkową próbą usunięcia rekordów, które są powiązane z innymi.

Bazy noSQL są jednak bardzo fajne tak jak piszesz, w przypadku prostych kolekcji. Ale pod pojęciem prostych mam na myśli brak relacyjności, a nie prostą strukturę danych (bo ta akurat może być złożona).

Wszystko zatem jak widać do różnych zastosowań. Na przykład nie chciałbym pisać aplikacji księgowej/fakturującej bez bazy relacyjnej ale to moje subiektywne zdanie.

Nie wypowiem się też co do wydajności na dużej ilości danych. MySQL jest bardzo fajną bazą, ale trzeba dobrze zaprojektować jej strukturę, indekacje itp. aby faktycznie działała szybko przy dużym obciążeniu. Nie mniej jednak w większości prostych projektów np. dla małych firm myślę, że kwestia różnic w wydajności nie będzie najistotniejszym argumentem.
+3 głosów
odpowiedź 6 lutego 2018 przez Comandeer Guru (607,960 p.)
To zależy, czy musisz trzymać tylko dane, czy też musisz mieć również informacje o zależnościach pomiędzy nimi (np. jakie samochody należą do którego producenta). W tym pierwszym przypadku faktycznie NoSQL będzie lepszym wyborem. W tym drugim – SQL.

Niemniej jeśli chodzi o cache, to oprócz NoSQL jest też opcja np. tabel MEMORY z MySQL, co pozwala nam połączyć szybkość pamięci z formalnością SQL.
1
komentarz 6 lutego 2018 przez Tomek Sochacki Ekspert (227,510 p.)
Z tym silnikiem MEMORY to bym uważał, szczególnie jeśli Kolega zaczyna przygodę z bazami danych. Na przykład jednym z ograniczeń jest brak możliwości wprowadzenia do tabeli na silniku MEMORY pól o zmiennej wartości, czyli np. pola TEXT (chociaż dopuszczalne jest VARCHAR ale to z powodu pewnych wewnętrznych sposobów interpretowania tego jako CHAR). Trzeba też uważać na pewne aspekty podczas operacji porównujących indeksy, ale to w tej chwili mało ważne.
komentarz 6 lutego 2018 przez Comandeer Guru (607,960 p.)
Tak, ale też trzeba przyznać, że do "normalnych" zastosowań MEMORY się nie używa ;)

Podobne pytania

0 głosów
1 odpowiedź 796 wizyt
pytanie zadane 18 lipca 2016 w SQL, bazy danych przez niezalogowany
0 głosów
1 odpowiedź 437 wizyt
pytanie zadane 21 października 2016 w SQL, bazy danych przez MatexQ Bywalec (2,260 p.)
0 głosów
1 odpowiedź 515 wizyt
pytanie zadane 10 października 2016 w SQL, bazy danych przez niezalogowany

93,733 zapytań

142,669 odpowiedzi

323,287 komentarzy

63,295 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...