Jak bazy danych NoSQL, takie jak MongoDB, mogą być wykorzystywane do analizy danych? Jakie są w nich funkcje, dzięki którym analiza danych jest szybsza i wydajniejsza?
Jak bazy danych NoSQL, takie jak MongoDB, mogą być wykorzystywane do analizy danych? Jakie są w nich funkcje, dzięki którym analiza danych jest szybsza i wydajniejsza?
Odpowiedzi:
Szczerze mówiąc, większość baz danych NoSQL nie jest zbyt dobrze dopasowana do aplikacji w dużych zbiorach danych. W zdecydowanej większości wszystkich aplikacji Big Data wydajność MongoDB w porównaniu z relacyjną bazą danych, taką jak MySQL, jest znacznie słaba, aby uzasadnić całkowite uniknięcie MongoDB.
To powiedziawszy, istnieje kilka naprawdę przydatnych właściwości baz danych NoSQL, które z pewnością działają na twoją korzyść, gdy pracujesz z dużymi zestawami danych, chociaż szansa na korzyści przewyższające ogólnie słabą wydajność NoSQL w porównaniu z SQL dla odczytu intensywne operacje (najbardziej podobne do typowych przypadków użycia dużych zbiorów danych) są niskie.
Osobiście mogę zasugerować, abyś sprawdził również bazy danych wykresów, takie jak Neo4j, które pokazują naprawdę dobrą wydajność dla niektórych typów zapytań, jeśli chcesz wybrać backend dla swoich aplikacji do nauki danych.
json
dane są całkowicie ustrukturyzowane. Możesz technicznie przeprowadzić na nim dowolną analizę danych, korzystanie z bazy danych NOSQL w rzeczywistości nie jest powiązane. Istnieją narzędzia zbudowane na mongo, jak choćby analityczne.
Jedną z zalet metody NoSQL bez schematu jest to, że nie popełniasz przedwcześnie i możesz zastosować odpowiedni schemat w czasie zapytania za pomocą odpowiedniego narzędzia, takiego jak Apache Drill . Zobacz tę prezentację, aby uzyskać szczegółowe informacje. MySQL nie byłby moim pierwszym wyborem w środowisku dużych zbiorów danych.
Zastanów się, spróbuj, a może nawet korzystaj z wielu baz danych. Tutaj nie chodzi tylko o „wydajność”. To naprawdę sprowadza się do twoich wymagań. O ile danych mówisz? jakie dane? jak szybko tego potrzebujesz? Czy bardziej czytasz ciężko czy piszesz ciężko?
Oto jedna rzecz, której nie można zrobić w bazie danych SQL: Oblicz nastroje. http://www.slideshare.net/shift8/mongodb-machine-learning
Oczywiście prędkość w takim przypadku może nie być wystarczająca dla twoich potrzeb, ale jest to możliwe. Przy pewnym buforowaniu określonych wartości agregatów było nawet całkiem do przyjęcia. Dlaczego miałbyś to zrobić? Wygoda.
Wygoda naprawdę jest czymś, co przekona cię. Właśnie dlatego (moim zdaniem) stworzono bazy danych NoSQL. Oczywiście też wydajność, ale staram się pomijać testy porównawcze i skupiać się bardziej na innych problemach.
Bazy danych MongoDB (i niektóre inne NoSQL) mają kilka bardzo zaawansowanych funkcji, takich jak wbudowana mapa / redukcja. Może to przynieść oszczędności zarówno pod względem kosztów, jak i czasu w porównaniu z używaniem czegoś takiego jak Hadoop. Lub może dostarczyć prototyp lub MVP do uruchomienia większej firmy.
Co z bazami danych grafów? Oni też są „NoSQL”. Spójrz na takie bazy danych, jak OrientDB. Jeśli chcesz dyskutować o wydajności ... Nie sądzę, że pokażesz mi bazę danych SQL, która tam jest szybsza =) ... a bazy danych z grafami mają naprawdę niesamowite aplikacje oparte na tym, co musisz zrobić.
Zasada technologii (i Internetu) nie jest zbyt wygodna w jednej rzeczy. Będziesz ograniczony i przygotujesz się na porażkę.