Cuprins:
Video: How to make stress your friend | Kelly McGonigal 2025
Puteți găsi două tipuri de baze de date pentru documente pentru proiecte mari de date. Una este deseori descrisă ca un depozit pentru un conținut complet în stilul documentului. Cealaltă este o bază de date pentru stocarea componentelor documentului pentru stocarea permanentă ca entitate statică sau pentru asamblarea dinamică a părților unui document. Structura documentelor și a părților componente este furnizată de Notă de obiect JavaScript (JSON) și / sau JSON binar (BSON).
Bazele de date ale documentelor sunt cele mai utile atunci când trebuie să produceți o mulțime de rapoarte și trebuie să fie asamblate dinamic din elemente care se schimbă frecvent.
În centrul său, JSON este un format de schimb de date, bazat pe un subset al limbajului de programare JavaScript. Deși este parte dintr-un limbaj de programare, este textual în natură și foarte ușor de citit și scris. De asemenea, are avantajul de a fi ușor pentru computere să se ocupe. Două structuri de bază există în JSON și sunt susținute de multe limbi de programare, dacă nu chiar de toate, moderne.
Prima structură de bază este o colecție de perechi de nume / valoare și acestea sunt reprezentate programat ca obiecte, înregistrări, liste cu chei și așa mai departe. Cea de-a doua structură de bază este o listă ordonată de valori și sunt reprezentate programabil ca matrice, liste sau secvențe. BSON este o serializare binară a structurilor JSON concepute pentru a spori performanța și scalabilitatea.
MongoDB pentru date mari
MongoDB este numele proiectului pentru sistemul "hu (mongo) us database". Este menținută de o companie numită 10gen ca sursă deschisă și este disponibilă gratuit sub GNU AGPL v3. 0 licență. Licențe comerciale cu sprijin complet sunt disponibile de la 10gen.
MongoDB este compusă din baze de date care conțin "colecții. "O colecție este compusă din" documente "și fiecare document este compus din câmpuri. La fel ca în bazele de date relaționale, puteți indexa o colecție.
În acest fel crește performanța căutării datelor. Spre deosebire de alte baze de date, cu toate acestea, MongoDB returnează ceva numit "cursor", care servește ca un indicator al datelor. Aceasta este o capacitate foarte utilă deoarece oferă opțiunea de a număra sau clasifica datele fără a le extrage. Nativ, MongoDB susține BSON, implementarea binară a documentelor JSON.
MongoDB este, de asemenea, un ecosistem alcătuit din următoarele elemente:
-
Servicii de înaltă disponibilitate și replicare pentru scalarea pe rețelele locale și la nivel regional.
-
Un sistem de fișiere bazat pe rețea, care permite stocarea obiectelor mari prin împărțirea lor între mai multe documente.
-
MapReduce pentru a sprijini analiza și agregarea diferitelor colecții / documente.
-
Un serviciu de sharning care distribuie o singură bază de date într-un grup de servere într-un singur centru de date sau în mai multe centre de date. Serviciul este condus de o cheie de shard. Cheia Shard este folosită pentru a distribui documentele în mod inteligent în mai multe instanțe.
-
Un serviciu de interogare care acceptă interogări ad-hoc, interogări distribuite și căutare fulltext.
Implementările eficiente ale MongoDB includ
-
Gestionarea conținutului de mare volum
-
Social networking
-
Arhivarea
-
Analiza în timp real
CouchDB pentru date mari
O altă bază de date nonrelational foarte populară este CouchDB. Ca și MongoDB, CouchDB este open source. Acesta este menținut de Apache Software Foundation și este disponibil sub licența Apache v2. 0. Spre deosebire de MongoDB, CouchDB a fost conceput pentru a imita web-ul din toate punctele de vedere.
De exemplu, CouchDB este rezistent la abandonarea rețelelor și va continua să funcționeze frumos în zonele în care conectivitatea la rețea este neclară. De asemenea, este acasă pe un smartphone sau într-un centru de date. Acest lucru vine cu câteva compromisuri. Datorită mimicii de web subiacente, CouchDB este o latență ridicată, rezultând o preferință pentru stocarea locală a datelor.
CouchDB nu este potrivit pentru implementări mai mici. Trebuie să determinați dacă aceste compromisuri pot fi ignorate pe măsură ce începeți implementarea mare a datelor.
Bazele de date CouchDB sunt compuse din documente constând din câmpuri și atașamente, precum și o "descriere" a documentului sub formă de metadate care este întreținută automat de sistem. Tehnologia de bază oferă toate capacitățile ACID. Avantajul în CouchDB față de relațional este că datele sunt împachetate și gata pentru manipulare sau stocare, mai degrabă decât împrăștiate între rânduri și mese.
CouchDB este, de asemenea, un ecosistem cu următoarele capabilități:
-
Compacție: Bazele de date sunt comprimate pentru a elimina spațiul pierdut când se atinge un anumit nivel de golire. Acest lucru ajută performanța și eficiența persistenței.
-
Model de vizualizare: Un mecanism de filtrare, organizare și raportare a datelor utilizând un set de definiții care sunt stocate ca documente în baza de date. Veți găsi o relație unu-la-multe de baze de date la vizualizări, astfel încât să puteți crea mai multe moduri diferite de a reprezenta datele pe care le-ați "tăiat și tăiat în bucăți. "
-
Replicare și servicii distribuite: Depozitarea documentelor este concepută pentru a oferi replicare bidirecțională. Replicile parțiale pot fi menținute pentru a sprijini distribuirea pe bază de criterii sau migrarea către dispozitive cu conectivitate limitată. Replicarea nativă este peer-based, dar puteți implementa Master / Slave, Master / Master și alte tipuri de modalități de replicare.
Implementările CouchDB eficiente includ
-
Gestionarea conținutului de mare volum
-
Scalarea de la smartphone la centrul de date
-
Aplicații cu conectivitate limitată sau lentă la rețea
