big data and select suitable tools

43
1 ر مناسب ابزانتخاب و ا ها بزرگ دادهاد مقد حاتمی[email protected]

Upload: meghdad-hatami

Post on 18-Dec-2014

305 views

Category:

Technology


0 download

DESCRIPTION

Big Data and select suitable tools in Persian. Special thanks to Mobin Ranjbar @mobinranjbar

TRANSCRIPT

Page 1: Big Data and select suitable tools

1

بزرگ داده ها و انتخاب ابزار مناسب

حاتمیمقداد

[email protected]

Page 2: Big Data and select suitable tools

2

| Big Dataبزرگ داده

Page 3: Big Data and select suitable tools

3

بزرگ داده چیست؟

Page 4: Big Data and select suitable tools

4

به مجموعه ای از داده ها می گویند که مدیریت، کنترل و پردازش آنهاخارج از توانایی راه حل های نرم افزاری موجود است

Page 5: Big Data and select suitable tools

5

مثال می خواهید؟

Page 6: Big Data and select suitable tools

6

مدارک پزشکی

گزارش های وبی

یجستجوی اینترنت

پژوهش های زمین شناسی

داده های هواشناسیRFIDها

یمتون و اسناد اینترنت

شبکه های اجتماعی

نجومآرشیو عکس

آرشیو ویدیو

Page 7: Big Data and select suitable tools

7

در چه حد بزرگ؟

Page 8: Big Data and select suitable tools

8

بایت یعنی یک سوتابایت290

یا حتی بزرگتر از آن

Page 9: Big Data and select suitable tools

9

:مدیریت این معماری پیچیده، بسیار پر هزینه است، زیرا

تیمداریم، به خصوص اگر با فناوری های چندگانه ای درگیر هسافراد بسیار ماهر نیاز به -1صرف توسعه و تست می شودزمان بسیار زیادی -2

Page 10: Big Data and select suitable tools

10

......................و

Page 11: Big Data and select suitable tools

11

تری، زمان بسیار بیشاین مدیریت معماریاوقات، گاهی !*نسبت به زمان توسعه سیستم، نیاز دارد

چیزی شبیه خودکشی*

Page 12: Big Data and select suitable tools

12

راه حل چیست؟

Page 13: Big Data and select suitable tools

13

توزیع شدهو بدون ساختار استفاده از یک مدل

Page 14: Big Data and select suitable tools

14

چرا؟

Page 15: Big Data and select suitable tools

15

دیداده هایی مانند داده های هواشناسی، فعالیت های آنالین کاربران یا تحلیل های اقتصا، کارایی چندانی نخواهند داشت(رابطه ای)در قالب پایگاه داده ای سنتی

و در ذخیره سازی های بدون قالب و توزیع شده به بهترین روش کار خواهند کرد

Page 16: Big Data and select suitable tools

16

دقیقأ یعنی چه؟

Page 17: Big Data and select suitable tools

17

NoSQLیعنی جنبش یا

پایگاه داده های غیر رابطه ای

Page 18: Big Data and select suitable tools

18

چیست؟NoSQLجنبش

Page 19: Big Data and select suitable tools

19

Page 20: Big Data and select suitable tools

20

NoSQL == Not Only SQLمدلازاستفادهباکهقرار گرفتندتوجهموردوشدهنیازمندی هایی مطرح،2009سالدر

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

Schemaبدونطراحی،(Replication)تکثیرقابلیتمقیاس پذیری افقی،باال،دسترس پذیریMapقابلیتو Reduceپایگاه هایازجدیدمجموعه ایتوسطکههستندزمینه هاییجملهاز

هستندآزمایشوتوسعهحالدرNoSQLکلیعنوانتحتوداده

طرفداران انواع پایگاه داده های غیر رابطه ای معتقدند که، تنها راه موجود برای ذخیره سازی داده نیستند(رابطه ای)پایگاه داده ی سنتی

اما این به آن معنا نیست که به خودی خود انتخاب نادرستی باشند

NoSQLجنبش

Page 21: Big Data and select suitable tools

21

اهمیت•دادهپایگاه هایراهسربرامروزیموجودچالش هایبهبایدNoSQLاهمیتبیشتردرکبرای

