Attending full stack web development coding boot camp w Georgia Tech jest jedną z najlepszych decyzji, jakie kiedykolwiek podjąłem. Okazuje się, że jest to bardziej zabawne i żywe niż się spodziewałem. Co najważniejsze, każdego dnia uczę się nowych rzeczy. Wczoraj napisałem skrypty wiersza poleceń w powłoce mongo i przechowywałem je bezpośrednio na moim komputerze w bazie danych NoSQL o nazwie MongoDB.
Podczas naszej sesji klasowej na boot campie poproszono mnie o wyjaśnienie różnicy między SQL a NoSQL: MySQL a MongoDB.
Oto moje krótkie spojrzenie na to:
SQL (Structured Query Language) to język programowania, który jest używany do zarządzania danymi w relacyjnych bazach danych. Relacyjne bazy danych używają relacji, które są zwykle nazywane tabelami, do przechowywania danych, a następnie dopasowują te dane za pomocą wspólnych cech w ramach zestawu danych. Przykłady baz danych SQL to MySQL, Oracle, PostgreSQL oraz Microsoft SQL Server.
NoSQL to bazy danych oparte na dokumentach, odnoszące się do wysokowydajnych, nierelacyjnych baz danych, które wykorzystują szeroką gamę modeli danych. Te bazy danych są cenione za łatwość użycia, skalowalność, dużą odporność i szeroką dostępność. Przykłady baz danych NoSQL to MongoDB, BigTable, RavenDB Cassandra, HBase, Neo4j i CouchDB.
MySQL vs MongoDB
MySQL jest relacyjną bazą danych typu open-source, która przechowuje dane w 'tabelach' i używa strukturalnego języka zapytań (SQL) do dostępu do bazy danych. W MySQL wstępnie definiujemy nasz schemat bazy danych w oparciu o nasze wymagania i ustalamy reguły rządzące relacjami między polami w naszych tabelach.
MongoDB, z drugiej strony, jest nierelacyjną bazą danych, która przechowuje dane jako „dokumenty” w binarnej reprezentacji zwanej BSON (Binary JSON). Pola mogą się różnić w zależności od dokumentu; nie ma potrzeby deklarowania struktury dokumentów do systemu – dokumenty same się opisują.
W skrócie, nierelacyjna baza danych nie zawiera modelu tabelarycznego. Zamiast tego, dane mogą być przechowywane w pojedynczym pliku dokumentu, podczas gdy tabela relacyjnej bazy danych organizuje pola danych strukturalnych w zdefiniowane kolumny.
Dziękuję za przeczytanie.
Dziękuję za przeczytanie.