چکیده
مهاجرت از RDBMS به NoSQL به یک موضوع مهم در کلان داده تبدیل شده است. این تحقیق، روشها و دستورالعملهای جامعی جهت مهاجرت مؤثر از RDBMS به NoSQL ارائه میدهد. ما در مورد چالشهای که در هنگام تبدیل جستجوگر SQL با آن مواجه هستیم و اثرات غیرنرمالسازی، دستههای ستون، شاخصهای ثانویه، الگوریتمهای پیوستن، طول اسمی ستون و پشتیبانی تصمیمگیری برای مهاجرت بحث میکنیم. ما بر روی NoSQL ستونی جهتدار و HBase متمرکز میشویم، زیرا بهطور گسترده توسط بسیاری از شرکتهای اینترنتی مانند Facebook، Twitter و Linkedln استفاده میشود. چون HBase از SQL پشتیبانی نمیکند، ما از Apache Phoenix بهعنوان لایهی SQL در بالای HBase استفاده میکنیم. نتایج تجربی با استفاده از TPC-H نشان میدهد که غیرنرمالسازی سطحی ستون همراه با یکپارچگی و ستونهای گروهبندی در داخل دستههای ستون بهطور قابل ملاحظهای عملکرد جستجو را بهبود میبخشند؛ استفاده از شاخصهای ثانویه بر روی کلیدهای خارجی در RDBMSها مؤثر نیست؛ جستجوی بهینهی Phoenix خیلی پیچیده نیست؛ ستون اسمی کوتاهشده بهطور قابل توجهی سبب کاهش اندازهی پایگاه داده و بهبود عملکرد جستجو میشود و طبقهبندی SVM میتواند در مورد بهبود عملکرد جستجو بهوسیلهی مهاجرت، پیشبینی انجام دهد. اهمیت مسائل باز در تحقیقات NoSQL سبب پشتیبانی از جستجوگرهای SQL پیچیده، انتخاب شاخص خودکار و جستجوگرهای SQL بهینه برای NoSQL میشود.
1- مقدمه
پایگاه دادههای NoSQL به دلیل توانایی مدیریت دادههای بزرگ بهعنوان یک جایگزین محبوب برای پایگاه دادههای رابطهای سنتی تبدیل شدهاند و تقاضای مهاجرت از RDBMS به NoSQL به سرعت در حال گسترش است ]1، 2[. با توجه به اینکه NoSQL دارای دادههای مختلف و مدل جستجوگر در مقایسه با RDBMS است، مهاجرت بهعنوان یک مشکل تحقیقی چالشی شناخته میشود. بهعنوان مثال در NoSQL نمیتوان پشتیبانی مناسب برای حالت جستجوگر SQL، عملیات پیوستن و انجام تراکنش ACID را ایجاد نمود.
Abstract
Migration from RDBMS to NoSQL has become an important topic in a big data era. This paper provides comprehensive techniques and guidelines for effective migration from RDBMS to NoSQL. We discuss the challenges faced in translating SQL queries; the effects of denormalization, column families, secondary indexes, join algorithms, and column name length; and decision support for the migration. We focus on a column-oriented NoSQL, HBase because it is widely used by many Internet enterprises such as Facebook, Twitter, and LinkedIn. Because HBase does not support SQL, we use Apache Phoenix as an SQL layer on top of HBase. Experimental results using TPC-H show that column-level denormalization with atomicity and grouping columns into column families significantly improve query performance; the use of secondary indexes on foreign keys is not as effective as in RDBMSs; the query optimizer of Phoenix is not very sophisticated; shortened column names significantly reduce the database size and improve query performance; and the SVM classifier can predict whether query performance is improved by migration or not. Important open problems in NoSQL research are supporting complex SQL queries, automatic index selection, and optimizing SQL queries for NoSQL.
1 Introduction
NoSQL databases have become a popular alternative to traditional relational databases due to the capability of handling big data, and the demand on the migration from RDBMS to NoSQL is growing rapidly [1, 2]. Because NoSQL has different data and query model comparing with RDBMS, the migration is a challenging research problem. For example, NoSQL does not provide sufficient support for SQL queries, join operations, and ACID transactions.
چکیده
1- مقدمه
2- پیشینه
3- کارهای مرتبط
4- مهاجرت از RDBMS به ستونهای جهتدار NoSQL
4-1 تبدیل جستجوگرهای SQL
4-2 غیرنرمالسازی
4-3 شاخصهای ثانویه
4-4 پیوستن به الگوریتمها
4-5 پشتیبانی تصمیمگیری برای مهاجرت
5- ارزیابی نتایج آزمایشگاهی
5-1 مراحل انجام آزمایش
5-2 نتایج انجام آزمایش
5-3 دستورالعملها
6- نتیجهگیری
Abstract
1 Introduction
2 Background
3 Related work
4 Migration from RDBMS to column-oriented NoSQL
4.1 Translating SQL queries
4.2 Denormalization
4.3 Secondary indexes
4.4 Join algorithms
4.5 Decision support for the migration
5 Experimental evaluation
5.1 Experimental setup
5.2 Experimental results
5.3 Guidelines
6 Conclusions