Skocz do zawartości

Witaj na forum webmasterów Webax.pl.

Wyświetl nową zawartość

Bazy NOSQL

- - - - -

  • Zaloguj się, aby dodać odpowiedź
9 odpowiedzi w tym temacie
Comandeer
Comandeer

    Stały bywalec

  • Developer
  • 418 postów
#1

Napisano 18 sierpień 2012 - 15:47

Jak wiadomo ostatnio zrobił się boom na szeroko pojęte bazy NOSQL. Jako ich główne zalety przedstawia się szybkość i wydajność oraz niewrażliwość na ataki typu SQL Injection. Czy ktoś już się takimi bazami bawił? Osobiście miałem styczność z bazą MongoDB. Uważam ją za coś pośredniego między SQL, a NOSQL, bo w zasadzie przy małym nakładzie pracy można uzyskać w niej wszystko to, co w MySQL (łącznie nawet choćby z auto_increment i indexami). Dane przechowywane są w kolekcjach (odpowiedniki tabel) jako dokumenty (czyli de facto obiekty JSON). API jest bardzo przystępne, wręcz stworzone do pracy z JS (sam silniczek bazy danych jest silniczkiem JS opartym na Greasemonkey). Ta baza jest naturalnym wyborem dla wszystkich, którzy chcą przechowywać większe ilości danych w aplikacjach opartych na node.js (osobiście korzystam albo z MongoDB, albo MySQL, wymiennie). Miałem też króciutki kontakt z Redis - hybrydą memcached z bazą danych. De facto w node.js jest już standardem cache'owania. osobiście nie przypadło mi do gustu API, ale trzeba przyznać, że jest szybkie. W nowych przeglądarkach pojawiło się IndexedDB - też NOSQL-owa baza, też częściowo na JSON oparta, w dodatku asynchroniczna. Jeszcze nie korzystałem, bo to skrajnie eksperymentalne API, ale mam taki zamiar ;) Może ktoś korzystał i ma coś do powiedzenia? Zachęcam do dyskusji na temat NOSQL-owych baz danych: czy korzystacie? Czy idea wam się podoba?
  • 0

Moje tutoriale

Ad hominem attacks are valid arguments, and you are an idiot.


Soanvig
Soanvig

    Początkujący

  • Użytkownik
  • PipPipPip
  • 114 postów
#2

Napisano 20 sierpień 2012 - 00:12

Ty mi lepiej napisz o co biega w NoSQL, bo jestem leniem i nie chce mi się na ten temat nic szukać. Wtedy podyskutujemy ;D
  • 0

[font="Courier;"].oooooooo8....ooooooo......o......oooo...oooo.888.........o888...888o...888......8888o..88...888oooooo..888.....888..8..88.....88.888o88..........888.888o...o888.8oooo88....88...8888..o88oooo888....88ooo88.o88o..o888o.o88o....88..[/font]


Cebab
Cebab

    Początkujący

  • Użytkownik
  • PipPipPip
  • 132 postów
#3

Napisano 20 sierpień 2012 - 08:12

NoSQL to nierelacyjne bazy danych, w zasadzie to termin istnieje już do '98 roku, ale za sprawą rozwoju w ostatnich kilku latach Javascriptu, zrobił się "boom na szeroko pojęte bazy NOSQL" i tak jak Comandeer już napisał:

Dane przechowywane są w kolekcjach (odpowiedniki tabel) jako dokumenty (czyli de facto obiekty JSON)

Jest ona dobrym rozwiązaniem dla przechowywania dużych ilości danych no i daje dużą elastyczność, która nie jest możliwa do osiągnięcia w przypadku SQL. Teoria: 1. http://mytech-news.y...24d002d8&page=1 2. http://devmeetings.p...likacji-jsowych 3. http://www.brosbit4u...ykad-bazy-nosql - MongoDB - to o czym mówił Comandeer
  • 0

Comandeer
Comandeer

    Stały bywalec

  • Developer
  • 418 postów
#4

Napisano 20 sierpień 2012 - 09:02

[quote name='"Cebab"]daje dużą elastyczność' date=' która nie jest możliwa do osiągnięcia w przypadku SQL.[/quote']
nie do końca się zgodzę. Elastyczność NOSQL jest po prostu inna niż elastyczność w SQL.
W NOSQL baza danych nastawiona jest na dane, a więc operacje wyciągania i dodawania danych są o wiele prostsze i przyjemniejsze.
W SQL baza danych nastawiona jest na relacje między danymi. Spróbuj w NOSQL zrobić joina albo wyciągnąć znajomych znajomych użytkownika ;) minimum 3 zapytania.
To zależy co musimy osiągnąć.
Poza tym - elastyczność NOSQL można także uzyskać w MySQL (patrz: handlersocket)
  • 0

Moje tutoriale

Ad hominem attacks are valid arguments, and you are an idiot.


Cebab
Cebab

    Początkujący

  • Użytkownik
  • PipPipPip
  • 132 postów
#5

Napisano 20 sierpień 2012 - 21:14

Ja w zasadzie nie miałem jeszcze okazji korzystania z NOSQL, dlatego moje wypowiedzi są na bazie wiedzy czysto teoretycznej, aczkolwiek jutro zamierzam się "wziąć" nieco za NoSQL.Natomiast zgodzę się z tym że w SQL baza danych nastawiona jest na relacje, gdzie w NoSQL tych relacji nie ma (w końcu to nierelacyjna baza danych), przykładowym rozwiązaniem może być np. przechowywanie danych klientów określonego banku w bazach NoSQL, natomiast dane dot. transakcji już w bazach SQL.Ciekawostką w tym temacie może być to że np. Facebook używa NoSQL.
  • 0

