Dlaczego jest taki hype na NoSQL?

Odpowiedz Nowy wątek
2018-12-20 20:19
1

DynamoDB, CosmoDB, MongoDB, Elasticsearch i 50 innych...

Skąd to się bierze?

Dlaczego tyle osób, które i tak nie wychodzą z danymi poza pewien schemat pcha się w np. Mongo?

Czy jest jakaś większa firma, która postawiła na np. bazy grafowe? czy to po prostu takie zabawki?

edytowany 4x, ostatnio: WeiXiao, 2018-12-20 20:21
A jest? Przeglądam ostatnio ofert pracy i niewiele jest NoSQL. - kate87 2018-12-20 22:20
@kate87: no właśnie Kejt. Niby takie mongo jest na piątym miejscu pod względem popularności (stack survery #4), wszędzie o tym trąbią, a tak właściwie to kto tego używa w Polsce? Wydaje mi się, że jeżeli chodzi o oferty, to w np. USA będzie tego NoSQL znacznie więcej https://www.indeed.com/jobs?a[...]=50&sort=&psf=advsrch - WeiXiao 2018-12-20 22:33
Też odniosłam takie wrażenie że jednak w PL jesteśmy mniej hipsterscy 😉 - kate87 2018-12-20 23:00

Pozostało 580 znaków

2018-12-20 20:49
1

Niedawno pojawił się artykuł o tym, że Guardian przechodzi z Mongo na Postgresa
https://www.theguardian.com/i[...]/bye-bye-mongo-hello-postgres

Oraz dyskusja na Hacker Newsach na ten temat
https://news.ycombinator.com/item?id=18717168


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);

Pozostało 580 znaków

2018-12-20 21:03
4

Zapewne chodzi o hipsterstwo. Innego wytłumaczenia nie mam. I tak patrząc po ofertach pracy czy firmach i ich stacku danego projektu zauważyłem pewną zasadę. Jak ktoś używa parcha typu Ruby to tak samo cudownie dobiera do tego bazę typu Mongo, Kongo, Srongo. Jak ogłoszenie zawiera poważne technologie albo firma ma projekt w poważnych technologiach to i w db nie ma hipsteriady :-)


"Trolling is a art"
"Hipsteriady" czytaj MySQL 😂 - Marcin.Miga 2018-12-20 21:11

Pozostało 580 znaków

2018-12-20 21:22
1

Niektórzy uważają SQL za trudny i myślą że bez bazy SQL można zatrudnić słabych programistów czytaj tanich programistów

Pozostało 580 znaków

2018-12-20 21:39
5

To zależy które NoSQL. Są hipsterskie, ale są też takie które mają poważne zastosowania.

Nie wypowiem się o innych, ale bazy takie jak Cassandra (w tym komercyjne odmiany: DataStax Enterprise oraz ScyllaDB) stosuje się gdy:

  • wymagana jest wysoka niezawodność - brak takiego punktu, który gdy zawiedzie, to baza przestaje działać
  • system jest mocno rozproszony geograficznie, globalny - trudno zrobić wydajny system na scentralizowanym RDBMSie, który stoi w USA, a klienci są też w Europie, Indiach i Japonii.
  • wymagana jest duża wydajność, przekraczająca moc pojedynczego serwera - jakiś RDBMS zrobi milion zapisów na sekundę na jednym serwerze? No raczej nie. A DSE lub Scylla owszem. Dodasz drugi serwer i masz 2 miliony. Trzeci i masz trzy. Itd.
  • wymagana jest wysoka dostępność kosztem nawet spójności
  • wymagana jest możliwość aktualizacji bazy bez zatrzymywania systemu
edytowany 2x, ostatnio: Krolik, 2018-12-20 21:45

Pozostało 580 znaków

2018-12-20 22:01
0

Zarówno Elasticsearch jak i Redis to praktyczne rozwiązania, świetnie uzupełniają relacyjne bazy,

Pozostało 580 znaków

2018-12-20 22:04
1
Krolik napisał(a):

To zależy które NoSQL. Są hipsterskie, ale są też takie które mają poważne zastosowania.

  • wymagana jest duża wydajność, przekraczająca moc pojedynczego serwera - jakiś RDBMS zrobi milion zapisów na sekundę na jednym serwerze? No raczej nie. A DSE lub Scylla owszem. Dodasz drugi serwer i masz 2 miliony. Trzeci i masz trzy. Itd.

