در قسمت اول از این مقاله به بررسی مفهوم Oracle NoSQL Database یا به اختصار ONDB و معماری آن پرداخته شد و در این مقاله که قسمت دوم از این سری مقالات می باشد به بررسی برخی ویژگی های این تکنولوژی از جمله Indexing و Table Data Model و … خواهیم پرداخت.
مدل دادههای جدولی (Table Data Model) در ONDB
ساختار دادههای جدولی با تاثیر بر مفاهیم اصلی طراحی Schema، موجب تسهیل فرآیند مدلسازی دادههای برنامه میگردد. این مدل در صدر ساختار توزیعی Key/Value قرار گرفته و به واسطه تجمیع یکپارچه با برنامههای مبتنی بر SQL، علاوه بر برخورداری از برخی مزایا، دارای قابلیت سادهسازی طراحی برنامه نیز میباشد.
شاخص ثانویه (Secondary Index) در ONDB
Primary Key مبتنی بر Indexing، تعداد مسیرهای دسترسی Low Latency را محدود مینماید. گاهی اوقات برنامه، جهت پشتیبانی از راهکارهای کلی سیستم Real-Time، به تعداد کمی مسیر Non-Primary-Key نیاز دارد. با وجود قابلیت تعریف Index ثانویه در هر فیلدِ Value، عملکرد Queryها به میزان قابل توجهی بهبود مییابد.
APIها در ONDB
Oracle NoSQL Database یا به اختصار ONDB، شامل جاوا و APIهای زبان C میباشد. APIهای ساده امکان اجرای عملیات CRUD را در Oracle NoSQL Database برای توسعهدهندگان برنامه فراهم میکنند. در ضمن این کتابخانهها شامل پشتیبانی Avro نیز میباشند؛ که این امر توسعهدهندگان را قادر میسازد رکوردهای Key-Value را بین برنامههای C و Java به طور متناوب Serialize و Deserialize نمایند.
پشتیبانی از Python و NodeJS در Oracle NoSQL Database
با توجه به اینکه امروزه قابلیت پشتیبانی از درایورهای Python و NodeJS به ONDB اضافه گردیده است، در حال حاضر کاربران میتوانند با استفاده از آن در برنامه Python و NodeJS برای جستجو، ایجاد، بهروزرسانی یا حذف دادههای ذخیرهشده در Oracle NoSQL Database استفاده نمایند.
خدمات Oracle RESTful
پشتیبانی از نمایش جدولهای ONDB به صورت Endpointهای REST API، در Oracle NoSQL Database ارائه شده است. با استفاده از REST به همراه فیلترهای JSON ، قابلیت ایجاد، جستجو، به روزرسانی و حذف دادههای ذخیرهشده در جدول فراهم میگردد. بنابراین کاربران قادر به ایجاد یک برنامه مبتنی بر REST میباشند که امکان دسترسی به دادهها در Oracle Database یا Oracle NoSQL Database را دارد.
پشتیبانی از Objectهای بزرگ
APIهای مبتنی بر Stream، با هدف خواندن و نوشتن Objectهای بزرگ یا به عبارتی LOBها (مانند فایلهای صوتی و تصویری) ارائه میگردند، بدون اینکه به اعمال Value بر روی تمام آنها در حافظه نیاز باشد؛ این امر موجب بروز عملیاتهای Low Latency در بارکاری Objectsها با اندازههای مختلف میگردد.
یکپارچهسازی Apache Hadoop
کلاسهای KVAvrolnputFormat و KVlnputFormat، جهت انجام عملیات خواندن دادهها از Oracle NoSQL Database به کارهای Hadoop Map/Reduce در نظر گرفته شدهاند. خواندن رکوردهای ONDB از Oracle Loader برای Hadoop یکی از کاربردهای این کلاس میباشد.
یکپارچگی پایگاهداده اوراکل از طریق جدولهای خارجی
امکان واکشی (Fetching) دادههای Oracle NoSQL Database از این پایگاه، با استفاده از دستورات SQL شامل (*)Select، Select Count و موارد دیگر، با پشتیبانی جدولهای خارجی یا External Table فراهم میگردد. هنگامی که دادههای Oracle NoSQL Database از طریق جدولهای خارجی ارائه میشوند، دسترسی به دادهها از طریق درایور استاندارد JDBC یا Visualize نمودن آن با استفاده از ابزار Enterprise Business Intelligence میسر میگردد.
یکپارچهسازی با دیگر محصولات اوراکل
Oracle Event Processing یا به اختصار OEP، امکان دسترسی خواندنی را برای ONDB، از طریق ONDB Cartridge فراهم مینماید. در صورت تنظیم Cartridge میتوان از CQL Queryها برای جستجوی دادهها استفاده نمود.
گراف معنایی اوراکل (Oracle Semantic Graph)، آداپتور Jena را جهت ذخیرهسازی حجم زیادی از دادههای RDF (به عنوان سه گانه/ چهارگانه) برای Oracle NoSQL Database ارائه نموده است. این آداپتور از طریق Queryهای SPARQL، امکان دسترسی سریع به دادههای گراف ذخیره شده در ONDB را فراهم مینماید.
فرآیند یکپارچهسازی این تکنولوژی با محصول Oracle Coherence، جهت بکارگیری از ONDB به عنوان Cache، برای برنامههای Oracle Coherence صورت گرفت. علاوه بر آن ادغام دو مورد فوق، دسترسی مستقیم به دادههای Cacheشده در Oracle NoSQL Database را امکانپذیر نموده است.
ادغام Oracle Big Data SQL و Hive
Oracle Big Data SQL، یک لایه دسترسی مشترکِ SQL، برای دادههای ذخیرهشده در Hadoop، HDFS، Hive و Oracle NoSQL Database محسوب می گردد و امکان اجرای Queryها در ONDB از Hive یا Oracle Database را ایجاد مینماید. همچنین کاربران می توانند از کارهایMapReduce برای دادههای ذخیره شده در ONDB استفاده نمایند، که با هدف دسترسی ایمن تنظیم شده است. لازم به ذکر است که آخرین نسخه ارائه شده انواع دادههای ابتدایی و پیچیده (Primitive and Complex) را پشتیبانی میکند.
در قسمت بعدی از این مقاله که قسمت پایانی نیز می باشد به بررسی مزایا و موارد استفاده ی این تکنولوژی خواهیم پرداخت.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــ
مفهوم و بررسی Oracle NoSQL Database یا ONDB – قسمت اول
مفهوم و بررسی Oracle NoSQL Database یا ONDB – قسمت دوم
مفهوم و بررسی Oracle NoSQL Database یا ONDB – قسمت سوم(پایانی)