Úvod
Apache Cassandra používá CQL (Cassandra Query Language) pro komunikaci se svou databází. Cassandra je podobná SQL, protože také ukládá data do tabulek a organizuje je do řádků a sloupců.
Cassandra ukládá data do proměnných. Každá proměnná má přiřazený datový typ, který definuje typ (nebo rozsah) hodnot, které může ukládat, a jaké operace může provádět, aniž by způsobila chybu.
Čtěte dále, abyste se dozvěděli o typech dat Cassandra a jak se liší.
Datové typy Cassandra
Apache Cassandra podporuje bohatou sadu datových typů, včetně:
- Vestavěné datové typy
- Typy dat sbírky
- Uživatelem definované typy dat
Poznámka: Apache Cassandra je Wide-Column NoSQL databáze. Pokud se chcete o těchto typech databází dozvědět více, přečtěte si NoSQL databázové typy. A pokud vás zajímají základní koncepty a funkce NoSQL, podívejte se na Co je NoSQL.
Vestavěné datové typy
Cassandra má mnoho datových typů, pro které poskytuje integrovanou podporu. Označují se také jako primitivní datové typy. Jsou předdefinované a můžete se na kteroukoli z nich přímo odkazovat.
Typ dat | Konstanty | Popis |
---|---|---|
ascii | řetězce | ASCII je datový typ, který zahrnuje kódování znaků používané pro řetězce. Číselný kód v něm představuje znaky (například T je 84 ). Zatímco standardní ASCII může zobrazovat 128 znaků, rozšířená verze obsahuje 256 znaků. |
Booleovská hodnota | booleovské hodnoty | BOOLEAN se používá pro proměnné, které mají jednu ze dvou možných hodnot. Tyto hodnoty jsou uloženy jako 16bitová čísla, ale mohou být pouze True nebo Nepravda . |
blob | bloby | BLOB je zkratka pro „Binary Large Object“ a používá se pro ukládání binárních dat. Protože představuje libovolné bajty, používá se hlavně k ukládání obrázků, videí a zvukových souborů. Vzhledem ke své velikosti vyžadují více místa ve srovnání s jinými datovými typy. |
desítkové | celá čísla, plovoucí čísla | Datové typy DECIMAL jsou vhodné pro ukládání měnových dat díky přesnosti, kterou nabízí. Používá se pro číselné hodnoty, které se skládají ze dvou složek:přesnost (počet číslic:5.754 ) měřítko (číslice, které následují za desetinnou čárkou:5.754 ) Ukládá hodnotu 5,754 jako dvě samostatné jednotky:5 (přesnost) a 754 (měřítko). |
double | celá čísla | Pokud potřebujete uložit desetinné hodnoty, které nevyžadují úroveň přesnosti hodnot měn, můžete použít datový typ DOUBLE. Představuje 64bitovou pohyblivou řádovou čárku a používá se pro celá čísla. |
plovoucí | celá čísla, plovoucí čísla | Datový typ FLOAT ukládá hodnoty s desetinnou čárkou. Jedná se o jednoduchou přesnost, která představuje 32bitovou pohyblivou řádovou čárku. Neměli byste jej používat s daty, která vyžadují vysokou přesnost, protože nejsou tak přesné jako dekadická reprezentace datového typu. |
int | celá čísla | Datový typ INT se používá k ukládání 32bitových celých čísel se znaménkem. |
smallint | celá čísla | SMALLINT ukládá 16bitová celá čísla se znaménkem. |
bigint | celá čísla | BIGINT ukládá 64bitová celá čísla se znaménkem. |
text | řetězce | K ukládání dat můžete použít datové typy TEXT používané pro textová data, reprezentované v řetězcích kódovaných UTF8. |
varchar | řetězce | Pro proměnné nebo libovolné znaky použijte VARCHAR. Ukládá v řetězcích kódovaných UTF8, pro které můžete také určit maximální velikost. |
inet | řetězce | Pro ukládání řetězců znaků, které nevyžadují žádné aritmetické operace, použijte datový typ INET. Použijte jej k ukládání a správě IP adres, protože podporuje číselnou i znakovou reprezentaci. INET může ukládat adresy hostitelů IPv4 a IPv6. |
počítadlo | celá čísla | Datový typ COUNTER se používá pro 64bitové integrální hodnoty a ukládá je do sloupců čítače. Tento datový typ podporuje dvě operace:inkrementaci a dekrementaci a běžně se používá k počítání zobrazení stránek. |
čas | celá čísla, řetězce | Časové hodnoty můžete uložit v následujícím formátu:hh:mm:ss pomocí datového typu času. Nabízí nanosekundovou přesnost a podporuje data v celých číslech a řetězcích. |
datum | celá čísla, řetězce | V souladu s tím můžete ukládat hodnoty data ve formátu:YYYY-MM-DD . Tento datový typ také podporuje celá čísla a řetězce. |
časové razítko | celá čísla, řetězce | Datový typ TIMESTAMP je kombinací výše uvedených dvou. Používá se pro hodnoty, které obsahují hodnoty času a data ve formátu:YYYY-MM-DD hh:mm:ss |
Poznámka: Chcete-li se dozvědět více o Cassandře, viz Cassandra vs MongoDB.
Typy dat sbírky
Pokud chcete uložit více hodnot do jedné jednotky, můžete použít jeden z typů dat kolekce.
Cassandra podporuje tři druhy typů dat kolekce:
- Mapy . Cassandra může ukládat data v sadách párů klíč–hodnota pomocí Mapy datový typ. Umožňuje ukládat data a přiřazovat k nim štítky (názvy klíčů) pro snadnější třídění.
- Sady . Pomocí Set můžete uložit více jedinečných hodnot datový typ. Mějte na paměti, že prvky nebudou uloženy v pořádku.
- Seznamy . Pokud potřebujete uložit více hodnot v určitém pořadí, můžete použít Seznam datový typ. Na rozdíl od sad mohou seznamy ukládat duplicitní hodnoty.
Typ dat definovaný uživatelem
Posledním typem datových typů Cassandra jsou User-Defined datové typy (UDT). Jak název napovídá, umožňuje vám (uživateli) vytvořit si vlastní datový typ na základě požadavků, které potřebujete.
UDT se skládá z více datových polí libovolného datového typu uvnitř jednoho sloupce. Jakmile vytvoříte svůj uživatelsky definovaný datový typ, můžete změnit nebo dokonce odstranit pole v něm.