هر زمان که کاربران در مورد سیستم های مدیریت پایگاه داده می شنوند، احتمالاً بلافاصله به پایگاه داده های رابطه ای MySQL فکر می کنند. با این حال، چنین پایگاه‌های اطلاعاتی زمانی که با مقادیر انبوهی از داده‌های ساختاری ورودی ارائه می‌شوند، ممکن است کوتاه بیایند. اینجاست که پایگاه داده های NoSQL وارد می شوند.

Cassandra یکی از محبوب ترین پایگاه داده های غیر رابطه ای است. چنین شرکت هایی از آن به عنوان اینستاگرام، اوبر، فیس بوک و نتفلیکس استفاده می کنند.

در این آموزش کاساندرا، راهنمای گام به گام را در اختیار شما قرار می دهیم روی روش نصب آخرین نسخه آپاچی کاساندرا روی اوبونتو همچنین روش عملکرد سیستم مدیریت پایگاه داده Cassandra را توضیح خواهیم داد، آن را با سایر پایگاه های داده NoSQL مقایسه می کنیم و برخی از دستورات رایج را که می توانید از آنها استفاده کنید، ارائه می دهیم.

آپاچی کاساندرا چیست؟

آپاچی کاساندرا یک سیستم مدیریت پایگاه داده منبع باز است که اجرا می شود روی نه تنها SQL مدل و از یک مدل داده ذخیره سازی ستون گسترده پارتیشن بندی شده استفاده می کند. عمدتاً تمرکز می کند روی سرعت، مقیاس پذیری و عملکرد.

مدل داده کاساندرا به آن اجازه می دهد تا اطلاعات را خیلی سریع بازیابی کند. علاوه بر این، می تواند هزاران عملیات نوشتن را در چند ثانیه انجام دهد.

پایگاه داده کاساندرا چگونه کار می کند

هدف Cassandra این است که کاربران را قادر سازد تا با مقادیر بالایی از داده های ساختاریافته کار کنند و در عین حال از هرگونه خرابی که ممکن است رخ دهد جلوگیری می کند. کاساندرا با a نظیر به نظیر مدل داده معماری، به این معنی که هر نمونه یا node به گره های بیشتری متصل می شود خوشه ها. چنین معماری بسیار مقیاس پذیر، اضافه کردن گره های اضافی را برای مطابقت با نیازهای هر کسی آسان می کند.

Cassandra اجازه می دهد تا ارتباط بین گره ها را انجام دهد و برای جلوگیری از خطر شکست، گره های آسیب دیده را در یک خوشه آشکار کند. اگر داده های قدیمی در یکی از گره ها شناسایی شود، Cassandra داده های گره های سالم را تکرار می کند و گره های آسیب دیده را تعمیر می کند.

در اینجا معماری کامل روش کار کاساندرا آمده است:

  • گره کاساندرا – جایی است که تمام داده ها ذخیره می شوند.
  • همانند سازی – نمایش روش عملکرد مدل تکرار در کاساندرا.
  • مرکز اطلاعات – گروهی از گره های مرتبط
  • خوشه کاساندرا – گروهی از یک یا چند مرکز داده.
  • درخواست – درخواست عملیات خواندن و نوشتن مشتری به پایگاه داده Cassandra.
  • مشتری – رایانه کاربر یا نوع دیگری از دستگاه.

روش نصب کاساندرا روی اوبونتو

کاربران می توانند به راحتی Cassandra را با کمک مدیر بسته های APT نصب کنند. به خاطر داشته باشید که برای نصب آخرین نسخه Cassandra همچنان باید ابتدا مخزن بسته آن را وارد کنید.

1. جاوا را دانلود و نصب کنید

ابتدا از طریق SSH به VPS خود دسترسی پیدا کنید و تعیین کنید که آیا جاوا را نصب کرده اید یا خیر.

java -version

ممکن است خروجی زیر را دریافت کنید:

دستوری برای بررسی نسخه جاوا در خط فرمان.  در این مورد جاوا نصب نشده است on VPS

