نحوه نصب کاساندرا روی اوبونتو و یادگیری دستورات اولیه #
هر زمان که کاربران در مورد سیستمهای مدیریت پایگاه داده میشنوند، احتمالاً بلافاصله به پایگاههای داده رابطهای MySQL فکر میکنند. با این حال، چنین پایگاههای دادهای در مواجهه با حجم عظیمی از دادههای ساختاریافته ورودی، ممکن است عملکرد ضعیفی داشته باشند. اینجاست که پایگاههای داده NoSQL وارد عمل میشوند.
کاساندرا یکی از محبوبترین پایگاههای داده غیررابطهای است. شرکتهایی مانند اینستاگرام، اوبر، فیسبوک و نتفلیکس از آن استفاده میکنند.
در این آموزش کاساندرا، ما یک راهنمای گام به گام در مورد نحوه نصب آخرین نسخه آپاچی کاساندرا روی اوبونتو به شما ارائه خواهیم داد. همچنین نحوه عملکرد سیستم مدیریت پایگاه داده کاساندرا را توضیح خواهیم داد، آن را با سایر پایگاههای داده NoSQL مقایسه خواهیم کرد و برخی از دستورات رایجی را که میتوانید استفاده کنید، ارائه خواهیم داد.
مروری مختصر بر نصب و راهاندازی کاساندرا در اوبونتو:
| دانش مورد نیاز | مدیریت اولیه سرور اوبونتو، آشنایی با پایگاههای داده NoSQL |
| امتیازات مورد نیاز | امتیازات کاربر root یا sudo |
| سختی | متوسط تا پیشرفته |
| هدف اصلی | نصب و پیکربندی اولیه آپاچی کاساندرا |
آپاچی کاساندرا چیست؟ #
آپاچی کاساندرا یک سیستم مدیریت پایگاه داده متنباز است که بر روی مدل Not Only SQL اجرا میشود و از یک مدل داده ذخیرهسازی ستونی گسترده پارتیشنبندی شده استفاده میکند. این سیستم عمدتاً بر سرعت، مقیاسپذیری و عملکرد تمرکز دارد.
مدل داده کاساندرا به آن اجازه میدهد تا اطلاعات را خیلی سریع بازیابی کند. علاوه بر این، میتواند هزاران عملیات نوشتن را در عرض چند ثانیه انجام دهد.
نحوه کار پایگاه داده کاساندرا #
کاساندرا قصد دارد کاربران را قادر سازد تا با حجم زیادی از دادههای ساختاریافته کار کنند و در عین حال از هرگونه خرابی احتمالی جلوگیری کند. کاساندرا با یک مدل داده معماری نظیر به نظیر کار میکند ، به این معنی که هر نمونه یا گره به گرههای بیشتری متصل است که خوشهها را تشکیل میدهند . چنین معماری بسیار مقیاسپذیر، افزودن گرههای اضافی را برای رفع نیازهای هر کسی آسان میکند.
کاساندرا امکان ارتباط بین گرهها را فراهم میکند و تشخیص خطا را برای آشکار کردن گرههای آسیبدیده در یک خوشه انجام میدهد تا از خطر خرابی جلوگیری شود. اگر دادههای قدیمی در یکی از گرهها شناسایی شود، کاساندرا دادهها را از گرههای سالم کپی کرده و گرههای آسیبدیده را تعمیر میکند.
در اینجا معماری کامل نحوه کار کاساندرا آمده است:

- کاساندرا نود – جایی است که تمام دادهها ذخیره میشوند.
- تکثیر – نمایش نحوه عملکرد مدل تکثیر در کاساندرا.
- مرکز داده – گروهی از گرههای مرتبط.
- خوشه کاساندرا – گروهی از یک یا چند مرکز داده.
- درخواست – درخواست عملیات خواندن و نوشتن کلاینت به پایگاه داده کاساندرا.
- کلاینت – رایانه کاربر یا نوع دیگری از دستگاه.
نحوه نصب کاساندرا در اوبونتو #
کاربران میتوانند به راحتی کاساندرا را با کمک مدیر بستههای APT نصب کنند. به خاطر داشته باشید که برای نصب آخرین نسخه کاساندرا، ابتدا باید مخزن بستههای آن را اضافه کنید.
۱. جاوا را دانلود و نصب کنید #
ابتدا، از طریق SSH به VPS خود دسترسی پیدا کنید و بررسی کنید که آیا جاوا نصب شده است یا خیر.
java -version
ممکن است خروجی زیر را دریافت کنید:
این یعنی جاوا هنوز نصب نشده است. اگر اینطور است، مراحل زیر را دنبال کنید. در غیر این صورت، به مرحله بعدی بروید.
- برای همگامسازی همه مخازن، دستور APT را بهروزرسانی کنید:
sudo apt-get update
- جدیدترین نسخه جاوا JDK را نصب کنید:
sudo apt install default-jdk -y
۳. نصب را با همان دستور java -version که قبلاً استفاده کردیم، تأیید کنید. اکنون، خروجی باید به این شکل باشد:

۲. کلید GPG را اضافه کنید #
برای جلوگیری از بروز مشکل در مخزن، کلید GPG را اضافه کنید و امنیت مخزن را افزایش دهید. ابتدا، اگر wget روی سیستم وجود ندارد، آن را نصب کنید:
sudo apt install wget
سپس، کلید اصلی را با دستور زیر اضافه کنید:
wget -q -O - https://www.apache.org/dist/Cassandra/KEYS | sudo apt-key add -
۳. فایل مخزن کاساندرا را اضافه کنید #
مخزن کاساندرا را به فایل مخزن سیستم اضافه کنید. برای انجام این کار، دستور زیر را در خط فرمان تایپ کنید:
دستور echo "deb http://www.apache.org/dist/Cassandra/debian 40x main" | sudo tee -a /etc/apt/sources.list.d/Cassandra.sources.list deb http://www.apache.org/dist/Cassandra/debian 40x main
۴. نصب کاساندرا روی اوبونتو #
مخازن را بهروزرسانی کنید و سپس نصب کاساندرا را روی اوبونتو ادامه دهید:
sudo apt-get update
sudo apt install Cassandra -y
۵. فعالسازی و شروع کاساندرا #
در پایان نصب، سرویس کاساندرا را طوری فعال کنید که هنگام بوت شدن سیستم به طور خودکار شروع شود. علاوه بر این، برای اولین بار آن را به صورت دستی با دستورات زیر شروع کنید:
sudo systemctl enable Cassandra sudo systemctl start Cassandra
۶. نصب را تأیید کنید #
برای بررسی اینکه آیا نصب موفقیتآمیز بوده است، وضعیت سرویس را بررسی کنید. برای انجام این کار، دستور زیر را اجرا کنید:
sudo systemctl status Cassandra
اگر موفقیتآمیز باشد و سرویس کاساندرا راهاندازی و اجرا شود، خروجی باید مشابه مثال زیر باشد:

۷. نحوه پیکربندی کاساندرا در اوبونتو #
پیکربندی پیشفرض کاساندرا زمانی اعمال میشود که کاساندرا روی یک گره واحد استفاده شود. با این حال، اگر کاساندرا در یک خوشه یا توسط چندین گره کاساندرا به طور همزمان استفاده شود، ایجاد برخی تغییرات در فایل پیکربندی مفید خواهد بود.
فایل پیکربندی کاساندرا Cassandra.yaml نام دارد و در مسیر /etc/Cassandra/ قرار دارد . آن را با ویرایشگر متن دلخواه خود باز کنید و برخی از تنظیمات آن را تغییر دهید:
sudo nano /etc/Cassandra/Cassandra.yaml
ابتدا، نام خوشه را تغییر دهید. به دنبال پارامتر cluster_name بگردید و یک نام به آن اختصاص دهید:
cluster_name: [cluster_name]