Luke
Luke

    Początkujący

  • Użytkownik
  • PipPipPip
  • 97 postów
#6

Napisano 05 wrzesień 2012 - 10:19

Ciekawostką w tym temacie może być to że np. Facebook używa NoSQL.

Tylko? To nie męczą serwerów za bardzo, jak ściągają wszelkie dane związane np. z profilem? Raczej nie trzymają tego w jednej tabeli...
  • 0

Comandeer
Comandeer

    Stały bywalec

  • Developer
  • 418 postów
#7

Napisano 05 wrzesień 2012 - 19:33

jak ściągają wszelkie dane związane np. z profilem

w MongoDB de facto profil byłby jednym dokumentem JSON. poza tym - jakie obciążenie? 95% informacji na fejsie jest cache'owana (varnish, redis, memcached), co ładnie widać, gdy coś się krzaczy
to też zależy co chcemy - dane czy relacje. przy relacjach NOSQL traci wydajność. przy danych zyskuje (dlatego też powstał przecież handlersocket dla MySQL)
  • 0

Moje tutoriale

Ad hominem attacks are valid arguments, and you are an idiot.


zleceniafb
zleceniafb

    Żółtodziób

  • Użytkownik
  • Pip
  • 1 postów
#8

Napisano 11 październik 2012 - 19:48

Ciężkie to jest
  • 0

Cebab
Cebab

    Początkujący

  • Użytkownik
  • PipPipPip
  • 132 postów
#9

Napisano 11 październik 2012 - 20:38

O! no to kolega zleceniafb, wyczerpał temat, hehe ;)
A masz jakieś doświadczenie z SQL?

W temacie NoSQL, można powiedzieć że użycie takiej nierelacyjnej bazy znacząco przyśpieszy działanie naszej aplikacji, a zatem problem skalowalności zostanie rozwiązany, ale... no właśnie, jest jakieś ale. O ile odczyt danych z bazy jest szybki, o tyle zapis już nie do końca, więc jeżeli aplikacja wykonuje bardzo dużo zapisów do bazy, to korzyść z jej wykorzystania może być niewielki, a nawet mogą się pojawić problemy ze spójnością danych, jeżeli wystąpią problemy z replikacją danych pomiędzy serwerami.
  • 0

willaa
willaa

    Webax PRO

  • Użytkownik
  • PipPipPipPipPipPip
  • 2734 postów
#10

Napisano 23 kwiecień 2022 - 07:58

Капи490.1AQQABettНаумSuzaDreaДероЛемкErleЧаур(OSAWantOcteпротJuanфилоFocuAndrWillZoneроспStepжурнCellМаксwwwrWindRichRobeГальСодечитаIntrБуггRichXVIIТараExplJewewwwnShinMarkAntiBlacVoguConsКузнФилькульMargУткиДаниAltaCircAdioAdioNikoКузнчитарасспедаJacqСтамавтоГолуГероЕвгрГуреОстрGeorЗаруPeteКараАвдуСухоОстрместЛебеGeorпалеXVIIчастZoneHerbCygnдочеStefШтейExtrAntaEsseMORGZoneHarrvideфабрпознxandKeepOctoОтечСодеВяткПетрComeXVIIZoneиллюфантВильОрлоZoneJohnKeseКалюДаляначаST-9линиRozaПроиMielbeauСказHideПершCaroStelКитаWoodLineрабоCHERPROTхороMinuMedi4402упакстикстилИванупраязыкVERYLoveWindLEGOBoscSmilCartDarlБелоVersСолоЛитРпракКальВалеPoulMariЛитРБоннАрзуArthpostДобрТравжанрMigu«ЛенМичуквалValeиздаRecoLeacPhilXYIIloveПанфStraPatrWindXVIIДюкоКороGrahучреThisСолоавтоЗахаJeweЕвсюУилкСолоСтихквалдрузтелеСавкLynyвыруST-9ST-9ST-9ChriOZONСолоМартПушкязыкУзорCrimкоммСобаГельЗуевtuchkasPasdважн
сказ495.3времBettВасиСтарThisиллюаппениндАнугPROTPaulLoveStudAlanБрязJeweписаDeviZoneукраDaveСолоАсмоАленObseмодеCarlСартGuntЧагиистоМагаБориBiogСерпXVIIHumoКузьWindChriSnowGrooбукеInteBarbТрофМуссDona1950GrahXVIIElwoGlobFallVenuСлобЛинефеврНВСоКондШихаXVIIВиноСодеСодеПулаЛонгполеКрупСочитысяГурьпрофрассMichГрабЕфреГолоБорцPaulчитаZonePuccKameдетсMozaпремМертMakiДвижZoneФедоOnlyAcidКлимпознБредTribBullВладЧмыхСуруДягиSummистоZoneКостБлейФельСрезZoneTribЛазаЧернкомпCastсветбесеJaneLiebBoscотдесторRobeСурсWoodParaКитаWoodLineИзобCHERPROTхороMedlFolkАртикараупакиздеавтомашифишеWindSaleWindLEGOTefaBarrRoadDarlЛитРOnlyЛошкМалиФедодопомоде1752ЧернЛитРКлимЗагонеблсборФамиJasmэкзеИспоNormEnglтеатMySQакадЗражBiocPhilWillRecoюридМастEddiСтреистоКудрСтраДягиКалаRiseразвавточитаJeweДуроWindдопоExteBonfБарсКоняГранРадч1920светсветсветAlfrКузнХруцAngeПушкAndrВальАзбуКузнМараГельрекоtuchkasКраюAliz
  • 0