You are here:

لذت یادگرفتن و کار با کاساندرا

فرستادن به ایمیل چاپ

Tags: NoSql | تجربیات | تخصصی | کاساندرا

مدتیست که حسابی درگیر یادگیری کاساندرا به عنوان یکی از مطرح ترین بانک های اطلاعاتی NoSQL شده ام . بانک اطلاعاتی نوینی که شروع آنرا فیس بوک رقم زد و از سال 2010 به عنوان یک پروژه بازمتن تحت حمایت بنیاد آپاچی قرار گرفت . بانک اطلاعاتی که می تواند میلیون ها رکورد را که در بین صدها سرور ذخیره شده اند را در کسری از ثانیه به شما برگرداند .

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

یاد گرفتن مطالب جدید همیشه دغدغه اصلی بنده بوده است و این کار علاوه بر این که یک شاخه جدید در بحث پردازش داده است از آنجا که یک کار مهندسی نیز هست و باید چالشها و مسائل مختلفی در طراحی آن در نظر گرفته شود ، جذابیت آنرا برایم صد چندان کرده است .

کاری هم که شروع کرده ایم و بانک اطلاعاتی آنرا با کاساندرا قرار است انجام دهم، یک کار بین المللی است (یک شرکت بین المللی که دفتر اصلی آن در کوالالامپور است) و مشابه آن به صورت ناقص در دنیا انجام شده است که بعد از اتمام کار و آماده شدن سایت برنامه آنرا معرفی خواهم کرد. تجربه کار با خارج از کشور و صنعت نرم افزار دنیا هر چند دومین کاربنده است (یک کار با سیمفونی برای یک شرکت سوئیسی هم در حال انجام دادن هستیم) اما باز هم بسیار جذاب است.

پی نوشت :

مطالب جدید در حوزه بانکهای نوین را در سایت مهندسی داده آورده ام که می توانید مطالب مرتبط را در آن سایت بیابید.

نظرات (5)Add Comment
0
...
نویسنده vahid, سپتامبر 03, 2013
salam
mamnoon az etelaati ke dadin
man mikhastam cassandra ro vase ye proje shoroo konam ama dide dorosti az nosql nadaram va hamintor modele cassandra.
mishe rajebesh bishtar tozih bedin?
mamnoon
بنائي :
سلام و شب بخیر
برای یادگرفتن کاساندرا می توانید از کتابهای سایت wowebook استفاده کنید .
به طور خلاصه کاساندرا برای جاهایی استفاده می شود که ما نیاز داریم برای سرعت بالای خواندن اطلاعات و کاهش زمان پاسخگویی به کاربر اطلاعات را با در نظر گرفتن سرعت خواندن ذخیره کنیم .
مثلا اگر قرار است بدانیم هر شخص چه علاقه مندانی دارد یا به چه افرادی علاقه دارد یا مطالبی که افراد محبوب او منتشر می کنند چیست باید برای هر کدام یک جدول جداگانه در نظر بگیریم که به محض کلیک کاربر روی هر کدام از موارد فوق هیچ عملیات دیتابیسی غیر از خواندن انجام نشود .
به همین خاطر کاساندرا استفاده های خاص دارد و همه جا هم استفاده نمی شود. اگر سیستم شما یک سیستم تعاملی باشد با نرخ به روز رسانی بالا شاید کاساندرا مناسب نباشد .
اگر نیاز به مشاوره در این زمینه داشتید می توانید شرحی از کار خود را برایم ارسال کنید .
موفق باشید



0
...
نویسنده پیمان, دسامبر 22, 2014
با سلام و احترام.
و تشکر از اطلاعات مفیدی که دادید.
میخواستم بدونم اساسا مزیت مهم کاساندرا نسبت به NoSQL های دیگر در چیست؟
ویژگی مهمی که کاساندرا را از سایر دیتابیس های هم دسته متمایز میکنه چیست؟
و اینکه در چه محیط هایی استفاده میشود؟ یا برای چه محیط هایی مناسب نیست؟
و به طور مثال تفاوتش با دیتابیسی مثل HBase یا Mongo در چیه؟
ممنون میشم اگه توضیح بیشتری بدین.