بهتر است پورت ذخیرهسازی دادهها را تغییر دهید. برای انجام این کار، پارامتر storage_port را پیدا کرده و یکی به آن اختصاص دهید.
به یاد داشته باشید که برای اینکه همه چیز به درستی کار کند، باید یک پورت در فایروال اوبونتو موجود باشد . در مورد ما، پورت روی ۷۰۰۰ تنظیم شده است .
storage_port :[port]

در نهایت، به دنبال پارامتر seed_provider بگردید و آدرسهای IP گرههایی که کلاستر را تشکیل میدهند، با استفاده از کاما از هم جدا کنید:
Seeds: [node_ip]:[node_port],[node_ip]:[node_port]...[node_ip]:[node_port]
پس از انجام این کار، فایل را ذخیره کرده و کاساندرا را مجدداً بارگذاری کنید.
sudo systemctl reload Cassandra
حالا با دستور زیر اتصال را آزمایش کنید:
nodetool status

عالی، کلاستر راهاندازی و اجرا شد!
یادگیری دستورات پایه زبان پرسوجوی کاساندرا (CQL) #
بخش بعدی محبوبترین دستورات CQL پایه کاساندرا را نشان میدهد و چند مثال عملی ارائه میدهد.
cqlsh
cqlsh یا Cassandra query language shell، برای برقراری ارتباط با کاساندرا و آغاز زبان پرسوجوی کاساندرا استفاده میشود. برای شروع cqlsh، از دستور زیر استفاده کنید:
root@myawesomevps:/# cqlsh
Connected to Test Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.۰.۵ | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cqlsh>
HELP
دستور HELP توضیحات مربوط به تمام دستورات ممکن cqlsh را فهرست میکند:

برای مثال، خروجی دستور HELP SHOW به صورت زیر خواهد بود:
cqlsh> نمایش راهنما نمایش [فقط cqlsh] اطلاعات مربوط به جلسه فعلی HELP SHOW را میدهد. میتواند به روشهای زیر فراخوانی شود:
cqlsh> HELP SHOW
SHOW [cqlsh only]
Displays information about the current cqlsh session. Can be called in the following ways:
SHOW VERSION
Shows the version and build of the connected Cassandra instance, as well as the version of the CQL spec that the connected Cassandra instance understands.
SHOW HOST
Shows where cqlsh is currently connected.
SHOW SESSION <sessionid>
Pretty-prints the requested tracing session.
cqlsh>
SHOW
دستور SHOW تمام اطلاعات مربوط به جلسه فعلی cqlsh را نمایش میدهد. میتوانید بین نمایش اطلاعات host، version,و version را انتخاب کنید :
cqlsh> SHOW VERSION
[cqlsh 6.0.0 | Cassandra 4.۰.۵ | CQL spec 3.4.5 | Native protocol v5]
cqlsh> SHOW HOST
Connected to Test Cluster at 127.0.0.1:9042
cqlsh>
CREATE KEYSPACE
یک فضای کلید، تکثیر دادهها را مشخص میکند. در مثال زیر، یک فضای کلید جدید ایجاد کرده و فاکتور تکثیر را مشخص میکنیم:
cqlsh> CREATE KEYSPACE testingout
WITH REPLICATION = {
'class' : 'SimpleStrategy',
'replication_factor' : 1
};
USE
دستور USE فضای کلید فعال فعلی را تنظیم میکند:
cqlsh> USE testingout; cqlsh:testingout>
CREATE TABLE
برای ایجاد یک جدول، کاربران باید از دستور CREATE TABLE استفاده کنند . در اینجا باید column names, data types, و primary key را مشخص کنند :
cqlsh:testingout> CREATE TABLE tabletest (
name TEXT PRIMARY KEY,
surname TEXT,
phone INT
);
INSERT
دستور INSERT برای اضافه کردن یک ردیف کامل به جدول استفاده میشود. توجه داشته باشید که مقادیر ناموجود با null مقداردهی میشوند:
cqlsh:testingout> INSERT INTO tabletest (name, surname, phone)
VALUES ('John', 'Johnson', 456123789);
cqlsh:testingout>
مقایسه پایگاه داده Cassandra NoSQL با پایگاه داده های رابطه ای #
جدول زیر تفاوتهای بین پایگاههای داده رابطهای مانند MySQL و Cassandra را فهرست میکند:
| پایگاههای داده رابطهای | کاساندرا | |
| زبان پرس و جو | پایگاههای داده رابطهای از زبان پیچیده و قدرتمند SQL استفاده میکنند. | پایگاههای داده Cassandra و NoSQL از زبان پرسوجوی ابتدایی استفاده میکنند |
| جامعه | جوامع پایگاههای داده SQL بسیار بزرگ هستند | جوامع کاساندرا و NoSQL هنوز در حال رشد هستند |
| مقیاسپذیری | یک پایگاه داده رابطهای با افزایش سختافزار، به صورت عمودی مقیاسپذیر میشود. | کاساندرا با اضافه کردن سرورهای اضافی به صورت افقی مقیاسپذیر میشود |
| ذخیرهسازی دادهها | ساختار داده در جداولی با ردیفها و ستونهای ثابت ذخیره میشود. | دادههای ساختاریافته در اسناد ذخیره میشوند |
| بهترین موارد استفاده | پایگاههای داده رابطهای معمولاً برای استفاده عمومی در نظر گرفته شدهاند. | کاساندرا در پروژههایی که نیاز به مدیریت حجم کار کلانداده دارند، استفاده میشود. |
| طرحواره | طرحواره پایگاه داده رابطهای اصلاح شده است | طرح کاساندرا انعطافپذیر است |
کاساندرا بیشتر برای شرکتهای بزرگ مناسب است، زیرا به طور خاص برای مدیریت حجم کار کلانداده طراحی شده است. این واقعیت که به صورت افقی مقیاسپذیر است، آن را واقعاً همهکاره میکند. در اینجا نگاهی جامعتر به ویژگیهای فنی اصلی کاساندرا میاندازیم:
- مقیاسپذیری – صاحبان مشاغل یا کاربران میتوانند با افزایش تقاضا، منابع بیشتری را بدون دردسر زیاد اضافه کنند.
- ذخیرهسازی دادهها – کاساندرا انواع ساختارهای داده را ذخیره میکند.
- کارایی – این سیستم پایگاه داده NoSQL برای اجرای سریع و در عین حال استفاده از حداقل منابع طراحی شده است.
- انتقال دادهها – کاساندرا از تکثیر آسان پشتیبانی میکند، که انتقال دادهها بین مراکز داده را آسان میکند.
- بدون نقطه شکست منفرد – کاساندرا هیچ نقطه شکست منفرد (SPOF) ندارد . این امر آن را در برابر هرگونه نقصی آسیبناپذیر میکند.
نتیجه گیری #
انتخاب یک سیستم مدیریت پایگاه داده مناسب میتواند چالش برانگیز به نظر برسد، به خصوص اگر تقاضای بالایی برای آن داشته باشید. یک راه حل عالی Apache Cassandra است زیرا یکی از بهترین سیستمهای مدیریت پایگاه داده NoSQL است که توسط هزاران شرکت بینالمللی استفاده میشود.
در این آموزش، فرآیند نصب آپاچی کاساندرا برای اوبونتو را پوشش دادیم. همچنین معماری کاساندرا را بررسی کردیم، آن را با یک سیستم مدیریت پایگاه داده رابطهای مقایسه کردیم و هفت دستور محبوب زبان پرسوجوی کاساندرا را ارائه دادیم.
امیدواریم این آموزش برای شما مفید بوده باشد. اگر سوالی دارید، میتوانید در قسمت نظرات پایین همین صفحه با ما در میان بگذارید.
