مقاله ISI در زمینه داده های کلان
شماره تماس : 09217143226 مکتوبیان
شماره تماس : 09217143226 مکتوبیان
شماره تماس : 09217143226
ایمیل: jamal.maktoobian@gmail.com
IEEE , Springer
Email : Jamal.maktoobian@gmail.com
storm یک سیستم با قابلیت پردازش داده ها به صورت جریان داده ، قابل اعتماد، تلورانس خطا، و همچنین توزیع خطا می باشد. در storm کارها به اجزاء مختلف واگذار می شوند و هر جزء مسئولیت پردازش وظیفه خاص خود را دارد.
spout یک جزء ازstorm است که وظیفه آن دریافت ورودیهای stream و کنترل آن می باشد. spout دادها را به وسیله قسمتی که آن را bolt می نامیم انتقال دهد. یک bolt وظیفه دارد که داده ها را ذخیره کند یا آن را به bolt دیگر انتقال دهد. شما می توانید storm cluster را شبیه یک زنجیره ای از boltها تصور کنید که هر کدام در حال انتقال اطلاعات هستند تا به وسیله spout ظاهر شوند.
برای نشان دادن این مفهوم بهتر است با یک مثال ساده شروع کنیم . شب گذشته من درحال تماشای تلویزیون بودم وقتی که گویندگان شروع به صحبت در مورد سیاستمداران کردند و موضعشان در مورد موضوعات مختلف را ابراز کردند. آنها شروع کردند به تکرار نامهای مختلف و من متعجب شدم وقتی دیدم آنها نامها را در زمانهای مساوی تکرار می کنند.
زیرنویس صحبتهای گویندگان را مانند داده های ورودی تصور کنید، شما می توانید یک spout داشته باشید که همانطور که زیرنویسی می رسد آن را تحویل بگیرد سپس تحویل Bolt ها دهد، Boltها جملات را به کلمات جداگانه تبدیل کنند و درون Boltهای دیگر عبور دهد در حین عبور کلمات ، عملیات مقایسه انجام می گیرد تا تعداد تکرار آنها ثبت شود. هر Bolt می تواند کلمه ای را در خود نگهداری کند اگر مقدار دو Bolt با هم یکسان بود مقدار counter داخل database که به Bolt مورد نظر اشاره دارد به مقدار 1 واحد افزایش می یابد. در این صورت هر موقع که ما نیاز به گزارش داشته باشیم می توانیم به Database دسترسی داشته باشیم و نتیجه را مشاهده کنیم و نکته اینکه Database در هر لحظه تغییر می کند و درحال Update شدن است.
به نحوه قرارگرفتن Boltها و Spoutها و ارتباطشان با یکدیگر توپولوژی می گوییم.
حالا تصور کنید ما به راحتی می توانیم موازی سازی را برای این Boltها و Spoutها در کلاستر تعریف و پیاده سازی کنیم و سپس قدرت Storm را در این ساختار بهتر می توان درک نمود.
در یک کلاسترstorm نودها در داخل یک Master node که همیشه در حال اجراست مدیریت می شود. در storm cluster دو نوع نود وجود دارد :
1- Master Node 2-Worker Node
Master node دیمونی را اجرا می کند که آن را Nimbus می نامد که مسئولیت توزیع کدها در کلاستر، تخصیص دادن وظایف به نودهای Worker و مشاهده و زیرنظر گرفتن خطاها و معایب سیستم را بر عهده دارد.
Worker Node دیمونی را اجرا می کند که آن را Supervisor می نامد که مسئولیت اجرای توپولوژی را بر عهده دارد. یک توپولوژی در درون مشینهای متفاوت و تعداد زیادی از نودهای Worker اجرا می شود.
Storm می تواند تمام کلاسترها را بصورت یکجا در Zookeeper یا در دیسک محلی نگهداری کند. دیمونها بدون مکان هستند و می توانند به حالت خطا بروند یا حتی Reset شوند بدون اینکه برای سیستم مخرب باشند.
با تمام این تعاریف و توصیفها Storm دارای یک سری خصوصیتهای ویژه می باشد که آن را از بقیه تکنولوژی های موجود متمایز کرده است :
1- بسیار ساده برای برنامه نویسی 2- پشتیبانی از زبانهای Multi programming 3- Fault tolerant 4- مقیاس پذیر
5- قابلیت اطمینان 6- سریع 7-Transactional
در چند سال اخیرتکنولوژی و ابزارهای آن با رشد و تولید داده ها به حدی رسیده اند که ما به طور حتم می توانیم این ادعا را داشته باشیم که با بانک های رابطه ای قابلیت کنترل انها را نداریم و همچنین می توانیم بگوییم داده هایی که امروز و آینده به وجود می آیند اصلا شباهتی به داده های گذشته ندارند.
Redis یک سرور پایگاه دادهاست، با قابلیت کلاستربندی ، متن باز، درون حافظه اصلی و همچنین Key,value دیتابیس می باشد. ردیس در گذشته توسط Pivotal,Vmware تا June2015 پشتیبانی می شد ولی هم اکنون توسط Redis Lab پشتیبانی می شود. به گفته سایت DBEngines.com و سرشماری انجام گرفته شده توسط آن Redis از مشهورترین و قابل استفاده ترین دیتابیس های Key,Value به حساب می آید.
نام Redis از Remote Dictionary server گرفته شده است.
بسیاری از زبانها از Redis پشتیبانی می کنند از قبیل ActionScript, C, C++, C#, Clojure, Common Lisp, D, Dart , Erlang, Go, Haskell, Haxe, Io, Java, JavaScript (Node.js), Julia, Lua, Objective-C, Perl, PHP, Pure Data, Python, R, Racket, Ruby, Scala, Smalltalk , Tcl.
تفاوت عمده بین Redis و دیگر سیستمهای پایگاه ذخیره سازی داده ها این است که Redis نه تنها مقدار رشته را می پذیرد بلکه مقادیر داده ای زیر را نیز پشتیبانی می کند :
- لیستی از رشته ها (Lists)
- مجموعه ای از رشته ها (Sets)
- جداول Hash که مقادیر Key,Value آنها رشته می باشد (Hash Tables)
- HyperLogLogs ها که برای تخمین زدن و برآورد تقریبی کاردینالیتی به کار میرود
کار کردن با Redis خیلی مهیج و به طرز غیر باوری ساده است ، برای یادگیری علاقمندان نیازی ندارند به منابع مختلف از قبیل کلاسهای آموزشی، فیلم های آموزشی و کتابهای مختلف ندارند . آنها کافیست با مراجعه به وبسایت اصلی Redis از قسمتهای آموزشی آن بهرمند شوند.
هر شخصی به نوبه خود روشی برای یادگیری یک حرفه یا تکنولوژی دارد . بعضی افراد دوست دارند با آزمون و خطا کار را شروع کنند ،بعضی به فیلمهای آموزشی علاقمندند و تعدادی ترجیح می دهند با کتاب خواندن به هدف خود برسند ولی هیچ چیز به شما به یادگیری Redis کمک نمی کند مگر تجربه آن.
Redis آمده است تا مجموعه ای از مشکلات را حل کند این به این معنی نیست که در همه زمینه ها Redis یک راه حل به حساب می آیدولی وقتی کار با این تکنولوژی را آغاز کردید به عنوان یک برنامه نویس حرفه ای متوجه نقاط قوت آن خواهید شد.
Redis خیلی آسان نصب می شود ، برای راحتی هرچه بیشتر Redis را روی سیستم عامل Linux نصب کنید.
مراحل نصب Redis :
ترمینال linux را باز کنید و به ترتیب دستورات زیر را وارد کنید.
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
آموزش نصب Redis را در لینک بصورت تصویری دنبال کنید.
موضوعات در زمینه :
شماره تماس : 09133091692
09217143226
Radoop یک شرکت بزرگ تجزیه و تحلیل داده با هدف کم کردن موانع برای استفاده از Hadoop است. بسته Radoop اجازه می دهد تا حتی افراد غیر فنی نیز توانایی دسترسی ، تجزیه و تحلیل و شبیه سازی داده های بزرگ را داشته باشند. برای افراد متخصص علاوه بر امکانات ذکر شده برنامه نویسی ، تجزیه و تحلیل و پیش بینی پیشرفته را فراهم می کند و این دلیل محکمی است که RapidMiner با تکیه بر توانایی هدوپ در پردازش موازی داده های کلان به عنوان محبوب ترین ابزار داده کاوی یکپارچه شناخته شود و کم کم کاربران زیادی را به سمت خود سوق دهد.
Radoop محیطی گرافیکی و بسیار راحت برای تحلیل داده های کلان بر روی هدوپ فراهم می کند و همه اینها به این بستگی دارد که ما پیکربندی دقیق و بدون نقصی را برای نصب این افزونه تحلیل داده های کلان انجام دهیم. Radoop از ترکیب RapidMiner و هدوپ بوجود آمده البته وجود Hive در این افزونه به نظر الزامیست نه به این معنی که بدون Hive کار کردن غیر ممکن است بلکه به دلیل که Hive قدرتمند، انعطاف پذیر و آسان برای کار کردن است.