بنائی :
کاساندرا از جمله دیتابیس های نو اس کیو الی هست که بهشون گفته میشه Wide Row و بیشتر برای جاهایی خوبه که شما برای یک کلید خاص قصد ذخیره اطلاعات زیادی را دارید که معلوم هم نیست تعداد آنها چقدر است مثلا برای لاگ کردن فعالیتهای یوزر یک جدول کاساندرا طراحی می کنیم که کلید هر سطر اون کد یوزر و ستونهای اون تک تک کارهایی باشه که کاربر انجام داده و بر اساس زمان هم مرتب می تونه باشه .
در کاساندرا ما اتصال جداول نداریم و مرتب سازی هم نداریم و بیشتر باید درست طراحی بشه تا بیشترین کارآیی را داشته باشه .
در حوزه بانکهای سطرگسترده، کاساندرا قوی تر و برای کار کردن راحت تر طراحی شده است هر چند اچ بیس برای هدوپ شاید مناسب تر باشد .
مانگو هم کلا یک دیتابیس جداست و برای کارهای دیگری از آن استفاده میشود و مقایسه آن با کاساندرا خیلی مناسب نیست .
توصیه بنده به شما این است که در حالت معمول و اگر حجم دیتایتان بالا نیست از مای اسکیو ال یا پستگری اس کیو ال استفاده کنید و برای ذخیره داده های خاص مثلا داده های سری های زمانی سراغ کاساندرا بروید
موفق باشید .

0
...
نویسنده پیمان, دسامبر 23, 2014
سپاس فراوان از توضیح کاملتون.
عذر میخوام یک سوال دیگه هم داشتم:
مباحث ACID توی کاساندرا نسبت به دیتابیس های رابطه ای تعریف متفاوتی داره؟
چون من مقاله ای در مورد این موضوع خوندم که به تئوری CAP اشاره کرده بود و تعریف متفاوتی از Consistency ارائه داده بود.
ممنونم از راهنمایی های شما.

بنائی :
بنده در حد سواد خودم راهنمایی می کنم و اگر جایی مطلبی دیدید که کاملتر بودبه مطالب بنده اکتفا نکنید.
در رابطه با سوال شما، یک نکته مهم را باید در نظر داشته باشید که چه زمانی ما سراغ کاساندرا می آییم . زمانی که حجم داده ها بسیار بالاست و در بین ده ها سرور توزیع شده است. در این حالت ، اگر ما بخواهیم جامعیت داده ها حفظ شود، امکان پذیر نخواهد بود و اگر هم اصرار داشته باشیم، سرعت کار ما بسیار پایین خواهد آمد.
بنابراین توصیه اکید بنده این است که اول مطمئن شوید که کاساندرا برای کاری که قصد انجام آنرا دارید مناسب است یا نه .
موفق باشید .
0
...
نویسنده پیمان, دسامبر 23, 2014
بزرگوار....
اگه لطف کنید scale horizontally رو هم یک توضیحی بدهید واقعا ممنون میشم.
شرمنده خیلی سوال هام زیاد شد...این آخرینش بود....
سپاس از توجه شما.

بنائی :
درود. دیتابیس های نو اس کیو ال به گونه ای طراحی شده اند که با یک سیستم معمولی می توانید کار را شروع کنید و هر زمان رم یا سی پی یا هارد کم آوردید به راحتی یک سیستم ارزان دیگر را تهیه کرده و به دیتابیس اعلام میکنید که این سیستم در این آدرس موجود است و خود دیتابیس داده هارا بین دو سیستم منتقل می کند. با افزایش حجم داده ها باز سیستم جدیدی تهیه و به این مجموعه به راحتی اضافه می کنید . البته گاهی تنظیمات ساده ای هم در بخش مدیریتی دیتابیس ها لازم است که داده شود اما کلیت کار بسیار ساده است . این مفهوم مقیاس پذیری افقی است .
0
...
نویسنده رضا, فوریه 17, 2015
سلام خسته نباشید چرا کاساندرا nosqlاست میتونید ی منبع بجز اپاچی بهم معرفی کنید درباره پایگاه داده کاساندرا بدونم ممنون
بنائی :
توی سایت bookdl.com کلی کتاب لاتین خوب راجع به کاساندرا هست که می تونید ازشون استفاده کنید . منبع فارسی غیر از ویژه نامه مجله شبکه که مال دو سه سال پیشه سراغ ندارم

نظرتان را بنویسید
کوچکتر | بزرگتر

busy
آخرین بروزرسانی ( شنبه ، 5 ارديبهشت 1394 ، 19:47 )