Abstract
NoSQL databases are growing in popularity for Big Data applications in web analytics and supporting large web sites due to their high availability and scalability. Since each NoSQL system has its own API and does not typically support standards such as SQL and JDBC, integrating these systems with other enterprise and reporting software requires extra effort. In this work, we present a generic standards-based architecture that allows NoSQL systems, with specific focus on MongoDB, to be queried using SQL and seamlessly interact with any software supporting JDBC. A virtualization system is built on top of the NoSQL sources that translates SQL queries into the source-specific APIs. The virtualization architecture allows users to query and join data from both NoSQL and relational SQL systems in a single SQL query. Experimental results demonstrate that the virtualization layer adds minimal overhead in translating SQL to NoSQL APIs, and the virtualization system can efficiently perform joins across sources
چکیده
پایگاه داده های NoSQL به خاطر کاربرد زیاد داده در تحلیل های وب و پشتیبانی از وب سایت های بزرگ به خاطر دسترس پذیری بالا و مقیاس پذیری، در حال رشد محبوبیت هستند. از آنجا که هر سیستم NoSQL، API خاص خود را دارد و همیشه از استانداردهایی مثل SQL و JDBC پشتیبانی نمی کند، یگپارچه کردن این سیستم ها با سایر نرم افزارهای شرکتی و گزارشگیری نیازمند تلاشی مضاعف است. در این پژوهش، یک معماری مبتنی بر استاندارد عمومی ارائه می دهیم که این امکان را برای سیستم های NoSQL، با تمرکز خاص بر MongoDB، فراهم می کند تا توسط SQL از آن ها کوئری گرفته شود و به صورت یکپارچه با هر نرم افزاری که از JDBC پشتیبانی می کند تعامل کنند. یک سیستم مجازی سازی بر بالای منابع NoSQL که کوئری های SQL را به APIهای خاص منبع ترجمه می کند، ساخته شده است. معماری مجازی سازی به کاربران امکان کوئری گرفتن و متصل کردن (join) داده را هم از سیستم های NoSQL و هم از SQL رابطه ای در یک کوئری SQL، می دهد. نتایج تجربی نشان می دهد که لایه ی مجازی سازی سربار حداقلی در ترجمه ی SQL به NoSQL API اضافه می کند و سیستم مجازی سازی می تواند به صورت کارا اتصال ها را بین منابع مختلف اجرا کند.
1-مقدمه
انقلابی در سیستم های بانک اطلاعاتی در حال رخ دادن است. سال ها است که سیستم های پایگاه داده در ابتدا مبتنی بر مدل رابطه ای بوده اند، کوئری گرفتن با استفاده از SQL استاندارد بوده است و دسترسی به آن ها با واسط های رایجی مثل ODBC و JDBC بوده است. با اینکه فروشنگان هر سیستم رابطه ای تنوع کمی در ویژگی ها، پیاده سازی، گویش SQL و واسط های سیستم دارند، به خاطر پذیرش مشترک استانداردها، نسبتا قابل تعویض هستند. اخیرا سیستم های NoSQL (نه فقط SQL) پر شماری تولید شده اند و در برخی دامنه ها به طور گسترده مورد پذیرش قررا گرفته اند. سیستم های NoSQL برای پشتیبانی از کاربردهایی که سیستمهای رابطه ای به خوبی به کار آن ها نمی آیند، توسعه داده شده است. کاربردهایی که معمولا شامل پردازش داده ی بزرگ هستند. سیستم های NoSQL را می توان به عنوان ذخیره گاه های مقدار کلیدی، ذخیره گاه اسناد، و پایگاه داده های گراف طبقه بندی کرد...