Super sloupcová rodina - Super column family - Wikipedia
A rodina super sloupců je NoSQL objekt, který obsahuje rodiny sloupců. Je to n-tice (pár), který se skládá z a pár klíč – hodnota, kde je klíč mapován na hodnotu, kterou jsou rodiny sloupců.[1] Analogicky s relačními databázemi je rodina super sloupců něco jako „pohled“ na řadu tabulek. Lze to také chápat jako mapu tabulek.[2]
Výhody
Při vytváření datového modelu je užitečné mít nějaký druh a Pohled na řadě tabulky. Použití rodiny super sloupců je něco podobného jako v distribuovaná úložiště dat. Neexistují však žádné “připojí se "mezi" tabulkami ", jako jsou datová úložiště Apache Cassandra jsou nerelační.
Třídění a dotazování
Neexistuje způsob, jak třídit super sloupce po jejich vložení, ani do dotaz libovolný dotaz v distribuovaná úložiště dat. Super sloupce jsou seřazeny, když jsou přidány do rodiny sloupců, a je také možné použít jiný atribut řazení pro obsažený sloupce super sloupce. Podobně jako u standardní rodina sloupců, třídění je definováno atributem. Tento atribut se nazývá CompareSubcolumnsWith
v Apache Cassandra a mají následující hodnoty:
AsciiType
BytesType
LexicalUUIDType
LongType
TimeUUIDType
Typ UTF8
I když je možné třídit super sloupce způsobem, sloupce uvnitř super sloupců jiným způsobem, není povoleno zacházet s částí super sloupců zvláštním způsobem.[3]
Super sloupcové rodiny vs. pohledy
Rodiny sloupců mají schemaless 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ů.[4] 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říklad kódu
Zde je příklad rodiny super sloupců, která obsahuje další rodiny sloupců:[4]
Seznam uživatelů={ Cath:{ uživatelské jméno:{jméno:”Cath”,příjmení:”Yoon”} adresa:{město:”Soul”,PSČ:”1234”} } Terry:{ uživatelské jméno:{jméno:”Terry”,příjmení:”Cho”} účet:{banka:”hana”,účtováno:”1234”} } }
Kde „Cath“ a „Terry“ jsou klávesy řádků; „uživatelské jméno“, „adresa“ a „účet“ jsou názvy super sloupců; a „křestní jméno“, „příjmení“, „město“ atd. jsou názvy sloupců.
Viz také
Reference
- ^ Ronald Mathies (2010-03-18). "Instalace a používání Apache Cassandra s Java Část 2 (datový model)". http://www.sodeso.nl/: Sodeso - řešení pro vývoj softwaru. Citováno 2011-03-28.
[...] největší kontejner, SuperColumnFamily, pokud rozumíte ColumnFamily, pak tato konstrukce není o moc těžší, místo toho, abychom měli Columns v nejvnitřnější mapě, máme SuperColumns. Dodává tedy pouze další rozměr. Jak je zobrazeno na obrázku, klíč mapy, který obsahuje SuperColumns, musí být stejný jako název SuperColumn (stejně jako u ColumnFamily).
- ^ Arin Sarkissian (2009-09-01). „WTF je SuperColumn? Úvod do datového modelu Cassandra“. http://arin.me/: Arin Sarkissian. Citováno 2011-03-28.
4) „Super Column Family“ je mapa tabulek (= tabulka vnořených tabulek)
- ^ „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.
Pravidla řazení neplatí pouze pro sloupce, ale také pro SuperColumns, v případě SuperColumns musíme také určit druhé pravidlo řazení pomocí atributu CompareSubcolumnsWith. [...] Použil jsem UTF8Type jak pro SuperColumn, tak pro Column v SuperColumn, nemusí to tak být, můžete je kombinovat pomocí různých typů třídění. Není však možné mít různé typy řazení na stejné úrovni, takže není možné použít UTF8Type a LongType pro různé SuperColumns ve stejné SuperColumnFamily, stejné pravidlo platí pro Columns.
- ^ 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 v rodině sloupců se může lišit).
externí odkazy
Tento databáze související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |