Bazy danych SQL vs. MongoDB

  Рет қаралды 15,573

Jak nauczyć się programowania

Jak nauczyć się programowania

Күн бұрын

Пікірлер: 54
@TheJezus1997
@TheJezus1997 4 жыл бұрын
Taka poprawka bo na inzynierce ktoś może za to uwalić - relacyjne bazy danych nazywają się relacyjnymi że względu na tabelaryczny układ danych - relacja to formalna nazwa tabeli. Relacja pod znaczeniem związków między encjami nie ma tutaj nic do rzeczy, ale poza tym jak zawsze świetny odcinek ;)
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
Ooo człowiek naprawdę uczy się przez całe życie :) Przyznam, że nie miałem o tym pojęcia, dzięki za tę informację! Zawsze zakładalem, że to relacje pomiędzy rekordami/tabelami odpowiadają za tę nazwę, a tu takie zaskoczenie. Sprawdziłem jak to wygląda w języku angielskim i tam też tabele nazywami relacjami - relations. I w języku angielskim angielskim jest to łatwiej rozróżnić - relację jako tabelę nazywamy relation, a relację pomiędzy rekordami nazywamy relationship. W języku polskim oba pojęcia opisywane są tym samym słowem "relacja".
@TheJezus1997
@TheJezus1997 4 жыл бұрын
Jak nauczyć się programowania dokładnie, niestety często takie problemy w tłumaczeniu wychodzą
@e_d_d_y
@e_d_d_y 4 жыл бұрын
@@JakNauczycSieProgramowania polecałbym wrzucić adnotację co do tego wątku, tak żeby nie było niedomówień ;)
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
@@e_d_d_y Adnotacji do filmu już się nie da niestety dorzucać, ale przypnę ten komentarz :)
@tomaszgalicki3139
@tomaszgalicki3139 3 жыл бұрын
@@JakNauczycSieProgramowania właściwie relacją powinno się określać tabelę wg żargonu, natomiast wszelkie "relacje" między tabelami powinno określać się powiązaniem między tabelami ale od lat to rozróżnienie się zatraciło, w wielu źródłach przyjmują, że "relacja" to właśnie to powiązanie.
@monikaeducation6378
@monikaeducation6378 Жыл бұрын
Super wyjaśnienie baz danych. Dzięki 🤝💎
@happener
@happener 4 жыл бұрын
Cześć, dzięki za film i wyjaśnienie tematu Baz Danych. Rysunki zdecydowanie pomocne w zrozumieniu. Może mógłbyś poruszyć temat aktualnych i starszych technologii. Na różnych kanałach różne osoby się wypowiadają, żeby czegoś już się nie uczyć bo są nowsze technologie, itp. Z kolei tak patrze, że jest już np JAVA 13, a w wielu ogłoszeniach pracy wymagają znajomości JAVA 8. To czy jest to aż takie istotne czy np będę robił kurs sprzed dajmy na to 3 - 4 lat, domyślam się że pewnie są jakieś ułatwienia, uproszczenia, może jakieś nowe możliwości itp bo pewnie to jest głównym powodem nowszych wersji. Ale czy na początek jest aż tak istotne, aktualność technologii, czy czegoś nie będę potrafił zrobić czy po prostu może będę to potrafił zrobić starszym sposobem? Pozdrawiam
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
Cześć, jeżeli chodzi o ten konkretny przykład z Javą, to obecność Javy 8 w ogłoszeniach wynika z tego, że była to najbardziej przełomowa wersja Javy od lat, która wprowadziła do języka zupełnie nowe elementy języka, takie jak streamy i lambdy. Kolejne wersje Javy to już konsekwentna, ale dość spokojna ewolucja. Dla osoby zaczynającej przygodę z programowaniem to, co pojawiło się od Javy 9 nie jest już tak istotne, jeżeli będziesz robił kurs oparty na Javie 8 to możesz to traktować jako aktualny kurs :) Najwyżej później doczytasz co jeszcze doszło w kolejnych wersjach Javy. Mam w planach odcinek, w którym opowiem o całym przekroju różnych technologii, ale zrobienie tego dobrze wymaga sporo czasu, także zajmie to jeszcze kilka tygodni :)
@AnonymousDeveloper1
@AnonymousDeveloper1 4 жыл бұрын
Fajny odcinek, bo można dowiedzieć się jak to jest z tymi bazami NoSQL. Do tej pory miałem przyjemność poznać tylko SQL (głównie MySQL, ale zdarzyło się pobawić SQLite, MS SQL Server, Oracle Database), ale kiedyś wypróbuję również nierelacyjne. Zasadnicze pytanie: w jakich zastosowaniach/warunkach lepiej użyć NoSQL? A może w pewnych zastosowaniach program powinien korzystać jednocześnie z dwóch baz? :D
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
Przede wszystkim warto stosować taką bazę jak MongoDB w przypadku, gdy mamy do czynienia z dużym zbiorem danych, które mają różną strukturę i które raz zapisane pozostaną niezmienne. Bardzo fajną listę kilkunastu zastosowań MongoDB przedstawia w tej prezentacji Hannes Magnusson, inżynier pracujący swego czasu nad MongoDB: www.slideshare.net/mongodb/common-use-cases-hannes
@damian33733
@damian33733 4 жыл бұрын
Genialne jest to porównanie
@nieinformatyk
@nieinformatyk 4 жыл бұрын
Cześć :) Fajny odcinek, przyjemnie się oglądało. Jedna mała uwaga, by nie wprowadzić kogoś w błąd. 10:06 Baza relacyjna to rzeczywiście nazwa pochodząca od słowa relacja, ale oznacza ono tabelę. "Relacja między tabelami" to powiązanie. 11:09 Na slajdzie też możesz zmienić słowo relacja na powiązanie. Potem ten sam błąd pojawił się jeszcze raz, gdzieś pod koniec. pl.wikipedia.org/wiki/Model_relacyjny Mam też jedno pytanie. Dlaczego uważasz, że instalacja bazy relacyjnej w klastrze to problem? Moim zdaniem synchronizacja kilku serwerów zawsze jest problematyczna i wynika z synchronizacji danych a nie tego czy dane są przechowywane w bazie sql czy nosql. W Oracle jest narzędzie o nazwie Real Application Cluster i z tego co mi wiadomo, to działa bardzo sprawnie. Pozdrawiam, Darek Butkiewicz
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
Cześć Darek, dzięki za opinię! Jeżeli chodzi o nazwę, to już jeden z widzów zwrócił na to uwagę, przypiąłem wtedy ten komentarz, ale warto przypomnieć o tym jeszcze raz :) Dla mnie to była nowa informacja, pomimo, że korzystam z baz SQLowych od kilkunastu lat nie wiedziałem, że tabela inaczej zwana jest relacją ; ) W temacie stawiania baz danych w klastrze moja wiedza jest bardzo mocno teoretyczna, bo nigdy też nie miałem okazji pracować przy projekcie, gdzie tego typu rozwiązanie byłoby konieczne. W mojej poprzedniej pracy w jednym z projektów obsługiwaliśmy ogromne ilości danych, ale wciąż nie były to wartości, które wymusiłyby na nas taką architekturę. To co wydaje mi się sporym ograniczeniem w przypadku baz relacyjnych to właśnie relacje oraz transakcje - jeżeli musimy wykonać operację na danych znajdujących się w kilku tabelach, na kilku różnych serwerach, a jednocześnie chcemy zachować integralność tych danych w przypadku, gdyby coś poszło nie tak, brzmi to jak całkiem spore wyzwanie. Ale tak jak mówię, jestem przede wszystkim użytkownikiem baz danych i daleko mi do eksperta w tej dziedzinie, zwłaszcza, gdy w grę wchodzą rozwiązania wymagające już bardzo specyficznej wiedzy i dużo większego doświadczenia w administracji bazami. Na tym polu zdecydowanie powinienem się uczyć od Ciebie :) A jakie jest Twoje zdanie na temat stawiania baz relacyjnych w klastrze? Bardzo możliwe jest też, że te możliwości rozwinęły się w ostatnich latach, wiadomo, że kiedy powstawały bazy relacyjne, nikt o tym nawet nie myślał, bo pracowało się na dużo mniejszych zbiorach danych, ale wymagania przez tych kilka dekad zmieniły się bardzo mocno i twórcy relacyjnych baz również musieli na te zmienione wymagania odpowiedzieć.
@nieinformatyk
@nieinformatyk 4 жыл бұрын
@@JakNauczycSieProgramowania Faktycznie, dopiero teraz zauważyłem komentarz. No nic, przynajmniej zrobiłem ruch na Twojej stronie :) W przypadku baz stawianych na klastrze istnieje zjawisko zwane "two-phase commit", czyli możemy decydować kiedy zmiana danej w jednej tabeli zostanie uznana za zatwierdzoną: w momencie zapisania jej w tej bazie czy dopiero wówczas, gdy zmiana zostanie przeniesiona również na inne bazy/serwery. W tym drugim przypadku wydłuża się czas realizacji polecenia, bo trzeba czekać na czas odpowiedzi drugiej strony. Zyskujemy jednak spójność. Słyszałem też o rozwiązaniach typu: zmianę z bazy X muszę przenieść na Y i Z. I jak uda nam się zmianę nanieść na bazę X i Y to nie czekamy na Z tylko uznajemy, że całe polecenie wykona się wszędzie. Jest względnie spójnie i względnie szybko. Zdecydowanie lepiej znam bazy sql od nosql, ale wydaje mi się, że te klastry w bazach nosql powstają dlatego, że potrzebna jest większa moc do pracy z większym zbiorem danych. Trudności w zarządzaniu tego typu architekturą wystepują jednak wszędzie - stąd w bazach relacyjnych jest model ACID a w bazach nosql BASE. Pozdrawiam i życzę powodzenia w rozwijaniu kanału.
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
​@@nieinformatyk Co ciekawe MongoDB stosunkowo niedawno (1,5 roku temu), wraz z wersją 4.0, wprowadziło transakcje, a w sierpniu 2019, wraz z wersją 4.2 dodało transakcje w klastrze: www.mongodb.com/blog/post/multi-document-transactions-in-mongodb docs.mongodb.com/master/core/transactions/ kzbin.info/www/bejne/n6bNZXueaqqErNE Także jest to kolejny bardzo istotny punkt w rozwoju baz danych i ciekawe jak to będzie się rozwijać dalej :) Również pozdrawiam i za rozwój Twojego kanału też trzymam bardzo mocno kciuki!
@nieinformatyk
@nieinformatyk 4 жыл бұрын
@@JakNauczycSieProgramowania dobra lektura na poniedziałek do pracy, dzięki
@mrgg416
@mrgg416 4 жыл бұрын
Hej mam kolejny pomysł na odcinek. Może opowiesz o najczęściej stosowanych w branży środowiskach IDE ? Wiem że dobry programista to taki który rozumie kody i ma tym się skupia ale przydało by się też wiedzieć to. Mam nadzieję że pomogłem.
@michabb2693
@michabb2693 4 жыл бұрын
Super. Od siebie dodam pomysł. Przykładowe zadania rekrutacyjne na stanowisko junior dev, które Kamil rozwiązuje udzielając wskazówek dla początkujących. Jestem tego ciekawy, jak reszta??
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
Siema, o IDE za wiele powiedzieć się nie da, bo tutaj wybór nie jest zbyt duży - do Javy w zasadzie standardem jest IntelliJ (nie znam już nikogo, kto pracowałby jeszcze z Eclipsem), do JS-a większość wybiera Visual Studio Code albo WebStorm od JetBrains, Python to też albo Visual Studio Code albo PyCharm. Ale chcę za to zrobić odcinek o narzędziach, których używam na co dzień i które bardzo przydają się w pracy programisty. W tym temacie jest zdecydowanie więcej do opowiedzenia :) Jeżeli chodzi o zadania rekrutacyjne na stanowisko Junior Dev to też w tym temacie rodzą się pewne pomysły i pracuję nad nimi, więcej szczegółów zdradzę za jakieś 3-4 miesiące :)
@mrgg416
@mrgg416 4 жыл бұрын
@@JakNauczycSieProgramowania A jakie są dla c++?
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
@@mrgg416 Ja ponad 10 lat temu używałem Dev C++, ale od tamtej pory chyba sporo się zmieniło :D Dzisiaj obstawiałbym Microsoft Visual Studio albo Visual Studio Code, ale to już programiści C++ muszą się wypowiedzieć, w czym pracuje im się najlepiej :) Także jeżeli są tutaj tacy, dajcie znać, jakie IDE jest Waszym ulubionym:)
@TheJezus1997
@TheJezus1997 4 жыл бұрын
@@mrgg416 ​ do C++ MS Visual Studio albo CLion od JetBrains na studiach używaliśmy, ew. od biedy VSCode + jakiś gcc i g++
@maciejblankenburg6663
@maciejblankenburg6663 4 жыл бұрын
by dodać kilka róznych grup dla użytkownika zamiast MondoDB użyłbym jednego pola w relacyjnej bazie danych, pola (text) i modyfikował jedno pole w rekordzie tak by po pobraniu danych można było rozszyfrować ciąg znaków w poziomu aplikacji.
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
Jasne, można też zrobić to w ten sposób, ale wymaga to wtedy dodatkowej logiki po pobraniu danych.
@NeoBTK
@NeoBTK 4 жыл бұрын
Nie chcę być upierdliwy czy coś, od ok.14:27, gdy mowa o złączeniach, widzimy nazwę tabeli user_to_groups, a w zapytaniu users_to_groups, taka drobna pomyłka ;) A tak, to, jak zawsze, świetny filmik.
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
Faktycznie, dzięki i brawa za spostrzegawczość :)
@rumciur6209
@rumciur6209 4 жыл бұрын
To chyba nie jest, aż tak trudne, którą bazę wybrać ;) Np. w serwisach typu facebook grupy do których należymy, ilość postów jakie dodajemy jest tak duża że MongoDB jest tutaj zupełnie nie praktyczne :P
@rumciur6209
@rumciur6209 4 жыл бұрын
Biorąc pod uwagę oczywiście to, ze nazwa grupy może się zmienić
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
Ale to też nie jest tak zero-jedynkowe, w tak dużych serwisach jak Facebook dane są zazwyczaj umieszczone w kilku różnych bazach, w zależności od typu i przeznaczenia tych danych. Film jedynie przedstawia podstawowe różnice między SQL a MongoDB, natomiast temat jest dużo bardziej złożony, także decyzję o wyborze bazy (lub baz) podejmuje się analizując dokładnie konkretną sytuację. Ale żeby nie było też zbyt enigmatycznie - tworząc własne projekty, spokojnie można wybrać zarówno SQL jak i MongoDB, a najlepiej poeksperymentować z jedną i drugą opcją:)
@Mateusz-om8qf
@Mateusz-om8qf 4 жыл бұрын
Jak zawsze super materiał, szanuję za marik1234 :D
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
A dziękuję :D Jest w filmie jeszcze jeden smaczek skierowany do fanów twórczości Bartosza Walaszka, zachęcam do odkrycia tej tajemnicy :D Jak będzie potrzeba, to mogę dać małe wskazówki ; )
@Mateusz-om8qf
@Mateusz-om8qf 4 жыл бұрын
@@JakNauczycSieProgramowania Ehh potrzebujemy chyba wskazówki, film znam prawie na pamięć i nie mogę wyłapać :D
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
@@Mateusz-om8qf wiadomość kryje się w tych hasłach w tabeli users :D tylko trzeba ją odszyfrować
@Mateusz-om8qf
@Mateusz-om8qf 4 жыл бұрын
@@JakNauczycSieProgramowaniaUżytkownik marik ma hasło "walaszek" a użytkownik domino88 (pewnie jachaś) ma hasło "bomba" :D Szanuję podwójnie :D
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
@@Mateusz-om8qf Dokładnie tak, gratulacje! Jeszcze jest hasło Błażeja - te dwie litery po dwójce to małe litery "L" - które po odkodowaniu daje słowo "kiedy" :D
@krecik77
@krecik77 4 жыл бұрын
Naprawdę musiałeś bazy danych porównywać do jedzenia? Głodny jestem !
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
Pomyśl, co ja przeżywałem przygotowując ten odcinek!
@mmateuszdomanski
@mmateuszdomanski 4 жыл бұрын
Widzę pewną inspirację twórczością Walaszka :)
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
Walaszek mistrz! Nieprzerwanie od czasów Bułgarskiego Pościkku :D
@rumciur6209
@rumciur6209 4 жыл бұрын
Szkoda, że nie pokazałeś przykładowego 'zapytania' w bazie NoSQL :(
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
Racja, ale nadrobię to niedługo, w odcinku poświęconym w 100% MongoDB :)
@PanTeżPan
@PanTeżPan 8 ай бұрын
​@@JakNauczycSieProgramowania będzie ten odcinek?
@kamilkamil9409
@kamilkamil9409 4 жыл бұрын
Jedno jest pewne, od każdej bazy danych można przytyć! Pamiętajcie, żeby czasem odejść od komputerów i się poruszać :P Dzięki za materiał, niebawem siadam do MongoDB ale jeszcze piszę coś na PostgreSQL. Ja do SQL polecam książkę z Helionu o wdzięcznej nazwie SQL- różowa okładka.
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania 4 жыл бұрын
Trzeba dbać o zróżnicowaną dietę, a bazy danych spożywać w kilku małych, regularnych posiłkach :D
@maciejolejniczak7466
@maciejolejniczak7466 3 жыл бұрын
Mam ochotę na pizze :p
@QJUP
@QJUP Жыл бұрын
oglądam fillm o bazach danych a robie się głodny
@kokeszanel9312
@kokeszanel9312 4 жыл бұрын
ahh to MongoDB :D
@micha6204
@micha6204 Жыл бұрын
zgłodniałem
@JakNauczycSieProgramowania
@JakNauczycSieProgramowania Жыл бұрын
Ja akurat dzisiaj burgera robię 😎
@micha6204
@micha6204 Жыл бұрын
@@JakNauczycSieProgramowania smacznego
Portfolio młodszego programisty - jakie projekty w nim umieścić?
19:47
Jak nauczyć się programowania
Рет қаралды 50 М.
Do czego potrzebujemy baz danych? Podstawy pracy z bazami relacyjnymi (SQL)
19:56
Jak nauczyć się programowania
Рет қаралды 79 М.
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 55 МЛН
So Cute 🥰 who is better?
00:15
dednahype
Рет қаралды 19 МЛН
Kurs SQL - podstawy cz. 1/3
20:58
Jak nauczyć się programowania
Рет қаралды 121 М.
SQL vs noSQL | MySQL vs MongoDB - różnice
17:19
Twórca Stron
Рет қаралды 25 М.
Czym są STRUKTURY DANYCH? - ArrayList, HashMap, HashSet
17:42
Jak nauczyć się programowania
Рет қаралды 19 М.
MongoDB Crash Course
29:59
Web Dev Simplified
Рет қаралды 722 М.
Podstawy programowania w JavaScript w 60 MINUT
57:34
Jak nauczyć się programowania
Рет қаралды 262 М.
How do NoSQL databases work? Simply Explained!
7:38
Simply Explained
Рет қаралды 1,1 МЛН
Kurs SQL - podstawy cz. 3/3
17:27
Jak nauczyć się programowania
Рет қаралды 22 М.
Konsola / terminal - najważniejsze komendy
39:14
Jak nauczyć się programowania
Рет қаралды 31 М.
MySQL vs MongoDB
5:30
IBM Technology
Рет қаралды 183 М.
Jak bazy danych działają od środka?
12:13
Programowalny
Рет қаралды 5 М.
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 55 МЛН