بخشی از مقاله

چکیده

امروزه یکی از چالشهاي بزرگ پردازش دادههاي بزرگ، پردازش دادههاي سري زمانی است که بخش بسیار وسیعی از تحقیقاتBig Data را تشکیل میدهد. همچنین دادهکاوي و تجزیه و تحلیل دادههاي زمانی داراي اهمیت بسیاري است، زیرا روند گذشته براي پیشبینی آینده بسیار مفید است. اما با توجه به تاخیر چشمگیر در پایگاههاي داده ي سنتی در زمان افزایش حجم دادهها و وجود افزونگی و همچنین عدم وجود ساختار دادهي زمانی در مدل دادهي سنتی رابطهاي به طور ذاتی، به نظر میرسد استفاده از مدل دادهاي رابطهاي معمول، براي تحلیل دادههاي زمانی مناسب نمیباشد.

بنابراین دسترسی به دادههاي زمانی میتواند کاملاً ناکارآمد باشد، چرا که بسیاري از دادهساختارهاي مرسوم، تمام عملگرهاي زمانی را پشتیبانی نمیکنند. ازین رو کار با Big Data با استفاده از سیستمهاي مدیریت دیتابیسهاي رابطهاي ، دشوار بوده و نیازمند نرمافزار بسیار موازي در حال کار بر روي تعداد زیادي سرور است. دراین راستا این تحقیق، منجر به پیادهسازي نرمافزار کرونوس شده است. کرونوس یک پایگاهدادهي زمانی پیشینهمند و در-حافظه براي جفتهاي کلید-مقدار است که دراین تحقیق به زبان C++ در لینوکس پیادهسازي و گسترش داده شده است.

-1 مقدمه

با توجه به سرعت رشد دادهها و حجم اطلاعاتی که در پایگاههاي داده نیاز به ذخیرهسازي دارند، براي نگهداري این حجم از اطلاعات مدیریت جامعی نیاز میباشد. از طرفی در طی سالیان اخیر تولید دادهها به حدي رسیدهاند که به طور حتم میتوان ادعا کرد که بانکهاي رابطهاي قابلیت کنترل آنها را ندارد و همچنین دادههایی که امروز و آینده به وجود میآیند اصلا شباهتی به دادههاي گذشته ندارند. در این میان مدیریت داده هاي زمانی براي کاربردهاي زیادي به شدت اهمیت یافته است.

سیستم هاي پایگاهداده بسیاري تا کنون از بعد زمان حمایت کرده اند، ولی فقط تعداد کمی از آنها اپراتورهاي زمانی را ارایه داده اند، که آن هم اغلب ویژگیهاي عملکردي را ضعیف نشان می دهد. شاخص جدول زمانی یک روش متحد ساختار دادههاست که به صورت بسیار موثري اپراتورهاي زمانی را حمایت میکند، به عنوان مثال: temporal aggregation، Time Travel،.Temporal Join از آنجاییکه شاخص جدول زمانی از ترتیب فیزیکی دادهها مستقل است؛ انعطاف در طراحی فیزیکی را فراهم میکند.

1-1 داده هاي بزرگ

Big Data واژهاي است براي مجموعهاي از داده هاي بسیار بزرگ و پیچیده، که استفاده از ابزارهاي مدیریت پایگاهداده در دست و یا برنامههاي کاربردي سنتی پردازش داده، براي پردازش آنها دشوار خواهد بود. کار با Big Data با استفاده از سیستمهاي مدیریت دیتابیسهاي رابطهاي و بسته هاي بصريسازي دشوار بوده و نیازمند نرمافزار بسیار موازي در حال کار بر روي دهها، صدها و یا حتی هزاران سرور هستند. آنچه که Big Data شناخته میشود، بنا بر قابلیتهاي سازمان مدیریت کننده آن، و قابلیتهاي برنامههاي کاربردي که به طور سنتی در آن زمینه داده پردازش و تحلیل می کنند، متفاوت است. چالشها شامل استخراج، ذخیرهسازي، جستجو، اشتراك، انتقال، آنالیز و بصريسازي است.

2-1 تاریخچه تحقیقات انجام شده بر روي داده هاي زمانی

امروزه در بیشتر پایگاهدادهها یک ویژگی مهم، مدیریت دادههاي زمانی است. سیستمهاي مدرن پایگاهداده به جاي "به روز رسانی در محل" یک ویرایش جدید از موضوع مورد مطالعه را به وجود میآورند. زمانیکه ما قبول می کنیم هزینههاي اضافی نگهداري این ویرایشهاي جدید را پرداخت کنیم، کاربران انتظارقابلیتهاي غنی از پرسو جو و پردازش آن دادهها را دارند. به عنوان مثال کاربرانی که قصد مقایسه وضعیت فعلی سرمایهگذاریشان را با وضعیت یکسال پیش دارند. پرسوجوي یک نسخه تاریخی دیتابیس معمولا به عنوان Time Travel شناخته میشود. .

