Naprawdę nie lubię nazwy „NoSQL”, ponieważ nie jest zbyt opisowa. Mówi mi, które bazy danych nie są tam, gdzie jestem bardziej zainteresowany tym, czym są bazy danych . Naprawdę uważam, że ta kategoria naprawdę obejmuje kilka kategorii baz danych. Próbuję tylko uzyskać ogólne pojęcie o tym, do jakiej pracy każda baza danych jest najlepszym narzędziem.
Kilka założeń, które chciałbym poczynić (i o które poproszę):
- Załóżmy, że możesz zatrudnić dowolną liczbę znakomitych inżynierów, którzy mają takie same doświadczenie z każdą technologią baz danych, jaka kiedykolwiek istniała.
- Załóżmy, że masz infrastrukturę techniczną do obsługi dowolnej bazy danych (w tym dostępnych serwerów i administratorów systemów, którzy mogą obsługiwać tę bazę danych).
- Załóżmy, że każda baza danych ma najlepsze możliwe wsparcie za darmo.
- Załóżmy, że masz 100% wpisowego od zarządu.
- Załóżmy, że masz nieskończoną ilość pieniędzy, które możesz rzucić na problem.
Teraz zdaję sobie sprawę, że powyższe założenia eliminują wiele ważnych rozważań związanych z wyborem bazy danych, ale skupiam się na ustaleniu, która baza danych jest najlepsza dla zadania na poziomie czysto technicznym. Biorąc pod uwagę powyższe założenia, pytanie brzmi: do jakich zadań każda baza danych (w tym zarówno SQL, jak i NoSQL) jest najlepszym narzędziem i dlaczego?
Odpowiedzi:
Relacyjne bazy danych (SQL) świetnie nadają się do danych, których bazowy model pozostaje stabilny. Wiele wdrożeń istnieje już od jakiegoś czasu (Oracle, DB2, SqlServer) i są stabilne i bezpieczne. Ponadto bardzo łatwo jest znaleźć doświadczonych ludzi do administrowania nimi - a administratorzy baz danych są koniecznością! Programiści nie powinni mieć do czynienia z uprawnieniami, konfiguracją i strojeniem. Powinny być w stanie skoncentrować się na programowaniu i pozwolić administratorom martwić się utrzymaniem bazy danych. Relacyjne bazy danych są również stosunkowo łatwe do przeszukiwania, a istnieje wiele narzędzi pomocnych w znajdowaniu z nich danych.
źródło
SQL
Obiekt relacyjny. Stabilne serwery z precyzyjną kontrolą nad uprawnieniami.
NoSQL
Elastyczne przechowywanie. Wysoka skalowalność i możliwości dzielenia.
źródło
W tym artykule jest kilka bardzo dobrych informacji: porównanie Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j :
źródło
Myślę, że to nie jest dobre pytanie, na przykład, jaki rodzaj pojazdów jest dobry? Bugatti, BWM, samochód, mini maszyna, pociąg, lokomotywa, samolot?
to zależy od twojej sytuacji,
źródło