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

Sql vs NoSql?

Object Storage Arubacloud
0 głosów
1,849 wizyt
pytanie zadane 6 lutego 2018 w SQL, bazy danych przez marcin99b Szeryf (82,080 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 (600,810 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 (600,810 p.)
Tak, ale też trzeba przyznać, że do "normalnych" zastosowań MEMORY się nie używa ;)

Podobne pytania

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

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,939 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...