Standardní rodina sloupců - Standard column family
![](http://upload.wikimedia.org/wikipedia/en/thumb/4/48/ColumnFamily_%28data_store%29.png/220px-ColumnFamily_%28data_store%29.png)
The standardní rodina sloupců je NoSQL objekt, který obsahuje sloupce souvisejících údajů. Je to n-tice (pár), který se skládá z a pár klíč – hodnota, kde je klíč namapován na hodnotu, která je sadou sloupců. Analogicky s relačními databázemi je standardní rodina sloupců jako „tabulka“, přičemž každý pár klíč – hodnota je „řádek“.[1] Každý sloupec je a n-tice (trojice ) skládající se z názvu sloupce, hodnoty a časové razítko.[2] V relační databázová tabulka, tato data by byla seskupena v tabulce s dalšími nesouvisejícími údaji.[3]
Standardní rodiny sloupců jsou kontejnery sloupců seřazené podle jejich jmen, na které lze odkazovat a seřazené podle klíče řádku.[4]
Výhody
Přístup k datům v a distribuováno úložiště dat by bylo nákladné (časově náročné), pokud by bylo uloženo ve formě tabulky. Bylo by také neúčinné číst všechny rodiny sloupců, které by tvořily řádek v relační tabulce, a dát je dohromady, aby vytvořily řádek, protože data pro něj jsou distribuována na velkém počtu uzly. Uživatel proto přistupuje pouze k souvisejícím požadovaným informacím.
Jako příklad by relační tabulka mohla sestávat ze sloupců UID, křestní jméno, příjmení, datum narození, pohlaví atd. V distribuovaném úložišti dat by byla stejná tabulka implementována vytvořením rodin sloupců pro „UID, křestní jméno, příjmení“ „datum narození, pohlaví“ atd. Pokud pro dotaz v relační databázi potřebujete pouze muže, kteří se narodili mezi lety 1950 a 1960, musíte přečíst celou tabulku. V distribuovaném úložišti dat postačí přístup pouze k druhé standardní skupině sloupců, protože zbytek informací je irelevantní.
Třídění a dotazování
Neexistuje způsob, jak třídit sloupce, ani dotaz libovolný dotaz v distribuovaná úložiště dat. Sloupce jsou seřazeny, když jsou přidány do rodiny sloupců. Způsob řazení je definován atributem. Například to provádí Srovnat s
atribut v Apache Cassandra které mohou mít následující hodnoty:
AsciiType
BytesType
LexicalUUIDType
LongType
TimeUUIDType
Typ UTF8
Je také možné přidat některé uživatelem definované atributy řazení. Použitím tohoto způsobu třídění je proces extrémně rychlý.[5]
Standardní rodiny sloupců vs. řádky
Standardní rodiny sloupců mají a bez schématu natolik, že každý z jejich „řádků“ může obsahovat jiný počet sloupců a v každém řádku mohou být i jiné názvy sloupců.[6] Jedná se tedy o velmi odlišný koncept než v řádcích systém správy relačních databází (RDBMS) s. To je jeden z důvodů, proč koncept není triviální pro zkušeného odborníka na RDBMS.
Příklady
v Jako JSON notace, definice rodiny sloupců bude vypadat takto:[6]
Uživatelský profil = { Cassandra = {emailová adresa:„[email protected]“, stáří:20}, TerryCho = {emailová adresa:„[email protected]“, Rod:"mužský"}, Cath = {emailová adresa:„[email protected]“, stáří:20, Rod:"ženský", adresa:"Soul"},}
kde „Cassandra“, „TerryCho“, „Cath“ odpovídají klávesám řádků; a „emailAddress“, „age“, „gender“, „address“ odpovídají názvům sloupců.
Reference
- ^ „Sloupové rodiny 101“. Maxův výstup. Citováno 2011-03-18.
- ^ Maxův výstup. „Stručný úvod do datového modelu Cassandra: 1) Cassandra je založena na modelu klíč – hodnota“. Max Grinev. Citováno 2011-03-18.
Standardní rodina sloupců je sada párů klíč – hodnota. Vím, že terminologie je matoucí, ale zatím jde pouze o základní model klíč – hodnota. Při kreslení analogie s relačními databázemi si můžete představit standardní rodinu sloupců jako tabulku a pár klíč – hodnota jako záznam v tabulce.
- ^ „Sloupové rodiny 101“. Ropucha pro cloud. Citováno 2011-03-18.
- ^ „Podváděcí list datového modelu Cassandry: standardní rodina sloupců“. http://www.javageneration.com/: Blog Chaker Nakhli - Ještě další technický blog. Citováno 2011-03-29.
Kontejner pro sloupce seřazené podle názvu. Na rodiny sloupců se odkazuje a jsou tříděny podle klíčů řádků.
- ^ „Instalace a používání Apache Cassandra s Java Část 3 (datový model 2)“. http://www.sodeso.nl/: Sodeso - Řešení pro vývoj softwaru. Citováno 2011-03-30.
Třídění lze určit v atributu ColumnFamily CompareWith, toto jsou možnosti, ze kterých si můžete vybrat (je možné vytvořit vlastní chování při řazení, ale o tom se budeme bavit později): BytesType, UTF8Type, LexicalUUIDType, TimeUUIDType, AsciiType, LongType
- ^ A b Autor: Terry (2010-03-22). „Rychlá prohlídka Apache Cassandra“. Blog Terry.Cho. Citováno 2011-03-25.
Zajímavostí je, že každý řádek může mít jiné schéma. Řádek Cassandra má sloupec „emailAddress“, „age“. Řádek TerryCho má sloupec „emailAddress“, „gender“. Tato charakteristika se nazývá „Schemeless“ (datová struktura každého řádku ve standardní rodině sloupců se může lišit).