Jak decydujesz, jakiej bazy danych użyć?

31

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 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ę):

  1. 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.
  2. 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).
  3. Załóżmy, że każda baza danych ma najlepsze możliwe wsparcie za darmo.
  4. Załóżmy, że masz 100% wpisowego od zarządu.
  5. 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?

Jason Baker
źródło
Czy jest szansa, że ​​wybierzesz dwa przykłady tych baz danych i jaka będzie ich kategoria?
JeffO

Odpowiedzi:

6

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.

Michael K.
źródło
5

SQL

Obiekt relacyjny. Stabilne serwery z precyzyjną kontrolą nad uprawnieniami.

NoSQL

Elastyczne przechowywanie. Wysoka skalowalność i możliwości dzielenia.

Josh K.
źródło
1

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 :

Podczas gdy bazy danych SQL są niezwykle użytecznymi narzędziami, ich monopol na około 15 lat dobiega końca. I to był po prostu czas: nie mogę nawet policzyć rzeczy, które zostały zmuszone do relacyjnych baz danych, ale nigdy tak naprawdę nie pasowały do ​​nich.
Różnice między bazami danych NoSQL są jednak znacznie większe niż kiedykolwiek między bazami SQL. Oznacza to, że na początku na architektach oprogramowania spoczywa większa odpowiedzialność za wybór odpowiedniego projektu.
W tym świetle, oto porównanie Cassandra, Mongodb, CouchDB, Redis, Riak, Membase, Neo4j i HBase [...]

Jason Baker
źródło
-3

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,

dla małej pracy bez dużych danych, sqlight może być dobry.
dla firmy korzystającej z produktu Microsoft MSSQL jest dobry.
do tworzenia stron internetowych, MySql jest bardzo łatwy w użyciu.
dla banków, Oracle lub couchbase (w przypadku problemu z transkacją).
w przypadku małej pracy z dużą ilością danych MongoDB jest dobry.
dla firmy z ogromnymi danymi i tylko jednym rodzajem tabeli, Cassandra.
dla firmy z ogromnymi danymi, Couchbase.
dla ekosystemu hadoop, HBase.
dla wykresu, obrazu, w pamięci ...

Hossein Vatani
źródło
5
Jestem ciekawy, dlaczego poleciłbyś MySQL do sklepu Microsoft zamiast Sql Server?
Becuzz,
poprawiłem to, miałem na myśli Mssql.
Hossein Vatani