از نقطه نظر دانشگاهی مدیریت دادههاي زمانی موضوع تحقیقات زیادي بوده است. از منظر صنعتی، پذیرش فنآوري پایگاهداده زمانی بسیار کند بوده است. مشکل کار نیاز بازار و عدم استقبال کار نیست، مشتریان علاقه زیادي به دریافت ویژگیهاي زمانی غنی شده دارند، به عنوان مثال، توسعه دهندگان نرم افزارهاي مالی، فروش و توزیع ماژولهاي پیاده سازي اپراتورهاي زمانی به عنوان بخشی از منطق برنامههاي کاربردي است، چرا که محصولات پایگاهداده این ویژگیهاي زمانی را حمایت نمیکنند. نگاه دقیق به ادبیات فنی معلوم میکند که بیشتر کارهایی که روي مدیریت زمانی دادهها انجام شده است به شدت تخصصی شده است. در حالی که همهي این توابع مهم هستند و نیازمند توجه خاصی میباشند. بنابراین کارهاي انجام شده تاکنون عمومی نبوده و قابل گسترش براي زمانهاي دیگر نبوده است.

3-1 مزایاي استفاده از NoSQL بجاي SQL چیست؟

اولین و مهم ترین مزایا عدم طراحی شماي - الگو - خاص براي دادههاست و دراین سیستم دادههاي ورودي میتواند هر موقع تغییر نوع پیدا کرده و سیستم باید خودش را با آن مطابق کند. دومین مزیت قابلیت چند بخشی شدن خودکار و تشخیص هوشمند یکپارچگی است، که در SQLطراح باید چند سرور بودن را در طراحی خود حتما لحاظ میکرد و بر طبق آن شماي پایگاهداده را پیاده سازي می کرد، ولی در سیستم NoSQL چند سرور بودن بخاطر هوشمندي و بالا بودن سطح سیستم هیچ مانعی براي ادامه کار ندارد.

سومین مزیت هم که در سیستم قبلی حرفی از آن زده نشده بود وجود Cache براي افزایش سرعت بازیابی اطلاعات میباشد که همانند پردازنده در مواجه شدن با منابع مشابه و یکسان که آنها را در Cache نگهداري می کرد، در سیستم NoSQL هم دادههاي پراستفاده در Cache نگهداري میشوند. پس استفاده از NoSQLباعث افزایش سرعت در طراحی و اجراي پایگاهداده شده و همچنین محدودیتهاي قالب قدیمی را از میان برمیدارد که بیشتر مورد نیاز دنیاي امروز و آینده اطلاعات و دادهها میباشد.

4-1 بیان مساله و اهمیت تحقیق

اخیرا یکی از مشکلات سیستمهاي ذخیرهسازي مدرن در مقیاسپذیري آنها نهفته است. امروز به طور پیوسته سیستمهاي ذخیرهسازي به سمت NoSql می روند، NoSql نسل جدیدي از سیستمهاي ذخیرهسازي ساده و مقیاس پذیر هستند. به طور همزمان، نگهداري دادههاي زمانی براي کاربردهاي تجاري اهمیت بسیاري یافته است. Chronos بر پایهي مقیاسپذیري طراحی شده است. از طرف دیگر Chronos یک پایگاهداده ي سندگرا است،نه یک پایگاهدادهي رابطه اي. سندگرا بودن مدل دادهها این اجازه را میدهد که دادهها به طور جداگانه روي چندین سرور پخش شوند. دلیل اصلی براي کنار گذاشتن دیتابیسهاي رابطهاي توانایی مقیاس پذیر بودن کرونوس است، اما مزایاي مهم دیگري نیز دارد. ایدهي پایه در طراحی chronos جایگزین کردن مفهوم row با یک مدل انعطافپذیرتر بنام document است. سندگرایی امکان ایجاد سندهاي داخلی و آرایه ها را به کاربر میدهد. همچنین scheme-less یا بدون شما بودن دیتابیس را نیز دارا میباشد.

5-1 اهداف تحقیق

