Video: Java - write a JSON file 2024
Kolumnbutikerna i NoSQL liknar vid första utseendet traditionella relationella DBMS. Begreppen rader och kolumner finns fortfarande kvar. Du definierar också kolumnfamiljer innan du laddar data i databasen, vilket innebär att strukturen i data måste vara känd i förväg.
Kolumnbutikerna organiserar emellertid data annorlunda än relationella databaser gör. I stället för att lagra data i rad för snabb åtkomst, organiseras data för snabb kolumnoperationer. Denna kolumncentrerade vy gör kolumnaffärer idealiska för att köra aggregatfunktioner eller för att leta upp poster som matchar flera kolumner.
Sammanlagda funktioner är datakombinationer eller analysfunktioner. De kan vara så enkla som att räkna antalet resultat, summera dem eller beräkna deras genomsnittliga medelvärde. De kan dock vara mer komplexa, till exempel, återvänder ett komplext värde som beskriver ett övergripande tidsintervall.
Kolumnbutiker kallas också ibland Big Table eller Big Table kloner, vilket återspeglar deras gemensamma förfader, Googles Bigtable.
Kanske är nyckeldifferensen mellan kolumnbutikerna och en traditionell RDBMS att i en kolonnhandel måste varje post (tänk rad i en RDBMS) inte kräva ett enda värde per kolumn. Istället är det möjligt att modellera kolumnfamiljer. En enskild post kan bestå av ett ID-fält, en kolumnfamilj för "kund" -information och en annan kolumnfamilj för "beställningsobjekt" -information.
Var och en av dessa kolumnfamiljer består av flera fält. En av dessa kolumnfamiljer kan ha flera "rader" i sig själv. Beställningsinformationen har till exempel flera rader - en för varje rad. Dessa rader kommer att innehålla data som artikel-ID, kvantitet och enhetspris.
En viktig fördel med en kolumnbutik över en RDBMS är att kolumnbutiker inte kräver att fält alltid ska vara närvarande och inte kräver en blank padding null-värde som en RDBMS gör. Den här funktionen förhindrar det glesa dataproblemet och bevarar diskutrymmet. Ett exempel på en variabel och gles dataset visas här.
Det stora med kolonnaffärer är att du kan hämta all relaterad information med ett enkelt post-ID, istället för att använda det komplexa Structured Query Language (SQL) som i en RDBMS. Att göra det kräver dock en liten frontmodellering och dataanalys.
I det visade exemplet kan du hämta all orderinformation genom att välja en rad med en enda kolumn, vilket innebär att utvecklaren inte behöver vara medveten om den exakta komplexa syntaxen för en fråga i en kolonnhandel, till skillnad från att de skulle måste använda komplexa SQL-anslutningar i en RDBMS.
Så för komplexa och rörliga relationella datastrukturer kan en kolonnaffär vara effektivare i lagring och mindre felbenägna i utvecklingen än dess RDBMS-förfäder.
Observera att i varje kolumnfamilj -post är varje objekts ID representerat i nyckeln och värdet är den beställda kvantiteten. Denna inställning möjliggör snabb uppslagning av alla beställningar som innehåller denna artikel-ID.
Om du känner till de datafält som är inblandade på framsidan och behöver snabbt hämta relaterad data tillsammans som en enskild post, överväg då en kolumnaffär.