کردتوجهبیشتر

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

ند که بسیاری به ذخیره سازی و ارائه محتوای عظیم باینری به کاربران خود در شبکه نیاز دارمی آیددر نوع خود، چالشی بسیار بزرگ به شمار

اهمیت/NoSQLجنبش

Page 22: Big Data and select suitable tools

22

اهمیت/NoSQLجنبش

Page 23: Big Data and select suitable tools

23

کارایی/NoSQLجنبش

کارایی•،MP3فایل هایوPDFاسنادمانندباینریداده هایارائهوذخیره سازیدرباالبسیارکارایی

شایستگیNoSQLداده ایپایگاه هایکهاستکاربردهاییبهترینازیکیوسیع،مقیاسدرخدماتزمینه،ایندرمناسبنمونهیک.رسانده انداثباتبهآنفراهم کردندرراخود

Amazon S3است

دردمواربعضیدرکهگذراداده هایبازیابیومدیریت،ذخیره سازیه،شدذکرمواردبرعالوهایچالش هازدیگریکینیزمی شوندتولیدامروزیکاربردیبرنامه هایدرباالییمقیاسارائه کرده اندNoSQLداده ایپایگاه هایراآن هامناسبمدیریتحلراهکهاستامروزی

Page 24: Big Data and select suitable tools

24

پایگاه داده ی غیر رابطه ای مثل چه چیزی؟

Page 25: Big Data and select suitable tools

25

Page 26: Big Data and select suitable tools

26

………………………………………………………………………………………………………………

Key-Value

Graph

………………………………………………………………………………………………………………

Column

Document………………………………………………………………………………………………………………

انواع/NoSQLجنبش

Page 27: Big Data and select suitable tools

27

Key-Value/انواع/NoSQLجنبش

Key-Valueذخیره سازی-1

Amazon’s)دایناموآمازونیمقالهاساسبر• Dynamo)مقدار-کلیدهایزوجازایمجموعه:ایدادهمدل•

,Redis:مثال• Voldemort, Tokyo

Page 28: Big Data and select suitable tools

28

Column/انواع/NoSQLجنبش

ذخیره سازی ستون محور-2

Google’sیمقالهاساسبر• BigTablebig:ایدادهمدل• table, column families,HBase:مثال• Hypertable, Cassandra

Page 29: Big Data and select suitable tools

29

Document/انواع/NoSQLجنبش

ذخیره سازی سندگرا-3

لوتوسهاییادداشتازگرفتهالهام•هامقدار-کلیدیمجموعهازایمجموعه:ایدادهمدل•

,CouchDB:مثال• MongoDB

{

FirstName: "Bob",

Address: "5 Oak St.",

Hobby: "sailing“

}

{

FirstName: "Jonathan",

Address: "15 Wanamassa Point Road",

Children: [

{Name: "Michael", Age: 10},

{Name: "Jennifer", Age: 8},

{Name: "Samantha", Age: 5},

{Name: "Elena", Age: 2}

]

}

Page 30: Big Data and select suitable tools

30

Graph/انواع/NoSQLجنبش

Graphذخیره سازی -4

هاگرافتئوریواویلرازگرفتهالهام•هرکدامرویمقدار-کلیدها،ارتباطها،گره:ایدادهمدل•

,AllegroGraph:مثال• Sones, Neo4j

Page 31: Big Data and select suitable tools

31

توضیحات/انواع/NoSQLجنبش

همه چیز شبیه بهاگر داشته باشیم یک

RDBMS

Key-Value

Document

Graph db

جدول

کلیدها و مقدارها

سندها

رأس ها و گره ها

Page 32: Big Data and select suitable tools

32

CAPنظریه /NoSQLجنبش

Page 33: Big Data and select suitable tools

33

پایگاه داده های رابطه ای یا غیر رابطه ای؟

کدام مدل را انتخاب کنیم؟

Page 34: Big Data and select suitable tools

34

NoSQL/Polyglot Persistenceجنبش

Polyglot Persistenceچیست؟

Page 35: Big Data and select suitable tools

35

NoSQL/Polyglot Persistenceجنبش

MongoDB

Product Catalog

Cassandra

User Activity Logs

Cassandra

Analytics

RDBMS

