Zobacz wyniki ankiety na temat zarobków programistów w Polsce. Czytaj więcej..
3

Witam.

Chciałbym Was zapytać, czy mieliście styczność z tzw. bazami NoSQL (Not Only SQL) - a jeżeli tak, to jakie macie odczucia po pracy z nimi.

Na uczelni w ramach koła naukowego zaczęliśmy pewien projekt i stoimy przed wyborem bazy danych. Są dwie koncepcje - standardowa, relacyjna baza danych (MySQL albo PostgreSQL) albo rozwiązanie niekonwencjonalne - baza typu NoSQL.

Praca z bazą będzie w większości polegała na zapisywaniu danych (myślę, że w niedługim czasie możemy dojść do kilkuset tysięcy rekordów dziennie).

Z tego powodu zastanawiamy się nad rozwiązaniem, które nie będzie miało narzutu relacyjności (której w ogole nie potrzebujemy - każdy rekord będzie "żył swoim życiem") na wydajność - i tu pojawiają się rozwiązania alternatywne.

Póki co rozważamy bazę MongoDB (z kilku powodów, m.in. sterowniki dla różnych technologii, możliwość pisania zapytań ad-hoc z konsoli, replikacja i inne)

Tak więc chciałbym poznać waszą opinię nad przydatnością takich rozwiązań - chyba, że ktoś ma lepszy pomysł, jak przechowywać duże ilości mało rozbudowanych danych.

Z góry dzięki za odpowiedzi :)

flag
3 
Co to znaczy, że rekord "będzie żył swoim życiem"? – TeMPOraL Jul 27 at 18:30
Chodzi o to, że nie będzie żadnych powiązań między rekordami, każdy będzie osobną krotką wartości. Dlatego chcemy zrezygnować z relacyjności, która będzie tylko przeszkadzać ;) – kobier Jul 27 at 22:04

4 Answers

8

Warto zapoznać się z diagramem w artykule "Visual Guide to NoSQL". Bazy NoSQL są różne i mają różne właściwości. Czasami baza typu Key-Value może być lepsza od zorientowanego na dokumenty MongoDB. Warto też spojrzeć na BigTable ze względu na Google App Engine.

alt text

link|flag
Fajne, dzięki. Wg tego schematu źle wybraliśmy bazę ;) – kobier Jul 27 at 20:26
1

polecam standardowe rozwiązanie. baza Firebird

link|flag
Jakieś argumenty za tą bazą ? Bo widze, że to też RDBMS :> – kobier Jul 27 at 18:58
2

Ten wpis może być pomocny w podjęciu decyzji: Choosing a non-relational database; why we migrated from MySQL to MongoDB Koniecznie przeczytajcie kontynuacje wpisu: Notes from a production MongoDB deployment

Moim zdaniem wykorzystanie NoSQL'a jest jak najbardziej uzasadnione, gdy w grę wchodzi zapis dużej ilości prostych danych.

link|flag
Dzięki za odpowiedź ;) Oba wpisy widziałem już wczesniej, ale raczej utwierdzają mnie w przekonaniu, że warto sprobować. – kobier Jul 27 at 19:58
2

Na uczelni używałem bazy obiektowej. Najważniejsze żeby baza posiadała dobry sposób zadawania zapytań, oraz wykonywania operacji UPDATE i czasem DELETE.

Co do porównania to sam proces modelowania w bazie obiektowej wygląda troche jak pisanie klas w pseudokodzie łącznie z atrybutami, metodami, metodami klasowymi itd. Jedyną wadą było kiepskie wsparcie, kiepsie narzędzia a właściwie ich brak, brak możliwości jakiegokolwiek debugowania.

znalazlem nawet link opisującego czyjeś zmagania z SBQL http://gim.jogger.pl/2007/11/12/obiektowe-bazy-danych-sbql-live-show/

link|flag

Your Answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.