یعنی جاوا هنوز نصب نشده است. اگر اینطور است، مراحل زیر را دنبال کنید. در غیر این صورت به مرحله بعدی بروید.

  1. برای همگام سازی تمام مخازن، دستور APT را بازخوانی کنید:
sudo apt-get update
  1. جدیدترین نسخه جاوا JDK را نصب کنید:
sudo apt install default-jdk -y

3. اعتبار نصب را با همان نسخه جاوا دستوری که قبلا استفاده کرده بودیم حال، خروجی باید به شکل زیر باشد:

دستوری برای بررسی نسخه جاوا پس از نصب موفقیت آمیز جاوا در خط فرماندستوری برای بررسی نسخه جاوا پس از نصب موفقیت آمیز جاوا در خط فرمان

خواندن پیشنهادی

راهنمای ما را برای یادگیری روش نصب جاوا بررسی کنید روی اوبونتو

پیشنهاد می‌کنیم بخوانید:  بایگانی VPS

2. کلید GPG را اضافه کنید

برای جلوگیری از مشکلات مخزن، کلید GPG را اضافه کنید و امنیت مخزن را افزایش دهید. ابتدا نصب کنید wget اگر موجود نباشد روی سیستم:

sudo apt install wget

سپس کلید اصلی را با دستور زیر اضافه کنید:

wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -

3. فایل مخزن کاساندرا را اضافه کنید

مخزن Cassandra را به فایل مخزن سیستم اضافه کنید. برای انجام این کار، دستور زیر را در خط فرمان تایپ کنید:

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

4. Cassandra را نصب کنید روی اوبونتو

مخازن را رفرش کنید و سپس اقدام به نصب Cassandra کنید روی اوبونتو:

sudo apt-get update
sudo apt install cassandra -y

5. Cassandra را فعال و راه اندازی کنید

در پایان نصب، سرویس Cassandra را فعال کنید تا با بوت شدن سیستم به طور خودکار شروع به کار کند. علاوه بر این، برای اولین بار آن را به صورت دستی با دستورات زیر شروع کنید:

sudo systemctl enable cassandra
sudo systemctl start cassandra

6. نصب را بررسی کنید

برای بررسی اینکه آیا نصب با موفقیت انجام شده است، وضعیت سرویس را بررسی کنید. برای این کار دستور زیر را اجرا کنید:

sudo systemctl status cassandra

در صورت موفقیت آمیز بودن و راه اندازی سرویس Cassandra، خروجی باید شبیه به مثال زیر باشد:

دستور systemctl برای بررسی وضعیت Cassandra_s.  در این مورد کاساندرا process در حال حاضر فعال و در حال اجرا استدستور systemctl برای بررسی وضعیت Cassandra_s.  در این مورد کاساندرا process در حال حاضر فعال و در حال اجرا است

7. روش پیکربندی کاساندرا روی اوبونتو

پیکربندی پیش‌فرض Cassandra زمانی اعمال می‌شود که از Cassandra استفاده می‌شود روی یک مجرد node. با این حال، اگر Cassandra در یک کلاستر یا توسط چندین گره Cassandra به طور همزمان استفاده شود، انجام برخی تغییرات در فایل پیکربندی مفید است.

فایل پیکربندی کاساندرا نامیده می شود cassandra.yaml و واقع در /etc/cassandra/. آن را با ویرایشگر متن دلخواه خود باز کنید و برخی از تنظیمات آن را تغییر دهید:

sudo nano /etc/cassandra/cassandra.yaml

ابتدا نام خوشه را تغییر دهید. به دنبال cluster_name پارامتر و تعیین نام:

cluster_name: [cluster_name]
فایل پیکربندی Cassandra با ویرایشگر نانو باز شد.  این خطوط خاص تنظیمات نام خوشه را نشان می دهدفایل پیکربندی Cassandra با ویرایشگر نانو باز شد.  این خطوط خاص تنظیمات نام خوشه را نشان می دهد

بهتر است پورت ذخیره سازی داده را تغییر دهید. برای انجام این کار، به دنبال storage_port پارامتر و تخصیص یک.

