آپاچی کاساندرا چیست؟
آپاچی کاساندرا یک پایگاه داده متنباز و NoSQL است که برای ذخیره دادههای برنامههایی طراحی شده است که به عملکرد خواندن و نوشتن سریع نیاز دارند. برای مثال، میتوانید از کاساندرا برای ذخیره اطلاعات پروفایل کاربران برای بازیهای ویدئویی آنلاین، فرادادههای دستگاه برای برنامههای اینترنت اشیا (IoT) یا سوابق رویدادها استفاده کنید.
بیاموزید که چگونه آمازون کیسپیسز (برای آپاچی کاساندرا) میتواند با استفاده از یک سرویس پایگاه داده سازگار با آپاچی کاساندرا که مقیاسپذیر، بدون سرور، با دسترسی بالا و کاملاً مدیریتشده است، به شما در اجرای آسانتر بارهای کاری کاساندرا کمک کند.
مدل داده کاساندرا
کاساندرا یک فروشگاه داده غیر رابطهای است. شما دادههای کاساندرا را در فضاهای کلید (keyspaces) و جداول سازماندهی میکنید. فضاهای کلید مجموعهای از جداول هستند که میتوانید از آنها برای نشان دادن گروهبندی جداول، مانند اجزای مختلف سیستم، برنامهها یا محیطها استفاده کنید. هر جدول در کاساندرا یک طرح (schema) دارد. طرحها ستونهای داخل یک جدول و نوع داده هر ستون را تعریف میکنند. کاساندرا دادهها را در جداول به صورت ردیف ذخیره میکند. هر ردیف در یک جدول دارای یک کلید اصلی است که به طور منحصر به فرد ردیف را در داخل جدول شناسایی میکند. کلیدهای اصلی از کلیدهای پارتیشن و ستونهای خوشهبندی اختیاری تشکیل شدهاند. کلیدهای پارتیشن میتوانند ساده و متشکل از یک ستون واحد باشند، یا ردیفها میتوانند کلیدهای پارتیشن ترکیبی متشکل از چندین ستون داشته باشند. ردیفها همچنین میتوانند ستونهای خوشهبندی داشته باشند. کاساندرا از ستونهای خوشهبندی برای مرتبسازی ردیفها در یک پارتیشن استفاده میکند.
زبان پرس و جوی کاساندرا (CQL)
شما میتوانید با استفاده از زبان پرس و جوی کاساندرا (CQL) دادهها را از کاساندرا بخوانید، بنویسید، بهروزرسانی و حذف کنید. CQL یک API انعطافپذیر و شبیه SQL است که توسعهدهندگان را قادر میسازد تا دستورات زبان تعریف داده (DDL) و زبان دستکاری داده (DML) را اجرا کنند. شما از دستورات DDL برای ایجاد و تعریف منابع استفاده میکنید. برای مثال، دستور DDL زیر یک جدول به نام books در یک فضای کلید به نام bookstore با یک ستون کلید اصلی isbn ایجاد میکند.
SQL
CREATE TABLE bookstore.books (
isbn text,
title text,
author text,
year_of_publication int
PRIMARY KEY (isbn)
);
کپی
شما از دستورات DML برای دستکاری دادهها در یک جدول استفاده میکنید. برای مثال، دستور DML زیر یک ردیف جدید را در جدول books درج میکند.
SQL
INSERT INTO bookstore.books (isbn, title, author, year_of_publication) VALUES (‘۰۱۰۱۰۱۰۱۰۱۰۱۰’, ‘The Long River’, ‘Jim Sozeb’,’۱۹۹۴’);