کاساندرا و بررسی اجمالی آن

پايگاه داده کاساندرا یک سیستم انبار‌ه داده ی توزیع‌شده و کاملاً متن باز و رایگان است که برای مدیریت داده های عظیم تولید شده است. کاساندرا این داده ها را در بین سرورهای بسیاری گسترش‌ داده و انعطاف‌پذیری زیادی را برای توزیع داده به شما می‌دهد. همچنین شما می‌توانید ظرفیت نگهدارنده داده‌ی خود را به راحتی وارد کنید . به دلیل آنکه همه گره‌ها در یک خوشه هستند ، هیچ تنظیمات پیچیده برای مقابله با آن وجود ندارد.  پايگاه داده کاساندرا با جاوا نوشته شده است و ​Cassandra Query Languge (CQL) یک زبان شبیه SQL است که برای ارتباط با پایگاه داده Cassandra مورد استفاده قرار می‌گیرد.

تولید کننده پايگاه داده کاساندرا آقایان Avinash Lakshman و Prashant Malik هستند. این بانک اطلاعات ابتدا در فیسبوک نوشته شد و در سال ۲۰۰۸ اولین نسخه ارائه شد و همین حالا برای بخش Facebook inbox Search مورد استفاده قرار می‌گیرد.

کاساندرا ابتدا در فیس بوک ایجاد شد. ترکیب Big Table  و Amazon Dynamo. کاساندرا در بدو تولید به منظور بهبود کارایی “Inbox Search” ایجاد شده بود. کاساندرا به عنوان یک پروژه منبع باز در ماه ژوئیه سال 2008 منتشر شد. این پروژه در ماه فوریه سال 2009 به پروژه آپاچی تبدیل شد و یک سال پس از آن یک پروژه سطح کامل شد. پس عملا کاساندرا در سال 2010 به عنوان یک محصول وارد بازار شده است.

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

پايگاه داده کاساندرا در حدی موفق عمل کرد که فقط در عرض یکسال نظر خیلی از غول های فناوری اطلاعات در فضای سایبری را به خود جلب کرد در زیر روند رشد مشتریان این پایگاه داده NOSQL را فقط در طول سال های 2011 تا 2012 بررسی می کنیم. هر چند امروز پایگاه داده کاساندرا جز پر مشتری ترین پایگاه داده های غیر رابطه ای است.

نصب دستی پایگاه داده کاساندرا از این جهت  برای ما اهمیت دارد که ممکن است گاهی دسترسی به اینترنت برای نصب خودکار کاساندرا نداشته باشم  یا اینکه در مواردی اتصال سرورهای ما به اینترنت مجاز نباشد (که معمولا با این مورد در اکثر پروژه های دولتی با آن مواجه هستیم). در پست های قبلی نحوه نصب کاساندرا به صورت اتوماتیک مورد بررسی قرار گرفت. در این مبحث به صورت کوتاه و مختصر نصب پایگاه داده کاساندرا از رو فایل فشرده یا tar.gz پرداخته میشود. البته قبل انجام این کار باید JDK بر روی سیستم عامل نصب شده باشد. که طریق نصب دستی JDK از روی فایل تربال در پست های قبلی توضیح داده شده است.

ارزش افزوده دیگر نصب دستی پایگاه داده کاساندرا این است که یادگیری این روش باعث میشود که ما فارق نوع توزیع سیستم عامل لینوکس بتوانیم این پایگاه داده را در هر توزیعی از لینوکس نصب کنیم.

نصب دستی پایگاه داده کاساندرا
نصب دستی پایگاه داده کاساندرا

مراحل نصب دستی پایگاه داده کاساندرا

ابتدا نسخه کاساندرا مورد نظر خود را به روش زیر دانلود کید.

ž$ -> wget http://archive.apache.org/dist/cassandra/3.10/apache-cassandra-3.10-bin.tar.gz

برای نصب نیاز به دسترسی سوپر یوزر داریم پس با دستور زیر این کار را انجام دهید.

دایرکتوری /opt برای نصب نرم افزارها و افزونه ها رزرو شده است پس با دستور زیر درون آن پوشه ای به نام cassandra درست کنید و وارد آن شوید.

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

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

اگر از خروجی دستور بالا محل نصب cassandra را دریافت نکردید. فایل bash.bashrc که در دایرکتوری etc قرار دارد را با دستور زیر باز کنید.

و سپس موارد زیر را در این فایل کپی کنید. با این کار مسیر نصب کاساندرا برای سیستم عامل قابل شناسایی می شود. چرا که این فایل در هر بار اجرای شل بازخوانی میشود

فایل را ببندید و دستور زیر را برای انتشار تغییرات اجرا کنید.

این بار با اجرا دستور زیر باید مسیر فایل های اجرایی کاساندرا را به عنوان خروجی دریافت کنید.

حال میتوانید با دستور زیر پایگاه داده کاساندرا را اجرا کنید. در صورت اخطار دسترسی در زمان اجرا به پوشه data در محل نصب کاساندرا دسترسی کامل بدهید.

به منظور بررسی صحت نصب و راه اندازی دستور زیر را اجرا کنید. در نتیجه اجرا باید پرت 9042 روئیت شود.

همچنین باید بتوانید با ابزار nodetood به کسندرا متصل شود و حالت آن را مشاهده کنید. برای این منظور دستور زیر را اجرا کنید.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

مدیریت سرور پشتیبانی و مشاوره – ثبت دامنه

نوشته های مشابه