به یاد داشته باشید که باید یک پورت در دسترس در فایروال اوبونتو باشد تا همه چیز به درستی کار کند. در مورد ما، پورت به صورت تنظیم شده است 7000.

storage_port :[port]
فایل پیکربندی Cassandra با ویرایشگر نانو باز شد.  این خطوط خاص تنظیمات پورت ذخیره سازی را نشان می دهدفایل پیکربندی Cassandra با ویرایشگر نانو باز شد.  این خطوط خاص تنظیمات پورت ذخیره سازی را نشان می دهد

در نهایت، به دنبال seed_provider پارامتر و آدرس های IP گره های تشکیل دهنده خوشه را اضافه کنید که با کاما از هم جدا شده اند:

Seeds: [node_ip]:[node_port],[node_ip]:[node_port]...[node_ip]:[node_port]

پس از اتمام، فایل را ذخیره کرده و Cassandra را مجدداً بارگیری کنید.

sudo systemctl reload cassandra

حالا اتصال را با دستور زیر تست کنید:

nodetool status
دستور وضعیت nodetool که وضعیت مرکز داده کاساندرا را نشان می دهد.  در این مورد، راه اندازی و اجرا می شوددستور وضعیت nodetool که وضعیت مرکز داده کاساندرا را نشان می دهد.  در این مورد، راه اندازی و اجرا می شود

عالی است، خوشه راه اندازی شده است!

مطالعه پیشنهادی

اگر می خواهید از یک سیستم مدیریت پایگاه داده جایگزین استفاده کنید، آموزش ما را بررسی کنید روی روش نصب PostgreSQL روی اوبونتو

دستورات اولیه زبان کاساندرا پرس و جو (CQL) را یاد بگیرید

بخش زیر محبوب ترین دستورات اولیه CQL کاساندرا را نشان می دهد و چند مثال عملی ارائه می دهد.

cqlsh

cqlsh، یا پوسته زبان پرس و جو کاساندرا، برای برقراری ارتباط با کاساندرا و شروع زبان پرس و جو کاساندرا استفاده می شود. برای شروع cqlsh از دستور زیر استفاده کنید:

root@myawesomevps:/# cqlsh
Connected to Test Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.5 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cqlsh>

کمک

پیشنهاد می‌کنیم بخوانید:  بایگانی VPS

این کمک دستور فهرستی از توضیحات برای همه دستورات cqlsh ممکن است:

دستور Help برای پنجره Cassandra Query Language.  تمام دستورات ممکن کاساندرا را به نمایش می گذارددستور Help برای پنجره Cassandra Query Language.  تمام دستورات ممکن کاساندرا را به نمایش می گذارد

به عنوان مثال، خروجی برای کمک نشان دادن به این شکل خواهد بود:

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>

نشان دادن

این نشان دادن دستور تمام اطلاعات مربوط به جلسه cqlsh فعلی را نمایش می دهد. شما می توانید بین نمایش یکی را انتخاب کنید host، نسخه، و جلسه اطلاعات:

cqlsh> SHOW VERSION
[cqlsh 6.0.0 | Cassandra 4.0.5 | CQL spec 3.4.5 | Native protocol v5]

cqlsh> SHOW HOST
Connected to Test Cluster at 127.0.0.1:9042
cqlsh>

ایجاد فضای کلید

یک keyspace تکثیر داده ها را مشخص می کند. در مثال زیر یک فضای کلید جدید ایجاد می کنیم و ضریب تکرار را مشخص می کنیم:

cqlsh> CREATE KEYSPACE testingout
  WITH REPLICATION = { 
   'class' : 'SimpleStrategy', 
   'replication_factor' : 1 
  };

استفاده کنید

این استفاده کنید فرمان فضای کلید کاری فعلی را تنظیم می کند:

cqlsh> USE testingout;
cqlsh:testingout>

ایجاد جدول

برای ایجاد جدول، کاربران باید از آن استفاده کنند ایجاد جدول فرمان در اینجا آنها باید مشخص کنند نام ستون ها، انواع داده ها، و کلید اصلی:

cqlsh:testingout> CREATE TABLE tabletest (
                     name TEXT PRIMARY KEY,
                     surname TEXT,
                     phone INT
                   );

درج کنید

درج کنید دستور برای اضافه کردن یک ردیف کامل به یک جدول استفاده می شود. توجه داشته باشید که مقادیر از دست رفته روی null تنظیم می شوند:

cqlsh:testingout> INSERT INTO tabletest (name, surname, phone) 
VALUES ('John', 'Johnson', 456123789);
cqlsh:testingout>

مقایسه پایگاه داده NoSQL Cassandra با پایگاه های داده رابطه ای

جدول زیر تفاوت های بین پایگاه داده های رابطه ای مانند MySQL و Cassandra را نشان می دهد:

پایگاه داده های رابطه ای کاساندرا
زبان پرس و جو پایگاه داده های رابطه ای از زبان پیچیده و قدرتمند SQL استفاده می کنند پایگاه های داده Cassandra و NoSQL از زبان پرس و جو اولیه استفاده می کنند
انجمن جوامع پایگاه داده SQL بسیار بزرگ هستند جوامع Cassandra و NoSQL هنوز در حال رشد هستند
مقیاس پذیری یک پایگاه داده رابطه ای با افزایش سخت افزار به صورت عمودی مقیاس می شود کاساندرا با افزودن سرورهای اضافی به صورت افقی مقیاس می شود
ذخیره سازی داده ها ساختار داده ها در جداول با سطرها و ستون های ثابت ذخیره می شوند داده های ساخت یافته در اسناد ذخیره می شوند
بهترین موارد استفاده پایگاه داده های رابطه ای معمولاً برای استفاده عمومی در نظر گرفته شده اند Cassandra در پروژه هایی استفاده می شود که نیاز به مدیریت حجم کاری داده های بزرگ دارند
طرحواره یک طرح پایگاه داده رابطه ای ثابت است طرحواره کاساندرا انعطاف پذیر است

Cassandra بیشتر برای شرکت های بزرگ مناسب است، زیرا به طور خاص برای مدیریت حجم کاری داده های بزرگ طراحی شده است. این واقعیت که به صورت افقی مقیاس بندی شده است، آن را واقعاً همه کاره می کند. در اینجا نگاه جامع تری به ویژگی های فنی اصلی کاساندرا داریم:

  • مقیاس پذیری – صاحبان مشاغل یا کاربران می توانند منابع بیشتری را با افزایش تقاضا بدون دردسر زیاد اضافه کنند.
  • ذخیره سازی داده ها – Cassandra انواع ساختارهای داده را ذخیره می کند.
  • بهره وری – این سیستم پایگاه داده NoSQL به گونه ای طراحی شده است که با استفاده از حداقل منابع، سریع اجرا شود.
  • انتقال اطلاعات – کاساندرا از تکثیر آسان پشتیبانی می کند، که انتقال داده ها را بین مراکز داده آسان می کند.
  • هیچ نقطه شکست – کاساندرا ندارد نقطه شکست واحد (SPOF). آن را در برابر هرگونه نقصی آسیب ناپذیر می کند.

نتیجه

انتخاب یک سیستم مدیریت پایگاه داده مناسب می تواند چالش برانگیز به نظر برسد، به خصوص اگر تقاضاهای زیادی برای آن داشته باشید. یک راه حل عالی Apache Cassandra است زیرا یکی از بهترین سیستم های مدیریت پایگاه داده NoSQL است که توسط هزاران شرکت بین المللی استفاده می شود.

در این آموزش به نصب آپاچی کاساندرا پرداخته ایم process برای اوبونتو ما همچنین معماری Cassandra را بررسی کرده‌ایم، آن را با یک سیستم مدیریت پایگاه داده رابطه‌ای مقایسه کرده‌ایم و هفت دستور محبوب زبان Cassandra Query را ارائه کرده‌ایم.

امیدواریم این آموزش برای شما مفید بوده باشد. اگر سوالی دارید، آنها را در بخش نظرات در زیر مطرح کنید.