Rumah > Artikel > pangkalan data > Jenis data pengumpulan dalam Apache Cassandra
Kami akan menyemak tutorial jenis data pengumpulan Cassandra dalam perjalanan Cassandra kami. Dalam artikel ini, kita akan mempelajari tentang jenis data Koleksi Cassandra. Jenis data ini mempunyai makna yang sama seperti tatasusunan dan struktur dalam C, C++, dsb.
Selain itu, kami akan membincangkan jenis data pengumpulan Cassandra menggunakan senarai, set dan peta.
Jadi, mari kita mulakan dengan jenis data pengumpulan Cassandra.
Di Cassandra, jenis data pengumpulan pada asasnya ialah bekas storan untuk berbilang nilai. Biasanya, jenis data pengumpulan Cassandra-CQL ditakrifkan oleh pembolehubah tunggal. Pembolehubah itu sendiri mempunyai julat nilai.
Senarai, set dan peta ialah beberapa jenis data pengumpulan. Lakukan pelbagai operasi pada jenis data pengumpulan Cassandra ini. Ini termasuk membuat, memasukkan, mengemas kini dan mengesahkan operasi.
Nilai jenis data ini disimpan dalam bentuk senarai. Senarai ini mengandungi berbilang salinan satu nilai. Untuk jenis data senarai, hanya terdapat satu peraturan.
Elemen tidak boleh diubah suai secara berurutan. Apabila nilai disimpan dalam senarai, elemen itu diberikan indeks tertentu. Indeks ini boleh digunakan untuk mendapatkan nilai.
Dalam Cassandra, seseorang boleh mencipta jadual dengan jenis data senarai menggunakan arahan CREATE TABLE. Mungkin terdapat banyak lajur dalam jadual. Sintaks untuk membuat jadual ialah.
cqlsh:<keyspace>>CREATE TABLE <table name>(column1 PRIMARY KEY,column2 list <data type>,column3 list <data type>,.....);
Bina jadual yang mengandungi nama, nombor pelajar dan cawangan "pelajar kolej".
cqlsh> USE keyspace1; cqlsh:keyspace1> CREATE TABLE employee ... (EN int, ... NAME text, ... EMAIL LIST, ... PRIMARY KEY(EN), ... );
satu |
Nama |
E-mel |
---|---|---|
|
|
|
Pengguna boleh menggunakan arahan INSERT INTO untuk menambah komponen pada jadual. Setiap nilai yang disertakan dalam kurungan segi empat sama dipisahkan dengan koma. Sintaksnya ialah -
cqlsh:<keyspace>> INSERT INTO <table name>(column1, column2, column3,....) VALUES('R1value1',['R1value1','R1value2','R1value3'...]['R1value11','R1value12','R1value13'...]...);
cqlsh:keyspace1> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(001,'hardik',{'hardi@gmail.com'}); cqlsh:keyspace1> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(002,'Ajites',{'ajit@mail.com'}); cqlsh:keyspace1> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(003,'Pushpa',{'tears@mail.com'});
satu |
Nama |
E-mel |
---|---|---|
001 |
Hardik |
hardi@gmail.com |
002 |
Ajits |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
Arahan KEMASKINI Cassandra digunakan untuk mengemas kini nilai lajur jadual tertentu. Sintaks yang dikemas kini adalah seperti berikut.
cqlsh:<keyspace> UPDATE<table name> SET <column2>=<column2>+['value'] where <column1>='some value';
cqlsh:keyspace2>UPDATE college student SET EMAIL=EMAIL+['hardikgupta.1@gmail.com'] where EN=001;
satu |
Nama |
E-mel |
---|---|---|
001 |
Hardik |
hardikgupta.1@gmail.com |
002 |
Ajits |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
Pengguna boleh menggunakan jenis data koleksi SET Cassandra untuk menyimpan koleksi elemen. Selepas pelaksanaan, komponen koleksi dikembalikan dalam susunan yang disusun.
Pengguna boleh menggunakan arahan bina dengan sintaks berikut untuk mencipta jadual yang mengandungi set.
cqlsh:<keyspace> CREATE TABLE<table name> (column1 PRIMARY KEY, column2 set <data type>, column3 set <data type>.....);
Bina jadual yang mengandungi nama, nombor pelajar dan cawangan "pelajar kolej".
cqlsh> USE keyspace2; cqlsh:keyspace2> CREATE TABLE employee ... (EN int, ... NAME text, ... EMAIL LIST<text>, ... PRIMARY KEY(EN), ... );
satu |
Nama |
E-mel |
---|---|---|
|
|
|
Arahan INSERT INTO digunakan dengan sintaks berikut untuk memasukkan nilai ke dalam koleksi.
cqlsh:<keyspace>> INSERT INTO <table name>(column1, column2, column3...) VALUES('R1value',{'R1value1', 'R1value2',..},{ 'R1value11', 'R1value12',..}....);
> cqlsh:keyspace2> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(001,'hardik',{'hardi@gmail.com'}); cqlsh:keyspace2> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(002,'Ajites',{'ajit@mail.com'}); cqlsh:keyspace2> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(003,'Pushpa',{'tears@mail.com'});
satu |
Nama |
E-mel |
---|---|---|
001 |
Hardik |
hardi@gmail.com |
002 |
Ajits |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
Pengguna boleh menggunakan sintaks ini untuk mengemas kini kandungan dalam koleksi.
cqlsh:<keyspace>>UPDATE <table name> SET <column2>=<column2>+['value'] where <column1>='some value';
cqlsh:keyspace2>UPDATE college student SET EMAIL=EMAIL+['hardikgupta.1@gmail.com'] where EN=001;
satu |
Nama |
E-mel |
---|---|---|
001 |
Hardik |
hardikgupta.1@gmail.com |
002 |
Ajits |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
一对键值项存储在映射(Cassandra 集合数据类型)中。
用户可以使用以下语法的“构造”命令来创建带有地图的表。
cqlsh:<keyspace> CREATE TABLE<table name> (column1 PRIMARY KEY, column2 map <type, data type>, column3 map <type, data type>.....);
构建一个表,其中包含“大学生”的名称、学号和分支。
cqlsh> USE keyspace3; cqlsh:keyspace3> CREATE TABLE employee ... (EN int, ... NAME text, ... EMAIL LIST, ... PRIMARY KEY(EN), ... );
一个 |
姓名 |
电子邮件 |
---|---|---|
|
|
|
INSERT INTO 命令与以下语法一起使用,将值插入到映射中。
cqlsh:<keyspace>> INSERT INTO <table name>(column1, column2, column3...) VALUES('R1value',{'R1value1':'R1value1' ,R1value2:'R1value01',..},{ 'R1value11':'R1value011','R1value12':'R1value012',..}....);
cqlsh:keyspace3> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(001,'hardik',{'hardi@gmail.com'}); cqlsh:keyspace3> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(002,'Ajites',{'ajit@mail.com'}); cqlsh:keyspace3> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(003,'Pushpa',{'tears@mail.com'});
一个 |
姓名 |
电子邮件 |
---|---|---|
001 |
哈迪克 |
hardi@gmail.com |
002 |
阿吉特斯 |
ajit@mail.com |
003 |
普什帕 |
tears@mail.com |
使用此技术,用户可以修改集合的内容。
cqlsh:<keyspace>>UPDATE <table name> SET <column2>=<column2>+['value1':'value2'] where <column1>='some value';
cqlsh:keyspace3>UPDATE college student SET EMAIL=EMAIL+['hardikgupta.1@gmail.com'] where EN=001;
一个 |
姓名 |
电子邮件 |
---|---|---|
001 |
哈迪克 |
hardikgupta.1@gmail.com |
002 |
阿吉特斯 |
ajit@mail.com |
003 |
普什帕 |
tears@mail.com |
这是 Apache Cassandra 中的三种集合数据类型。通过 Cassandra 集合可以轻松进行任务管理。集合允许存储大量项目。
Atas ialah kandungan terperinci Jenis data pengumpulan dalam Apache Cassandra. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!