کار با کاساندرا با زبان درخواست پرسوجو 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
ابتدا فرض کنید که جدول (یا خانواده ستون) 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
نکته: هنگام کار با کاساندرا استفاده از کارکتر سميکالن (;) در انتهاي همه دستورات اجباری است و در غیر این صورت خطا ایجاد خواهد شد.
آدرس کانال تلگرام سایت بیگ دیتا:
آدرس کانال سروش ما:
https://sapp.ir/bigdata_channel
جهت دیدن سرفصل های دوره های آموزشی بر روی اینجا کلیک کنید.
بازدیدها: 1475
برچسبapache Cassandra Cassandra Query Language CQL آپاچی خانواده ستون داده های حجیم زبان درخواست پرسوجو زبان درخواست پرسوجو CQL زبان درخواست پرسوجو در کاساندرا ستون گسترده کار با کاساندرا کار با کاساندرا با زبان درخواست پرسوجو CQL کاساندرا
همچنین ببینید
آغاز کلان داده در میکروسافت با پشتیبانی پایگاه داده MS-SQLServer از بیگ دیتا
جایگاه کلان داده در میکروسافت استفاده از Big Data Cluster در SQL Server 2019 باعث …
نسل جدید دیسک های ذخیره سازی نوری برای داده های طولانی
مقدمه بر نسل جدید دیسک ها: دانشمندان استرالیا و چین از نانومواد طلا برای ساخت …
یک دیدگاه
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.
برای پیاده سازی فول تکست سرچ هم آموزش میذارین؟