همه چیز در باره جنبش NoSQL ! - صفحه 2
Loading
صفحه 2 از 2 نخستنخست 12
نمایش نتایج: از 11 به 19 از 19

موضوع: همه چیز در باره جنبش NoSQL !

  1. #11
    مهرداد تاجيك - مدير سایت Array admin آواتار ها
    تاریخ عضویت
    Thursday 30 June 2005
    محل سکونت
    تهران - ایران
    نوشته ها
    1,819
    Thanks
    22
    Thanked 47 Times in 42 Posts
    چشم‌انداز پیش‌رفت بانک‌های ‌اطلاعاتی
    قیام NoSQL ادامه دارد

پاسخ با نقل قول پاسخ با نقل قول

  • #12
    كاربر عادي Array VBkar آواتار ها
    تاریخ عضویت
    Tuesday 11 October 2005
    نوشته ها
    1,053
    Thanks
    50
    Thanked 19 Times in 18 Posts

  • #13
    كاربر عادي Array
    تاریخ عضویت
    Saturday 6 August 2016
    نوشته ها
    19
    Thanks
    0
    Thanked 0 Times in 0 Posts

  • #14
    مدير انجمن کاریابی Array itjobs آواتار ها
    تاریخ عضویت
    Saturday 24 February 2007
    نوشته ها
    6,114
    Thanks
    59
    Thanked 58 Times in 53 Posts

    پیش فرض معرفی پایگاه داده های NoSQL



    در این مقاله توضیح مختصری در مورد پایگاه داده های NoSQL ، انواع آن و راجع به نظریه CAP به صورت مختصر توضیح خواهیم داد و مقایسه ای میان پایگاه داده های رابطه ای و غیر رابطه ای خواهیم داشت.

    مقدمه


    امروزه به دلیل فراگیر شدن اینترنت و به وجود آمدن نرم افزارهای تحت وب با کاربران بسیار زیاد و تبدیل شدن نرم افزارهای قدیمی به تحت وب شدن، دیگر پایگاه داده های RDBMS یا سنتی (رابطه ای) پاسخ گوی این نرم افزارها و نیازهای برنامه نویسان نیستند. از دلایل آن می توان به نگه داری داده ها با حجم بسیار زیاد، سرعت بالا در خواندن و نوشتن نام برد. به همین دلایل پایگاه داده های نسل بعدی یعنی NoSQL ها در اواخر دهه اول هزاره سوم به وجود آمدند و بسیار سریع در حال پیشرفت هستند. از ویژگی های NoSQL ها می توان به نحوه ذخیره سازی و نگه داری داده ها به صورت توزیع شده، نبودن رابطه به صورت جداولی، متن باز بودن، بدون Schema بودن و قابلیت گسترش پذیری در سرور های مختلف با محل های جغرافیایی متفاوت اشاره کرد و در این پایگاه داده ها دیگر محدودیت های ساختار های خاص، نرمال سازی و غیر نرمال سازی و بسیاری موارد دیگر را نمی بینیم.


    مقایسه NoSQL ها و RDBMS ها

    در این بخش مقایسه ای کوچک میان پایگاه داده های NoSQL یا غیر رابطه ای و RDBMS یا رابطه ای به طور مختصر خواهیم داشت.
    -----------
    RDBMS
    NoSQL
    انواع
    یک نوع با امکانات مختلف
    Key-Value , Column Store ,
    Document Store, Graph
    تاریخچه توسعه
    در دهه 1970 برای مقابله با اولین موج از برنامه های ذخیره داده، توسعه داده شدند
    در دهه ابتدایی هزاره سوم برای مقابله با محدودیت های پایگاه های داده SQL خصوصاً نگرانی حول مقیاس، تکرار و ذخیره داده بدون ساختار، توسعه یافتند
    نمونه
    SQL Server, MySQL, Oracle
    Aerospike, Sophia, BigTable, MongoDB, Cassandra, HBase, Neo4j
    مدل نگهداری داده
    جداول – ستون ها و ردیف ها
    بر اساس نوع پایگاه داده متفاوت است. برای مثال، انبارهای key-value مشابه پایگاه های داده SQL عمل می کنند، اما تنها دو ستون دارد (key و Value) به همراه اطلاعات پیچیده تری که برخی مواقع درون ستون value ذخیره می شود. پایگاه های داده مبتنی بر سند، تمامی داده های مرتبط با یکدیگر را در یک "سند" در JSON، XML و یا سایر فرمت ها که مقدار ها را به صورت سلسله مراتبی در خود جای می دهند، ذخیره می کنند.
    اسکیما
    با حرکت از رکورد یک به رکورد دو، ساختار داده‌ای یکسان می باشد.
    با حرکت از رکورد یک به رکورد دو، ممکن است با دو ساختار داده‌ای متفاوت مواجه شوید.
    مقیاس پذیری
    عمودی؛ به این معنی که یک سِرور تنها به منظور غلبه بر تقاضای افزایش یافته، باید به میزان زیادی تقویت شود. امکان دارد که پایگاه های داده SQL در میان سِرور های متعددی توزیع شود، اما عموماً نیاز به مهندسی مازاد قابل توجهی است.
    افقی؛ به این معنی که برای افزایش ظرفیت، یک راهبر پایگاه داده براحتی می تواند سِرور و یا مواردی همچون فضای ابری را اضافه نماید. پایگاه داده، در صورت لزوم به طور خودکار داده را در میان سرور توزیع می کند.
    مدل توسعه
    ترکیبی از منبع باز (مانند MySQL و Postgres)و منبع بسته (مانند پایگاه داده Oracle)
    اکثراً منبع باز
    پشتیبانی تراکنش ها
    اکثراً به صورت کامل پشتیبانی می کنند
    در شرایط خاص و در سطوح خاص(سطح سند در مقابل سطح پایگاه داده)
    زبان تغییرات
    زبان برنامه نویسی SQL - در برخی انواع مختلف مانند: T-SQL , PL-SQL, …
    سمت برنامه نویسی - زبان های مختلفمانند : xml - Json - Java Script , …
    پایایی
    امکان پیکربندی برای پایایی زیاد و قوی
    وابسته به محصول، برخی پایایی زیاد را فراهم می آورند (برای مثال MongoDB) در حالیکه برخی پایایی مشروط و نسبی فراهم می آورند.

    انواع NoSQL

    در این بخش اشاره کوتاهی بر انواع پایگاه داده های NoSQL کرده و به صورت مختصر توضیح خواهیم داد. پایگاه داده های NoSQL بر اساس نوع ذخیره سازی و ارتباط داده ها به 4 دسته تقسیم می شوند:

    • Key-Value Store (کلید-مقدار)
    • Column Family Store (ستونی)
    • Document Store (سندگرا)
    • Graph Based (مبتنی بر گراف)

    Key-Value

    ساده‌ترین حالت از دسته‌بندی‌های NoSQL دسته، کلید-مقدار می‌باشد و معمولا در سیستم هایی مورد استفاده قرار می گیرد که داده‌ها از یکدیگر متمایز هستند و اصولا در دسترس بودن داده‌ها نسبت به مواردی نظیر پایائی اهمیت بیشتری دارد. در این معماری فقط یک کلید داریم (که مانند کلید اصلی در پایگاه داده های رابطه ای عمل می کنند) و یک مقدار داریم که مقدار معادل آن کلید را باز می گرداند. از مزایای این دسته می توان به سرعت بالا در درج کردن و خواندن اطلاعات، پیاده سازی و قابلیت توسعه پذیری آسان اشاره کرد.چند نمونه: Aerospike , Redis , LevelDB , …
    Column Family Store

    پایگاه های داده ستونی با توسعه کلید-مقدارها بوجود آمده اند. این سیستم ها در واقع بجای یک جفت کلید-مقدار، می توانند برای هر رکورد چندین جفت کلید-مقدار داشته باشند. در این نوع نیازی به ساختار نداریم و هر رکورد می تواند چندین ستون با تعداد صفات متفاوت داشته باشند. از مزایای این دسته می تواند ذخیره سازی میزان وسیع و متفاوتی از رکوردها با مقادیر بسیار باشد.چند نمونه: Hadoop/Hbase , Cassandra , Amazon SimpleDB , …
    Document Store

    این دسته از پایگاه داده ها نیز مانند دسته اول یعنی کلید-مقدار و دسته دوم ستونی می باشند ولی با این تفاوت که در این سیستم دسته بندی داده های مرتبط با یکدیگر در قالب یک فایل سند می باشند. از متن ساده گرفته تا یک ایمیل یا عکس و ... یک سند می باشند. اما با وجود قدرت بسیار بالایی که این نوع پایگاه های داده دارند، خواندن و نوشتن در آنها بسیار وقت گیر است. از مزایای این دسته می توان به ذخیره مقدار زیادی داده های بی ربط نام برد.چند نمونه: MongoDB , Elastic Search , CouchDB , RavenDB , …
    Graph Based

    این دسته به داده ها، از دید کاملا متفاوتی نسبت به دسته های قبلی نگاه می کند. داده ها را مانند یک گراف به هم مرتبط می کند، و ساختار یک درخت یا گراف را به داده ها می دهد. در این پایگاه داده، رکوردها هنگام درج شدن در دیتابیس توسط یک یا چند صفت به هم مرتبط می شوند؛ و اینکه انجام عملیات ریاضی بسیار ساده تر از دسته های دیگر است. کاربرد این دسته برای زمانی که ارتباطات معین و مشخصی میان رکوردها وجود دارد، می باشد. مانند شبکه های اجتماعیاز مزایای این دسته می توان به مناسب بودن برای تحقیقات علمی و فنی اشاره کرد.چند نمونه:Neo4J , Sparksee , InfoGrid , AllegroGraph , …
    نظریهCAP

    نظریه ای که راهنمای بسیار خوبی برای انتخاب پایگاده داده مناسب با نیازهای نرم افزار می باشد، نظریه CAP است.

    نظریه CAP از 3 راس Availability, Consistency, Partition-tolerance تشکیل شده است.
    Availability به این معنی می باشد که کاربران همیشه بتوانند عملیات درج کردن و خواندن را داشته باشند یعنی اگر سرور اصلی و یا یک سروردیگر دچار مشکل شد ارتباط کاربران قطع نشود و همچنان دسترسی داشته باشند. Consistency به این معنا می باشد داده هایی که تمام کاربران مشاهده می کنند از هر جا برای تمام آنها داده های یکسان نمایش داده شود و هیچ کاربری نسبت به دیگری داده های کمتر، بیشتر یا اشتباهی نبیند که یعنی پایگاه داده تضمین می کند که اطلاعات همیشه و همه جا یکسان می باشد. Partition-telorance به این معنا می باشد که سرور های مختلف در مکان های مختلف جغرافیایی به طوری توزیع میشوند که سیستم به طور یکپارچه با همه نودها در ارتباط می باشد و کار می کند. طبق این نظریه پایگاه داده ها در واقعیت فقط می توانند بر اساس 2 راس شکل بگیرند.

    البته پایگاه داده هایی هستتند که به استثنا برخی از قابلیت های راس سوم را هم دارند ولی در اکثریت فقط 2 راس می توانند باشند. یعنی یا باید CA باشند که در این حالت استفاده از پایگاه داده های رابطه ای مناسب می باشند. یا باید AP باشند که در این صورت پایگاه داده های غیر رابطه ای یا NoSQL پیشنهاد داده می شوند که معمولا از نوع کلید-مقدار و یا ستونی هستند. و یا CP باشند که بیشتر پایگاه داده هایی که از نوع NoSQL و در دسته های ستونی، سندگرا و یا مبتنی بر گراف هستند پیشنهاد می شوند که البته در نمودار بالا چند نمونه از این پایگاه داده ها بر اساس اضلاع مثلث پیشنهاد شده اند.



    منبع

  • #15
    مدير انجمن کاریابی Array itjobs آواتار ها
    تاریخ عضویت
    Saturday 24 February 2007
    نوشته ها
    6,114
    Thanks
    59
    Thanked 58 Times in 53 Posts

  • #16
    رضا طاهري Array
    تاریخ عضویت
    Monday 3 October 2005
    نوشته ها
    163
    Thanks
    10
    Thanked 2 Times in 2 Posts

  • #17
    مدیر انجمن ها Array
    تاریخ عضویت
    Friday 20 January 2006
    نوشته ها
    2,237
    Thanks
    7
    Thanked 9 Times in 9 Posts

    Post بهترین پایگاه داده‌های NoSQL در سال ۲۰۱۸


    پایگاه داده‌های NoSQL در مقایسه با پایگاه داده‌های SQL سریع‌تر هستند بنابراین پایگاه داده‌های NoSQL به عنوان بخشی از برنامه‌هایی با Big Data به کار می‌روند. قبل از استفاده از هر پایگاه داده خاص NoSQL، ابتدا باید اجزای پایه‌ای آن را بررسی کنید ک...

  • #18
    مدیر انجمن ها Array
    تاریخ عضویت
    Friday 20 January 2006
    نوشته ها
    2,237
    Thanks
    7
    Thanked 9 Times in 9 Posts

    Post


    درآمدی بر انواع مختلف دیتابیس‌های NoSQL

    ‌توسعه دیتابیس‌های NoSQL همراه با احساس نیاز شرکت‌هایی مانند فیسبوک، گوگل، آمازون و دیگر غول‌های فناوری به کار کردن با حجم زیادی از داده‌ها آغاز شد. دیتابیس‌های NoSQL به‌صورت چشمگیری در حوزهٔ کلان داده (Big Data) و اپلیکیشن‌های به‌اصلاح Real-time استفاده می‌شوند که در این مقاله با انواع مختلف این نوع از دیتابیس‌ها، قابلیت‌ها و تفاوت‌های آن‌ها آشنا خواهیم شد.
    دیتابیس‌های NoSQL که گاهی تحت‌عنوان Not Only SQL هم شناخته می‌شود، روشی برای مدیریت داده‌ها و طراحی دیتابیس است که برای مجموعهٔ زیادی از داده‌های نامتمرکز به‌کار گرفته می‌شوند. NoSQL که شامل محدودهٔ وسیعی از تکنولوژی‌ها و معماری‌ها می‌شود، به‌دنبال روشی برای حل مشکلات مقیاس‌پذیری و بازدهی بیگ دیتا است که در طراحی دیتابیس‌های به‌اصطلاح Relational (رابطه‌ای) همچون MySQL این موارد درنظر گرفته نشده است!
    تکنولوژی NoSQL، به‌خصوص برای سازمان‌هایی مناسب است که نیاز به دسترسی و آنالیز حجم زیادی از داده‌های به‌اصطلاح Unstructured (بدون ساختار) دارند و یا داده‌هایی که به‌صورت ریموت و روی چندین سرور مجازی بر بستر کلود قرار دارند.
    تکنولوژی NoSQL، در اصل توسط شرکت‌های پیشرو در اینترنت نظیر فیسبوک، گوگل، آمازون و ... ایجاد شد و مورد استفاده قرار گرفت که نیاز داشتند داده‌های خود را در هرجایی از دنیا فراخوانی کنند و در‌عین‌حال مشکلی با مقیاس‌پذیری و رشد حجم داده‌ها نداشته باشند و بازدهی مناسبی میان میلیون‌ها مجموعه داده و کاربر خود داشته باشند.
    شاخص‌ترین مزیت‌های دیتابیس‌های NoSQL
    این دست دیتابیس‌ها مزیت‌های متعددی را نسبت دیتابیس‌های قدیمی رابطه‌ای همچون MySQL در اختیار دولوپرها قرار می‌دهند؛ تعدادی از ویژگی‌های اصلی دیتابیس‌های NoSQL در ادامه آورده شده است که برای اغلب دیتابیس‌ها از نوع NoSQL صدق می‌کنند که عبارتند از:
    ساختارنیافتگی: در دیتابیس‌های NoSQL، شما نیازی ندارید که ابتدا اسکمای دیتابیس خود را طراحی کنید تا بتوانید داده‌های موردنظرتان را در آن ذخیره کنید؛ شما می‌توانید شروع به کدنویسی کرده و داده‌ها را در دیتابیس خود ذخیره کنید و سپس آن‌ها را فراخوانی کنید بدون آن‌که نیازی باشد که بدانید دیتابیس چگونه داده‌ها را ذخیره می‌کند و سازوکار آن به چه شکلی است. در‌عین‌حال، اگر نیاز به استفادهٔ حرفه‌ای از این نوع دیتابیس‌ها دارید، می‌توانید به‌صورت دستی شروع کنید به سفارشی کردن ساختار آن‌ها. به‌طورکلی، ویژگی ساختارنیافتگی شاید مهمترین تفاوت بین دیتابیس‌های NoSQL و دیگر دیتابیس‌های رابطه‌ای باشد.
    مقیاس‌پذیری: دیتابیس‌های NoSQL از روش مقیاس‌‌پذیری افقی پشتیبانی می‌کنند که این ویژگی باعث می‌شود تا بتوان به‌راحتی و بدون نیاز به ارتقاء سخت‌افزاری، ظرفیت دیتابیس را کم و زیاد کرد. این کار باعث حذف میزان زیادی از هزینه‌ها و پیچیدگی‌های طراحی اسکمای دیتابیس‌های به‌اصطلاح RDBMS می‌شود که هنگام کم و زیاد کردن ظرفیتشان، انجام چنین کاری ضروری است (اصطلاح RDBMS مخفف واژگان Relational Database Management System به‌معنی سیستم مدیریت دیتابیس رابطه‌ای است).
    پرفورمنس: بعضی از دیتابیس‌ها طوری طراحی شده‌اند که بهترین عملکرد خود را با مدل‌های خاصی از سخت‌افزارهای ذخیره‌سازی و پردازشی داشته باشند و گاهی تنها با این سخت‌افزارها کار می‌کنند! در مورد دیتابیس‌های NoSQL، شما می‌توانید به‌راحتی و با اضافه کردن سرورهای ارزان قیمتی که اصطلاحاً Commodity Servers نامیده می‌شوند، بازدهی را افزاریش دهید. این ویژگی باعث می‌شود که کسب‌وکارها بتوانند بااستفاده از این نوع دیتابیس‌ها، سرعت بالایی در ثبت و فراخوانی داده‌ها را رقم زده که مسلماً منجر به ایجاد تجربهٔ کاربری خوبی بدون صرف هزینه‌های اضافی مربوط طراحی دستی دیتابیس‌های رابطه‌ای می‌گردد.
    دسترسی بالا: به‌طور‌کلی، دیتابیس‌های NoSQL به‌منظور ایجاد میزان دسترسی بالا و کاهش پیچیدگی‌هایی که به‌صورت پیش‌فرض در معماری دیتابیس‌های رابطه‌ای وجود دارند طراحی شده‌اند. بعضی از دیتابیس‌های غیرمتمرکز نواس‌کیوال (Distributed NoSQL) از نوعی معماری تحت‌عنوان Masterless استفاده می‌کنند که به‌صورت خودکار داده‌ها را میان منابع مختلفی تقسیم می‌کند تا عملیات ثبت و فراخوانی حتی درصورت از کار افتادن یکی از منابع، همچنان امکان‌پذیر باشند.
    دسترسی جهانی: دیتابیس‌های غیرمتمرکز NoSQLبا تکثیر خودکار داده‌ها در میان سرورهای متعدد، دیتاسنترها و یا فضاهای ابری می‌توانند تأخیر در دسترسی را به‌حداقل برسانند و صرف‌نظر از مکان جغرافیایی کاربران، تجربهٔ کاربری یکسانی برای کاربران رقم بزنند. یکی دیگر از مزیت‌های این نوع دیتابیس‌ها، کاهش میزان قابل‌توجه‌ای از کار مدیریت دستی دیتابیس است که در دیتابیس‌های رابطه‌ای وجود دارد و حذف این حجم از کار، باعث می‌شود که تیم‌های توسعهٔ نرم‌افزار توجه خود را به اولویت‌های کاری دیگر متمرکز کنند.
    انواع دیتابیس‌های NoSQL
    تاکنون مدل‌های مختلفی از دیتابیس‌های NoSQL توسط سازمان‌ها و شرکت‌های مختلفی طراحی شده‌اند تا پاسخگوی نیازها و کاربری‌های مختلف باشند. به‌طور‌کلی، این دیتابیس‌ها به ۴ دسته تقسیم‌بندی می‌شوند که عبارتند از:
    دیتابیس‌های NoSQL مبتنی‌بر Key-Value
    به‌نوعی می‌توان گفت که مدل‌ ذخیره‌سازی Key-Value (کلید-مقدار)، ساده‌ترین نوع دیتابیس‌های NoSQL برای استفاده هستند؛ درواقع، کاربر می‌تواند یک مقدار را براساس یک کلید خاص دریافت کند، یک مقدار را به یک کلید اختصاص دهد و یا یک کلید را از مجموعه داده‌ها حذف کند.
    مقدارهای ذخیره شده همگی از نوع آبجتک‌های باینری یا به‌اصطلاح Blob هستند و مجموعهٔ دیتابیس بدون درنظر گرفتن این‌که این مقدار چیست و چه مفهومی دارد، آن‌را ذخیره می‌سازد (درواقع، این مسئولیت اپلیکیشن است که بفهمد چه‌چیزی با چه تایپی در دیتابیس ذخیره شده است).
    از آنجایی که مدل‌های ذخیره‌ای Key-Value همیشه از روش دسترسی کلید اصلی (Primary Key) استفاده می‌کنند، به‌طورکلی بازدهی بالایی دارند و به‌راحتی قابلیت مقایس‌پذیری دارند؛ دیتابیس‌های Key-Value از یک اصطلاحاً Hash Table برای ذخیره کردن کلیدهای منحصر‌به‌فرد (Unique Keys) و اشاره‌گرها -که در بعضی دیتابیس‌ها اندیس وارونه یا Inverted Index هم نامیده می‌شوند- که مربوط به هر مقدار داده‌ای هستند استفاده می‌کنند.
    در این نوع دیتابیس‌ها، هیچ رابطه‌ای از نوع ستون وجود ندارد، بنابراین همین مسئله امر پیاده‌سازی پروژه را بسیار آسان‌تر می‌کند. همچنین به یاد داشته باشیم که دیتابیس‌های Key-Value از میزان پرفورمنس بالایی برخوردار بوده و به‌راحتی و براساس نیازهای کسب‌و‌کارها، قابل مقیاس‌پذیری هستند. از جملهٔ این نوع دیتابیس‌ها می‌توان Redis ،MemcacheDB و Riak اشاره کرد.
    موارد استفادهٔ دیتابیس‌های مبتنی‌بر Key-Value
    - برای ذخیرهٔ داده‌های مرتبط با Session کاربران لاگین شده در سیستم
    - مدیریت پروفایل‌های بدون ساختار کاربران
    - ذخیرهٔ تنظیمات حساب کاربری
    - ذخیرهٔ داده‌های سبد خرید در فروشگاه‌های آنلاین
    البته دیتابیس‌های Key-Value برای همهٔ موارد استفاده هم ایده‌آل نیستند؛ برای مثال، در مواردی زیر بهتر است که از این نوع دیتابیس‌ها استفاده ننماییم:
    - وقتی باید یک کوئری براساس مقداری مشخص به دیتابیس بزنیم
    - نیاز به وجود رابطه‌ای معنادار میان مقادیر ذخیره‌شده داریم
    - باید عملیاتی را روی چندین کلید منحصربه‌فرد انجام دهیم
    - کسب‌وکار ما نیاز دارد که مرتباً بخشی از داده‌ها را به‌روزرسانی کنیم
    دیتابیس‌های NoSQL مبتنی‌بر Document
    این نوع دیتابیس‌ها شبیه مدل قبلی یعنی Key-Value هستند از این لحاظ که اینجا هم یک جفت کلید-مقدار وجود دارد و داده به‌عنوان یک مقداری ذخیره می‌شود و کلید مربوط به آن هم نشانگری منحصر‌به‌فرد است اما تفاوت کار در این‌جا است که در مدل ذخیره براساس Document (سند)، مقدار ذخیره شده به‌نوعی کاملاً ساختاریافته یا حدوداً ساختاریافته است.
    این داده‌های ساختاریافته یا نیمه ساختار‌یافته به‌عنوان یک سند شناخته می‌شوند و می‌توانند یکی از فرمت‌های XML ،JSON، یا BSON را داشته باشند. از جمله دیتابیس‌های NoSQL مبتنی‌بر سند می‌توان MongoDB ،Apache CouchDB و Elasticsearch را نام برد.
    موارد استفادهٔ دیتابیس‌های مبتنی‌بر Document
    - فروشگاه‌های آنلاین
    - سیستم‌های مدیرت محتوا
    - پلتفرم‌های تجزیه و تحلیل دیتا
    - پلتفرم‌های وبلاگی
    به یاد هم داشته باشیم که دیتابیس‌های مبتنی‌بر سند انتخاب مناسبی برای مواردی که می‌خواهید کوئری‌های پیچیده‌ای به دیتابیس بزنید و یا اپلیکیشن شما نیاز به محاسبات پیچیده‌ای روی دیتا دارد نیست.
    دیتابیس‌های NoSQL مبتنی‌بر Column
    در دیتابیس‌های NoSQL مبتنی‌بر Column (ستون-محور)، داده‌ها به‌جای ذخیره‌سازی در Row (ردیف) در قالب سلول‌هایی (Cell) ذخیره می‌شوند که به‌صورت چند ستون از داده با یکدیگر هم‌گروه می‌شوند. مجموعه ستون‌های متعلق به یک گروه هم می‌توانند به‌صورت مجازی بی‌نهایت ستون را شامل شوند که می‌توان در زمان اجرا و یا در زمان تعریف ساختار آن‌ها را ساخت.
    جالب است بدانید که برای عملیات ثبت و فراخوانی داده‌ها، به‌جای سطر از ستون‌ها استفاده می‌شود! مجموعه ستون‌ها، گروهی از داده‌های یکسان هستند که معمولاً همراه باهم فراخوانی می‌شوند؛ به‌عنوان‌ مثال، ما معمولاً نام‌کاربری، نام خانوادگی و دیگر اطلاعات کاربران را به‌صورت هم‌زمان فراخوانی می‌کنیم ولی دستیابی به اطلاعات سفارش‌های آن‌ها -در یک فروشگاه آنلاین- به‌همراه این دست اطلاعات فراخوانی نخواهد شد.
    مزیت اصلی ذخیره‌سازی داده‌ها در ستون نسبت به دیتابیس‌های رابطه‌ای، جستجو و دستیابی سریع و تجمیع داده‌ها است. دیتابیس‌های رابطه‌ای، یک Row (ردیف) از داده را به‌عنوان یک ورودی به‌هم پیوسته ذخیره می‌کنند؛ ردیف‌های متفاوت در مکان‌های متفاوتی ذخیره می‌شوند اما این در‌حالی است که دیتابیس‌های مبتنی‌بر ستون، همهٔ سلول‌های مربوط به یک ستون را به‌عنوان یک ورودی پیوسته ذخیره می‌کنند که این عمل درنتیجه باعث سریع‌تر شدن جستجو و دستیابی به داده‌ها می‌شود.
    هر گروه از ستون‌ها می‌توانند با مجموعه‌ای از ردیف‌ها در دیتابیس‌های رابطه‌ای مقایسه شوند بدین شکل که Key همان Row است و هر Row هم شامل چندین ستون می‌شود اما تفاوت در اینجا است که ردیف‌های متفاوت نیازی ندارند که ستون‌های یکسانی داشته باشند و ستون‌ها را می‌توان در هر زمان و به هر ردیفی اضافه کرد بدون این‌که نیاز باشد آن‌ها را به ردیف‌های دیگر هم اضافه نمود.
    موارد استفادهٔ دیتابیس‌های مبتنی‌بر Column
    - سیستم‌های مدیریت محتوا
    - پلتفرم‌های وبلاگی
    - سرویس‌هایی که داده‌هایی با تاریخ انقضا را در خود ذخیره می‌کنند
    - سیستم‌هایی که نیاز به ریکوئست‌های بسیار سنگین ثبت داده -مانند ثبت لاگ‌های سیستم- دارند.
    در‌صورتی‌که نیاز به انجام کوئری‌های پیچیده دارید و یا روش کوئری زدن شما به دیتابیس مرتباً تغییر می‌کند، نباید از دیتابیس‌های NoSQL مبتنی‌بر Column استفاده کنید. مورد دیگری که نباید از این نوع دیتابیس استفاده کنید زمانی است که تعریف مشخصی از سازوکار دیتابیس ندارید! از جمله از دیتابیس‌های NoSQL مبتنی‌بر ستون هم می‌توان Cassandra و Apache Hadoop Hbase را نام برد.
    دیتابیس‌های NoSQL مبتنی‌بر Graph
    دیتابیس‌های مبتنی‌بر گراف اصولاً براساس مدلی تحت‌عنوان Entity-Attribute-Value (موجودیت-ویژگی-مقدار) ساخته می‌شوند؛ موجودیت‌ها به‌عنوان Node (نُود یا نقطه) هم شناخته می‌شوند که دارای یکسری خصوصیات مخصوص به خود هستند.
    این یک روش بسیار انعطاف‌پذیر برای توضیح این‌که چگونه داده‌ها با دیگر داده‌ها ارتباط دارند است؛ درحالی‌که دیتابیس‌های قدیمی مثل RDBMS توضیحات مربوط به هر رابطهٔ ممکن را به‌صورت یک فیلد حاوی Foreign Key (کلید خارجی) و یا جداول میانی ذخیره می‌کنند، دیتابیس‌های مبتنی‌بر گراف این اجازه را به شما می‌دهند که به‌صورت مجازی هر رابطه‌ای را در لحظه تعریف کنید. نمونه‌ دیتابیس‌های NoSQL مبتنی‌بر گراف Neo4j ،ArangoDB و OrientDB هستند.
    موارد استفادهٔ دیتابیس‌های مبتنی‌بر Graph
    - سیستم‌های شناسایی کلاهبرداری‌های آنلاین
    - جستجوی مبتنی‌بر گراف
    - انجام تسک‌ها در حوزه‌های شبکه و فناوری
    - شبکه‌های اجتماعی و ...

    منبع

  • #19
    كاربر عادي Array
    تاریخ عضویت
    Monday 10 October 2005
    نوشته ها
    447
    Thanks
    5
    Thanked 4 Times in 4 Posts

    پیش فرض


  • صفحه 2 از 2 نخستنخست 12

    علاقه مندي ها (Bookmarks)

    علاقه مندي ها (Bookmarks)

    مجوز های ارسال و ویرایش

    • شما نمیتوانید موضوع جدیدی ارسال کنید
    • شما امکان ارسال پاسخ را ندارید
    • شما نمیتوانید فایل پیوست کنید.
    • شما نمیتوانید پست های خود را ویرایش کنید
    •