Oracle NoSQL Database یا به اختصار ONDB ، یک ذخیرهساز Key/value چند ترابایتی توزیعشده (Distributed)، با قابلیت دسترسی به شبکه و پیشبینی Latency یا تاخیر ارائه مینماید. دادهها در فرمت انعطاف پذیر Key-value ذخیره میشوند؛ به طوری که Key شامل ترکیبی از Keyهای بزرگ و کوچک (که به صورت String ارائه میشوند) و Valueی مرتبط به آن است (که به صورت فرمت دادههای JSON و یا مجموعه مبهم از بایتها ارائه میگردد). با ONDB عملیاتی در زمینه Delete, Update, Read, Create که در اصطلاح CRUD نامیده میشوند؛ همراه با پایداری قابل تنظیم (Adjustable Durability) و تضمین سازگاری (Consistency Guarantee) امکانپذیر می گردد. در ضمن این تکنولوژی یک مدل تراکنشیِ قدرتمند و قابلانعطاف ارائه مینماید که فرآیند توسعه نرم افزار را تسهیل میکند.
(Oracle NoSQL Database (ONDB، به گونه ای طراحی می شود که سیستمی مقیاس پذیر و کاملا در دسترس را فراهم نموده و علاوه بر اینکه میزان توان خروجی (Throughput) و تاخیر (Latency) را پیش بینی مینماید، نیاز به حداقل دخالت مدیریتی در سیستم را دارد.
معماری (Oracle NoSQL Database (ONDB
(Oracle NoSQL Database (ONDB، بر مبنای Oracle Berkeley DB ارائه گردید که دارای کاربری گسترده در شرکتها و صنایع مختلف می باشد. این تکنولوژی باعث افزایش در سطح سرویس دهی و خدمات کاربری می گردد.
این راهکار در نهایت یک ذخیرهساز توزیع شدهی Key/value، با دسترسیپذیری بالا (HA) را تامین مینماید، که برای برنامههای حجیم و حساس به تاخیر (Latency) بسیار مناسب میباشد.
(Oracle NoSQL Database (ONDB امکان همسانسازی پایگاه داده بصورت Single Master و Multi-Replica را فراهم مینماید. دادههای تراکنشی با Policyهای پایدار و انعطافپذیر برای هر تراکنش، به تمامی Nodeهای همسانسازی شده یا به عبارتی Replica Nodeها ارائه میگردند.
در صورت عدم کاراییِ Master Replica Node، فرآیند خودکار انتخاب Fail-Over مبتنی بر PAXOS، باعث کاهش Downtimeها میگردد. همچنین این مقوله قابلیت مقیاسپذیری، Fail-over و Hot-standby را میسر میسازد.
Oracle NoSQL Database Driver، دادهها را بصورت Real Time، پارتیشنبندی نموده و به طور مساوی در Nodeهای ذخیرهسازی، توزیع میکند. توپولوژی شبکه با اطلاع از هرگونه تاخیر در مسیر، فرآیند مسیریابی عملیات خواندن و نوشتن را برای Nodeهای مناسب ذخیرهسازی، میسر مینماید تا توزیع بار و عملکرد، بهینه سازی گردد.
فرمت دادههای JSON
(Oracle NoSQL Database (ONDB، دارای پشتیبانی برای ترتیب دادههای Avro میباشد، بنابراین یک فرمت بسیار فشرده و مبتنی بر Schema از دادههای باینری ارائه مینماید. تعریف Schema (با استفاده از JSON) برای دادههای موجود در مقدار رکوردهای با Avro امکانپذیر می باشد. در ضمن سیر تکاملی Schema نیز با Avro پشتیبانی میشود.
توپولوژی هوشمند و قابل تنظیم
مدیر سیستم میتواند میزان ظرفیت قابل دسترسی در Node ذخیرهسازی مورد نظر را تعیین و Nodeهای ذخیره سازی مطلوبتری را برای میزبانی Nodeهای همسانسازی چندگانه فراهم کند. سیستم فقط کافی است یکبار در مورد ظرفیت Nodeهای ذخیره سازی در پیکربندی، اطلاعاتی را در اختیار داشته باشد، کار اختصاص Nodeهای همسانسازی به طور خودکار و هوشمندانه انجام میگردد. این امر موجب تعدیل بار بهتر برای سیستم، استفاده مطلوبتر از منابع سیستم و کاهش تاثیر سیستم در صورت کارکرد نامطلوب Nodeهای ذخیره سازی میشود. همچنین این توپولوژی هوشمند از دیتاسنترها پشتیبانی نموده و تضمین میکند که از ابتدا مجموعه کاملی از Replicaها به هر دیتاسنتر اختصاص داده شود.
پیکربندی انعطافپذیر (Elastic)
Oracle NoSQL Database شامل ویژگی طراحی توپولوژی است که مدیر میتواند ازطریق آن پایگاه داده NoSQL را هنگامی که پایگاه دادهها آنلاین هستند، اصلاح نماید. این فرآیند، قابلیتهای ذیل را برای مدیر فراهم میسازد:
- افزایش توزیع دادهها: با افزایش تعداد Shardها (قطعه ها) در کلاستر، توان نوشتاری نیز افزایش مییابد.
- افزایش فاکتور همسانسازی یا Replication: اختصاص Nodeهای همسانسازی اضافی به هر Shard (قطعه)، موجب افزایش توان خواندن سیستم و همچنین دسترسپذیری بالا (HA) میگردد.
- تنظیم مجدد Datastore: میتوان سیستم را با اصلاح ظرفیت Nodeهای ذخیرهسازی، دوباره تنظیم کرد و یا در صورت لزوم Nodeهای همسانسازی را به Nodeهای ذخیرهسازی موجود اختصاص داد. دستور بالانس مجدد توپولوژی، Administrator را قادر میسازد تا Nodeهای همسانسازی شده و یا پارتیشن ها را از Nodeهایی که بیش از حد مورد استفاده قرار میگیرند به Nodeهای ذخیره سازی که کمتر مورد استفاده می باشند، جابجا نماید و بالعکس.
مدیریت آسان و ارتقای مانیتورینگ سیستم
درواقع Oracle NoSQL Database، یک سرویس مدیریتی را ارائه میکند که هم از کنسول تحت وب و هم CLI قابل دسترسی میباشد. در این سرویس، از عملکردهای اصلی نظیر قابلیت تنظیم، Start، Stop و مانیتور نمودن Nodeهای ذخیره سازی، بدون اینکه نیاز به اقدام دستی با فایلهای پیکربندی، Script Shell یا عملیاتهای شاخص پایگاه داده باشد، پشتیبانی میگردد.
علاوه بر موارد فوق، این سرویس مدیرتی دسترسی به Agentها، پروتکل SNMP و توسعه مدیریت جاوا یا JMX را برای مانیتورینگ امکانپذیر مینماید. این مساله به Clientهای مدیریت اجازه می دهد تا اطلاعاتی را در مورد وضعیت، شاخصهای عملکرد و پارامترهای عملیاتی Node ذخیرهسازی و خدمات مدیریتی آن، جمعآوری نمایند.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــ
مفهوم و بررسی Oracle NoSQL Database یا ONDB – قسمت اول
مفهوم و بررسی Oracle NoSQL Database یا ONDB – قسمت دوم
مفهوم و بررسی Oracle NoSQL Database یا ONDB – قسمت سوم(پایانی)