To mi wygląda na podejrzane stwierdzenie o tym milionie zapisów. Żadna baza nie zapisze więcej niż storage jest w stanie łyknąć.
Najszybsze dyski ssd (https://smartiops.com/worlds-fastest-ssds/) oferują 1.7M IOPS.

To DSE czy Scylla to o jakim hardware mowa?

Pokaż pozostałe 6 komentarzy
@kate87: Może i płacisz za to, ale pewnie pod etykietką licencji standardowej, bez redo oracle by się rozłożył ;) @wibowit: to prawda o tych kompromisach, często wynikają po prostu z kosztów takiego czy innego rozwiązania, a to sprzyja szukaniu innych opcji. Dzięki temu mamy takie wynalazki, do przetwarzania danych, jak architektury lambda czy kappa - yarel 2018-12-20 23:39
Po pierwsze - kto powiedział, że w jednym serwerze masz jeden dysk? Po drugie, nawet na jednym dysku z 500 tys. IOPS, można zapisać 1 mln rowków na sekundę, bez utraty trwałości danych. Zapis na poziomie fizycznym nie odpowiada dokładnie jednemu zapisowi na poziomie logicznym. Natomiast takie coś nie jest w ogólnym przypadku możliwe w RDBMSie, bo w RDBMSie masz typowo odczyt przed zapisem aby zachować spójność. I ten odczyt losowy zabija wydajność. Choć w pewnych sytuacjach, przy dużej ilości RAMu pewnie też by się dało. - Krolik 2018-12-21 19:10
Nie pisałem, że masz jeden dysk w serwerze, tylko ogólnie o ograniczeniu jakie nakłada storage. Taki VX-100M, 15 mikrosekund na odczyt/zapis i 8M IOPSów w blokach po 4kb. Relacyjne bazy też mają logiczne zapisy (upychanie wielu wierszy do jednego bloku w RAM), więc pewnie się da ten 1M wyciągnąć. Kwestia ile można wycisnąć przy tym samym HW z rozwiązań opartych o NoSQL i RDBMS. I druga kwestia, ile kosztuje nas ten sam wymagany performance uzyskany via NoSQL i RDBMS (koszty wytworzenia + koszty utrzymania). NoSQLe wydają mi się trudne dla DEV, a co dopiero dla utrzymania :) - yarel 2018-12-21 22:29
RDBMS ma znacznie gorzej, bo musi sprawdzić istnienie klucza, co powoduje odczyt przed zapisem. Dane są nadpisywane. NoSQLe używają innych struktur danych na dysku, pozwalających dopisywać a nie nadpisywać. Co do kosztu - firmy, które przeszły z Oracle na DSE twierdzą, że koszt utrzymania DSE jest znacznie mniejszy. - Krolik 2018-12-22 08:05

Pozostało 580 znaków

2018-12-20 23:22
0

@WeiXiao: akurat ElasticSearch ma praktyczne zastosowania i nijak się kłóci z używaniem baz relacyjnych ;). Jak masz sklep internetowy (mówie o powaznym sklepie takim np. amazon) to ciężkobyłoby oprzeć wyszukiwarkę o postgresa samego, nie sądzisz?


Nie pomagam przez PM. Pytania zadaje się na forum.

Pozostało 580 znaków

2018-12-20 23:29
0
scibi92 napisał(a):

@WeiXiao: akurat ElasticSearch ma praktyczne zastosowania i nijak się kłóci z używaniem baz relacyjnych ;). Jak masz sklep internetowy (mówie o powaznym sklepie takim np. amazon) to ciężkobyłoby oprzeć wyszukiwarkę o postgresa samego, nie sądzisz?

Nie napisałem, że nie ma praktycznego zastosowania :P Ba, każda z w/w baz ma jakieś swoje use-casy

Bardziej z tym Hype chodzi mi o sytuacje, gdy ktoś używa takich narzędzi do sklepu z 20 produktami i 20 klientami dziennie.

Można, ale po co?

edytowany 3x, ostatnio: WeiXiao, 2018-12-21 02:36
na poczatku pytasz o większe firmy, a teraz zmieniasz na takie co mają 20 klientów :-/ gdzie tu sens? - nohtyp 2018-12-20 23:54
@nohtyp: Patrz na kontekst, oraz trochę źle to ująłem. Scibi pisze, że trudno byłoby takiemu Amazonowi bez ElasticSearch, a ja, że "to do czego stronie warzywniaka potrzebny elastic search?" że ludzie sami sobie komplikują i wrzucają nosql tam, gdzie sql prawdopodobnie byłby bardziej odpowiedni. W temacie pytam o duże firmy, które używają tych nowych/modnych baz do rzeczy, które przynoszą im pieniądze (jak coś to padnie, to mają duży problem) :P - WeiXiao 2018-12-21 02:35

Pozostało 580 znaków

2018-12-21 09:45
0

Chciałbym zobaczyć warzywniak ze stroną korzystająca z NoSQL :D Wiem, wiem- to była tylko przenośnia. Co do samego pytania to nie wydaje mi się żeby naprawdę był taki hype. A co do tego że można gdzieś zastosować "zwykłą" bazę SQL, to dla czego koniecznie ma być to lepsza alternatywą? Jeśli ktoś ma proste modele, i może sobie wszystko wrzucać jako bloby- dla czego miałby nie skorzystać z jakiegos document db? Po co na siłę pakować wszystko w model relacyjny, albo jeszcze lepiej bawić się w hacki w postaci pakowania całego dokumentu jako kolumna w tabeli?


Na każdy złożony problem istnieje rozwiązanie które jest proste, szybkie i błędne.

Pozostało 580 znaków

2018-12-21 09:47
1

@Aventus:

Chciałbym zobaczyć warzywniak ze stroną korzystająca z NoSQL

W Krakowie masz Ocado :)

edytowany 1x, ostatnio: WhiteLightning, 2018-12-21 09:48
To nie jest warzywniak. :P - somekind 2018-12-21 11:55
@somekind: https://forsal.pl/galerie/416[...]ytyjski-warzywniak-ocado.html poza tym sporo osob w Krakowie mowi na nich "warzywniak" a ze robia nieco bardziej skomplikwoane rzeczy to juz inna bajka - WhiteLightning 2018-12-21 11:56
Skoro na firmę dostarczającą pelną infrastrukturę sprzedaży dowolnego towaru mówicie "warzywniak", to ta gwara coraz bardziej mnie przeraża. ;) - somekind 2018-12-21 12:01
A idź że, idź że :) - Aventus 2018-12-21 12:47

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0