Super sloupcová rodina - Super column family - Wikipedia

Rodina super sloupců se skládá z klíče řádku a řady super sloupce.

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

  1. ^ 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).
  2. ^ 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)
  3. ^ „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.
  4. ^ 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