بانکهای اطلاعاتی سطر گسترده

سیلا : بانک اطلاعاتی نوین و سازگار با کاساندرا

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

با این توصیفات،‌ سیلا به عنوان یک  بانک اطلاعاتی سطر گسترده نوین (منظور از سطر گسترده این است که به ازای یک کلید، بتوان تعداد نامحدودی داده در یک سطر ذخیره کرد مثلا به ازای یک کاربر خاص، تمام مطالب منتشر شده او یا به ازای یک مطلب خاص،‌تمام لایکها و نظرات آن) با محور قرار دادن ساختار داده ای کاساندرا به عنوان مبنای کار و با تغییراتی در معماری بانک اطلاعاتی و نحوه مدیریت شبکه، توانسته است به کارآیی ای چند برابری نسبت به کاساندرا دست یابد و با حفظ قدرت کاساندرا ، به سرعت و راندمان آن افزوده است . drop-in-replacement

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

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

architectureمعماری سیلا

network

نحوه مدیریت شبکه در سیلا

cassandra_vs_scylla_latency

میزان تاخیر در عملیات خواندن و نوشتن و توان عملیاتی سیلا و کاساندرا

Benchmarkسرعت خواندن و نوشتن سیلا و کاساندرا

پی نوشت :

در حال حاضر (اواخر سال ۲۰۱۷ – سال ۹۶ هجری شمسی) ، سیلا به یک جایگزین مناسب و بهینه تر کاساندرا در محیط های عملیاتی تبدیل شده است. تعدادی از شرکتهایی که از این بانک اطلاعاتی نوین در محیط های واقعی خود استفاده می کنند را در این آدرس می توانید مشاهده کنید.

مجتبی بنائی

دانشجوی دکترای نرم‌افزار دانشگاه تهران (yun.ir/smbanaie)، مدرس دانشگاه و فعال در حوزه توسعه نرم‌افزار و مهندسی داده که تمرکز کاری خود را در چند سال اخیر بر روی مطالعه و تحقیق در حوزه کلان‌داده و زیرساخت‌های پردازش داده و تولید محتوای تخصصی و کاربردی به زبان فارسی و انتشار آنها در سایت مهندسی داده گذاشته است. مدیریت پروژه‌های نرم‌افزاری و طراحی سامانه‌های مقیاس‌پذیر اطلاعاتی از دیگر فعالیتهای صورت گرفته ایشان در چند سال گذشته است.

۳ دیدگاه

  1. سلام با توجه به اینکه سیلا از ورژن بتا دراومده به نظرتون تا الان سیلا به حدی به بلوغ رسیده که بشه بهش اعتماد کرد؟

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

  2. سلام و عرض ادب
    بنده مدتی هست با کاساندرا کار می کنم و نیاز به ایندکس گذاری ثانویه روی بعضی فیلد ها دارم
    این کار رو با ایندکس ثانویه مربوط به خود کاساندرا انجام دادم و یا حتی با کتابخانه های دیگه ولی به مشکلی برخورد کردم و نیاز به راهنمایی شما دارم
    مشکل از این قراره که من نیاز دارم روی ستون هایی از نوع list که collection Type هستن index گذاری ثانویه داشته باشم، به اینصورت که یک متن شامل چندین تگ هست و این تگ ها برای هر رکورد در list قرار می گیرن. حالا در نظر بگیرین جستجویی انجام بشه و نیاز باشه تمام رکورد هایی که یک تگ خاص دارن رو پیدا کنیم، مثلا تگ “ایران”، تا اینجای کار مشکلی وجود نداره و کاساندرا این کار رو انجام می ده ولی وقتی نیاز به جستجوی پیشرفته باشه این کار شدنی نیست، مثال می زنم، تمام رکورد هایی که در تگ اون ها قسمتی از یک کلمه وجود داشته باشه مثلا “ایرا”، در اینجا کاساندرا این شکل از جستجو برای نوع داده collection رو پشتیبانی نمی کنه
    اینجاست که بنده مجبور شدم به سراغ search engin هایی مانند solr یا elastic search برم که تا اونجایی که می دونم رشد solr در حال کاهش هست و Elastic search با سرعت زیادی داره رشد می کنه و امکانات بیشتری رو ارائه می ده
    شرکت هایی هستن که elasandra = elasticsearch + cassandra رو ترکیب کردن و ارائه کردن که معتبر نیستن و نمیشه بهشون اطمینان کرد
    منابع راجع به ترکیب استفاده elastic search و cassandra در حوزه عملیاتی کم هست و گمراه کننده اس
    سوال بنده اینه که آیا ترکیب این دو فناوری کار درستی هست و دیگر اینکه چگونه می تونم elastic search رو با کاساندرا ترکیب (config) کنم

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

جای خالی در معادله زیر را با کی برد انگلیسی وارد کنید : * Time limit is exhausted. Please reload CAPTCHA.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

دکمه بازگشت به بالا