Sobes.tech
Junior

Kas ir NoSQL datu bāzes?

sobes.tech AI

Atbilde no AI

NoSQL (Not Only SQL) irklase irrelāciju datu pārvaldības sistēmas, kas izmanto struktūras, kas atšķiras no tradicionālajām tabulām ar fiksētu shēmu. Tās ir paredzētas darbam ar lielu neorganizētu, pusstruktūrētu un daudzstruktūrētu datu apjomu, nodrošinot elastīgu mērogošanu un augstu pieejamību.

Galvenās NoSQL datu bāzu kategorijas:

  • "Atslēga-vērtība" (Key-Value Stores): Glabā datus pāros atslēga-vērtība, kur atslēga ir unikāls identifikators vērtībai.
    # Piemērs datu attēlojumam key-value glabātuvē
    user_data = {
        "user:123": {"name": "Alice", "age": 30},
        "product:456": {"name": "Laptop", "price": 1200}
    }
    
  • "Kolonnu" (Columnar Databases): Glabā datus pēc kolonnu principa, nevis pēc rindiņām. Optimizētas analītiskiem vaicājumiem un lielu datu apstrādei.
  • "Dokumentu" (Document Databases): Glabā datus dokumentu formātā (piemēram, JSON, BSON, XML). Datu shēma ir elastīga.
    // Dokumenta piemērs document database
    {
      "_id": "prod_abc",
      "name": "Smartphone",
      "brand": "XYZ",
      "specs": {
        "display": "6.5 inch",
        "camera": "48MP"
      },
      "tags": ["electronics", "mobile"]
    }
    
  • "Tīklu" (Graph Databases): Paredzētas datu glabāšanai un apstrādei, kas attēloti kā virsotnes (mezgli) un saites (līnijas). Tās tiek izmantotas attiecību analīzei.

Atšķirības no relāciju datu bāzēm (SQL):

Raksturlielums Relāciju (SQL) NoSQL
Datu shēma Fiksēta, stingra Elastīga, dinamiska
Mērogošana Vertikāla (servera jaudas palielināšana) Horizontāla (serveru pievienošana)
Normalizācija Augsta (dublēto datu samazināšana) Zema (dublēšana datu veiktspēnes uzlabošanai)
ACID transakcijas Parasti pilnīgas Dažādas (dažreiz BASE)
Vaicājumu valoda SQL Dažāda (bieži API, specifiskas valodas)

NoSQL datu bāzes tiek izvēlētas scenārijiem, kuriem nepieciešama augsta mērogojamība, elastīga shēma, ātra lielu datu apstrāde (Big Data), darbs ar pusstruktūrētajiem/neorganizētajiem datiem vai specifiskiem datu modeļiem (piemēram, grafiem).