کار با کاساندرا با زبان درخواست پرسوجو CQL یا (Cassandra Query Language)

در پست های قبل مراحل نصب کسندرا به تفضیل مورد بررسی قرار گرفت. در این مطلب به نحوه کار با کاسندرا با زبان پرسوجوی CQL ا اشاره میکنیم.

بعد از نصب پايگاه داده مي­توان با استفاده از امکانات شل cli با آن کار کرد که در ادامه توضيح داده مي­شود. براي وصل شدن به اين پايگاه داده از دستور زير استفاده کنيد و البته با دستور EXIT می توانید خارج شوید.

/opt/apache-cassandra-3.11/bin# cqlsh localhost 9042

همان‌طور که گفته شد برای نوشتن پرس‌وجوها از زبان CQL که شبیه SQL است استفاده می‌شود اما به دلیل محدودیت‌هاییHigh availability  که برای Cassandra ایجاد می‌کند زبان آن را کمی تغییر داده‌اند. در ادامه قالب کلی چهار دستور اصلی شرح داده خواهد شد.

  • SELECT
  • INSERT
  • UPDATE
  • DELETE
کار با کاساندرا با زبان درخواست پرسوجو CQL
کار با کاساندرا با زبان درخواست پرسوجو CQL

کار با کاساندرا با زبان درخواست پرسوجو CQL

ابتدا فرض کنید که جدول (یا خانواده ستون) user را به شکل زیر درست کرده ایدž. حالا چهار عمل اصلی را روی این جدول یا به عبارتی کالمن فامیلی تحقیق میکینم.

CREATE TABLE user

(

  id uuid,

  first_name varchar,

  last_name varchar,

  age int,

  city varchar,

PRIMARY KEY (id, city, age)

);

 

نمونه دستورهای SELECT

SELECT * FROM users;

SELECT COUNT(*) FROM users;

SELECT * FROM users LIMIT 25;

SELECT * FROM users WHERE city = ‘Boston’   (city must be defined as a primary key or index)

 

نمونه دستورهای INSERT

INSERT INTO users (id, first_name, last_name, age, city)

VALUES (now(), ‘John’, ‘Doe’, ‘33’, ‘Seattle’)

INSERT INTO users (id, first_name, last_name, emails)

  VALUES('frodo', 'Frodo', 'Baggins', {'f@baggins.com', 'baggins@gmail.com'});

 

نمونه دستورهای UPDATE

UPDATE users SET age = 34 WHERE id = cfd66ccc-d857-4e90-b1e5-df98a3d40cd6

UPDATE users SET age = 34, city = ‘Portland’ WHERE id = cfd66ccc-d857-4e90-b1e5-df98a3d40cd6

ž

UPDATE users  SET todo =  { '2012-9-24' : 'enter mordor',  '2012-10-2 12:00' : 'throw ring into mount doom' }  WHERE id = 'frodo';

 

نمونه دستورهای DELETE

DELETE email, phone

 FROM users

WHERE user_name = 'jsmith';

DELETE todo ['2012-9-24'] FROM users

WHERE id = 'frodo';

 

البته قبل از انجام چهار عمل اصلی فوق بر روی داده ها ما باید از قبل جداول یا به عبارتی  KeySpace خود را ساخته باشیم که در ادامه با یک مثال دیگر به آن میپردازیم. KeySpace در کاساندرا معادل موجودیت Data Base در پایگاه داده های رابطه ای است. تمامی جداول یا COLUMN FAMILY های ما درون KeySpace ساخته خواهد شد. یک نود در یک کلاستر میتواند شامل یک یا بیشتر KeySpace باشد والبته بهتر است که شامل ین KeySpace باشد. دستور زير براي ساخت KeySpace استفاده مي­شود، دو خط انتهايي اختياريست و با مقادیر پیش فرض پر خواهد شد:

[default@unknown] CREATE KEYSPACE demo

...         with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy'

...         and strategy_options = [{replication_factor:1}];

 

نکته: هنگام کار با کاساندرا، استفاده از کارکتر سمي­کالن (;) در انتهاي همه دستورات اجباری است و در غیر این صورت خطا ایجاد خواهد شد.

در رابطه با عبارت SimpleStrategy در پست های بعد توضیح داده خواهد شد. مقدار replication_factor عدد 1 تهیین شده است که به معنی وجود فقط یک تکرار یا کپی از داده ها است.

دستور زير تمامي KeySpaceهاي موجود را با ويژگي­هايشان نشان مي­دهد:

[default@unknown] DESCRIBE KEYSPACES;

 

براي کار با KeySpace خاصي بايد از دستور زير استفاده کرده و به آن وصل شد:

[default@unknown] USE keyspace1;

 

 دستورات زير نيز براي حذف ColumnFamily و KeySpace مورد نظر استفاده مي­شوند:

[default@demo] DROP COLUMN FAMILY users;

[default@demo] DROP KEYSPACE demo;

 

هر کدام از دستورات بالا را مي­توان از طريق فايل و با استفاده از دستور زير نيز اجرا کرد:

/opt/apache-cassandra-1.0.0/bin# cqlsh 127.0.0.1 9042 -f conf/schema-sample.txt

نکته: هنگام کار با کاساندرا استفاده از کارکتر سمي­کالن (;) در انتهاي همه دستورات اجباری است و در غیر این صورت خطا ایجاد خواهد شد.

 

آدرس کانال تلگرام سایت بیگ دیتا:

t.me/bigdata_channel

آدرس کانال سروش ما:
https://sapp.ir/bigdata_channel

جهت دیدن سرفصل های دوره های آموزشی بر روی اینجا کلیک کنید.

Visits: 1443

همچنین ببینید

کلان داده در میکروسافت

آغاز کلان داده در میکروسافت با پشتیبانی پایگاه داده MS-SQLServer از بیگ دیتا

جایگاه کلان داده در میکروسافت استفاده از Big Data Cluster در SQL Server 2019 باعث …

نسل جدید دیسک‌

نسل جدید دیسک های ذخیره سازی نوری برای داده های طولانی

مقدمه بر نسل جدید دیسک ها: دانشمندان استرالیا و چین از نانومواد طلا برای ساخت …

یک دیدگاه

  1. برای پیاده سازی فول تکست سرچ هم آموزش میذارین؟

دیدگاهتان را بنویسید