Reporting

Redis

User sessions

Neo4J

Recommendations

Riak

Shopping Cart

RDBMS

Financial Data

Page 36: Big Data and select suitable tools

36

MySQLبا واسه ذخیره سازی داده هایی که کم حجم و با ارزش هستن ولی غال

ین تغییر نمیکنن یا تراکنش خیلی عجیب و قریبی ندارن و همچنمثل مشخصات. واسه تمامی کاربران به شکل ثابتی وجود دارن

وب و پروفایل و یا اطالعات صورت حسابشون که میشه با یه طراحی خکردایندکس کردن و تکنیک های دیگه، راحت مدیریت

مثال/NoSQL/Polyglot Persistenceجنبش

Page 37: Big Data and select suitable tools

37

CouchDBیاMongoDBواسه ذخیره سازی داده هایMongoDBیاCouchDBاز

(.Log)کاربرانبا ارزش و در عین حال حجیم مثل وقایع نگاری فعالیت Document-Oriented Databaseاز این پایگاه ها که به پایگاه های داده

سازی تغییر میکنن یا اینکه نسخهمعروفن اغلب واسه داده هایی که به ندرتتوشون خیلی اهمیت داره، استفاده میشه

مثال/NoSQL/Polyglot Persistenceجنبش

Page 38: Big Data and select suitable tools

38

Neo4jن که یک فریم ورک پایگاه داده گرافی هست مثال واسه درست کرد Neo4jاز

شه سیستم جستجو خیلی باحال که از نود های توش و یال های بین نود ها بیسهمین گراف سرچ ف. روابط خیلی جالبی رو بین چیز های مختلف پیدا کرد

برای مثال اگه . بوک مثال خوبی واسه کاربرد این نوع پایگاه داده هستسال دوستاتون که عاشق 30دوست داشتین بدونین پسر خاله های باالی

کوهنوردی و فیلم دیدن هستن، تو سن میشل فرانسه قهوه خوردن و عکسبر )نمتنفرا هایی ذگرفتن، از بستنی دایتی خوششون میاد، احتماال از چه غ

یگاه ، برین سراغ این نوع پا!(اساس الگوریتم های فرا اکتشافی و هوشمندهای داده

مثال/NoSQL/Polyglot Persistenceجنبش

Page 39: Big Data and select suitable tools

39

Hadoopواسه اطالعاتی که روی حجم عظیمی از سرور های توزیع شده نه Hadoopاز

که قدرت پردازشی خیلی عجیب و قریبیاونایی )گرونالزاما خیلی خفن و سرور )شدهScaling Outبلکه حتی سرور های قیمت متوسط یا ارزون، ( دارن

ه تکه که این کار مبتنی بر تک( هایی که به صورت افقی گسترش پیدا کردهخیلی جالبه بدونین گوگل و یاهو . هست (Data Partitioning)کردن داده ها

از همین فریم ورک پایگاه داده واسه ذخیره صفحات وب تو سرور هاشون، ه همچنین تکنیک هایی که تو پرس و جو های موازی و ایندکس کردن به همرا

ش الگوریتم های پیشرفته و بسیار بسیار محرمانه ایی که هممون در موردشنیدیم، واسه سرچ استفاده میکنن

مثال/NoSQL/Polyglot Persistenceجنبش

Page 40: Big Data and select suitable tools

40

هنمیشه خیلی نسخه پیچید که فالن فریم ورک پایگاه دادرو هم بگم این NoSQL چی باشه نقشهر . نمیخورهاین کاره ولی به درد کارای دیگه مختص

ه که شاید یه طراحی اونقدر عالی باش. اصلی رو طراحی پایگاه داده بازی میکنهکردبشه باهاش یه کارای که از اون فریم ورک انتظار نمیره رو ممکن

Page 41: Big Data and select suitable tools

41

...در پایان به یاد داشته باشید که

Page 42: Big Data and select suitable tools

42

NoSQLگذار به سمت راهکارهای نبوده استSQLبه دلیل مشکالت و محدودیت های زبان

به دلیلبلکهمحدودیت های مدل رابطه ای پایگاه داده ای است

Page 43: Big Data and select suitable tools

43

با تشکر از توجه شما

[email protected]