یک پایگاهداده temporal شامل دادههایی مربوط به زمان آینده و یا scheduling یک کاربرد است. بسیاري از کاربردها temporal هستند، که از جمله میتوان به کاربردهاي اقتصادي و بانکی و یا کاربردهاي زمانبندي - از جمله کنترل پرواز در فرودگاه، زمانبندي قطارها و غیره - اشاره کرد. با توجه به تعاریف ذکر شده در بالا در این تحقیق، به ایجاد یک پایگاه دادهي temporal با اهداف ذیل پرداخته شده است. پایگاه دادهي ارایه شده در این تحقیق اهداف زیر را محقق میکند:

1.    ایجاد یک سیستم مقیاسپذیر براي ذخیره ي داده هاي وابسته به زمان

2.    ارایه راه حلی موثر براي ذخیره داده هاي زمانی با استفاده از ساختار دادهي .[2] Timeline Index

3.    مدیریت داده زمانی در این سیستم و بهبود تحلیل دادههاي سري زمانی

4.    ایجاد سیستماي با امکان پرسش و پاسخ سریع با توجه به تاخیر در سیستم پایگاهداده هاي سنتی دراین تحقیق اهداف ذکر شده در بالا با استفاده از ساختمان دادهاي بنام Timeline Index محقق شده است. Timeline Index ساختمان دادهاي است که براي مدیریت کارآمد داده زمانی و انجام query روي دادهها استفاده میشود.

6-1 جنبهي نوآوري این تحقیق

طرح جدید این تحقیق در رابطه با ساخت نرم افزار ذخیرهسازي کرونوس[1] شامل 3 ویژگی زیر به طور همزمان است:

1.    این نرمافزار یک پایگاهداده در-حافظه ست، یعنی اطلاعات را روي RAM ذخیره میکند و نه دیسک.

2.    این نرمافزار مختص داده هاي کلید-مقدار است .

3.    این نرمافزار یک پایگاهداده پیشینهمند است. این ویژگیها به نوبهي خود منحصر به فرد نیستند، مثلا براي مورد 1 میشود RAMCloud را مثال زد، براي مورد Redis 2و براي مورد 3 InfluxDB را مثال زد، اما این سه ویژگی یکجا در هیچ نرمافزاري در حال حاضر موجود نیست. بخصوص اینکه الگوریتم اندیس زمانی، که الگوریتمی نوآورانه و جدید هست در این تحقیق پیادهسازي شده است و این هم از ویژگیهاي منحصر به فرد کرونوس است.

7-1 فرضیهها

پردازش دادههاي سري زمانی بخش بسیار وسیعی از تحقیقات Data Big را تشکیل میدهد. کرونوس ابزاري است که با سرعت بالایی که در نگاهداري و پردازش دادههاي سري زمانی دارد - در ادامه متن، نتایج مقایسه این را نشان میدهد - ، میتواند نقش بسیار مهمی در پردازش دادههاي بزرگ ایفا کند. دادههاي سري زمانی غالباً داده هایی به صورت جفت کلید-مقدار هستند و ویژگی ذاتی پیشنه مندي دارند. با در نظر گرفتن این موارد، در این تحقیق سیستمی با ویژگیهاي زیر پیادهسازي شده است. جایگزینی سیستم پایگاهداده ي سنتی با ذخیرهسازي مدرن Nosql بر اساس .key-value استفاده از ساختمان داده جدید Timeline Index براي ذخیرهسازي و مدیریت داده هاي زمانی بهکارگیري RAM براي ذخیرهسازي دادهها به جاي استفاده از دیسک سخت و استفاده از الگوریتم Temporal Table

8-1 ساختار تحقیق

در قسمت مقدمه به تعریف مفاهیم Big Data ،اهمیت دادههاي زمانی و پیشینه کار بر روي آنها اشاره شده است. در زیر بخشهاي مقدمه برخی مزایاي استفاده از NoSQL بجايSQL بررسی شده است و مفاهیم مرتبط با آن آورده شده است.در بخش بعدي بیان مساله و اهمیت تحقیق، اهداف تحقیق، جنبه نوآوري این تحقیق و فرضیهها آورده شده است. در قسمت روش اجراي تحقیق به بررسی ساختمان داده ي جدید مورد استفاده در این طرح پرداخته شده و در ادامه آن ویژگیها ،اصول و معماري طرح و الگوریتم مدیریت دادهها در بخش سوم بیان شده است.بخش چهارم به تجزیه و تحلیل دادهها و یافتهها اختصاص داده شده است.در بخش پنجم ارزیابی و مقایسه ي دادههاي تصادفی ایجاد شده توسط قطعه کدهاي مربوط به هریک از پایگاه دادههاي مورد مقایسه توسط جدول و نمودارها بیان شده است. .در بخش ششم نتیجهي تحقیق ارایه شده است و در پایان منابع تحقیق ذکر شده است.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید