78
1 ۱۳۹۵ ﻣﺴﺘﺎ ﺻﺪﯾﻘﯽﻣﯿﺮ ﺑﺰ ﻫﺎ ﺑﺮ ﮐﺎ ﺧﺪﻣﺎ ﺗﻮﺳﻌﻪ ﺣﯽ ﻃﺮﻟﺘﺤﺼﯿﻼ ﻓﺎ ﭘﯿﺶ ﭼﺎﻟﺶﻫﺎ @amirsedighi :ﺘﺮ3 ﺗﻮ:ﯾﻤﯿﻞ [email protected]

آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

Embed Size (px)

Citation preview

Page 1: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

1

ززمستانن ۱۳۹۵

اامیر صدیقی

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

@amirsedighi تو3تر: [email protected]اایمیل:

Page 2: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

اامیر صدیقی

موسس:

2

معرفی

http://recommender.ir

@amirsedighi تو3تر: [email protected]اایمیل:

Page 3: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

3

ررئوسس مطالب

تارریخچه وو مفاهیم پایه ررووشش‌ها وو اابزاارر‌ها

مهمترین‌چالش‌هایی پیش‌ رروویی تاززهه فاررغغ‌االتحصیالنن (ددرر حوززهه ددااددهه‌هایی‌بزررگگ) وو پیشنهاددهایی براایی چیرگی بر آآنن‌ها: - اازز اانتظاررااتت دداانشگاهه تا توقع باززاارر

- اازز اایدهه‌ تا پیاددهه‌ساززیی - اازز ززیرساخت موجودد تا ززیرساخت مطلوبب

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

Page 4: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

4

تارریخچه وو مفاهیم پایه

سرفصل

ررووشش‌ها وو اابزاارر‌ها

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

مهمترین‌ چالش‌هایی پیش رروو

Page 5: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

5

ددااددهه‌هایی بزررگگ ِمه‌ددااددهه

کالنن‌ددااددهه ددااددهه‌هایی عظیم ددااددهه‌هایی اانبوهه ددااددهه‌هایی حجیم

Big-Data

چالش نخست… نامگذاارریی ;)طرااحی وو توسعه خدماتت کارربرددیی ددااددهه‌هایی بزررگگ وو چالش‌هایی پیش رروویی فاررغغ‌االتحصیالنن

Page 6: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

6

اازز تصوررااتت تا ووااقعیتطرااحی وو توسعه خدماتت کارربرددیی ددااددهه‌هایی بزررگگ وو چالش‌هایی پیش رروویی فاررغغ‌االتحصیالنن

Page 7: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

7

ددیرووزز

640KB 1.2MB

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

Page 8: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

8

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

Page 9: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

9

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

Page 10: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

10

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

Page 11: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

11

ااثرااتت ناشی اازز ررشد تعداادد وو تنوعع کارربرااننطرااحی وو توسعه خدماتت کارربرددیی ددااددهه‌هایی بزررگگ وو چالش‌هایی پیش رروویی فاررغغ‌االتحصیالنن

Page 12: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

12

Welcome to the Machineطرااحی وو توسعه خدماتت کارربرددیی ددااددهه‌هایی بزررگگ وو چالش‌هایی پیش رروویی فاررغغ‌االتحصیالنن

Page 13: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

13

تعریف (خوددمانی)

ددااددهه‌ها بخشی اازز مسئله می‌شوند

(… SQL-Server ،MySQL ،ااکسل) ناتواانی ررووشش‌هایی متدااوولل

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

Page 14: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

14

ررووشش‌ها / اابزاارر‌هایی ددیرووززطرااحی وو توسعه خدماتت کارربرددیی ددااددهه‌هایی بزررگگ وو چالش‌هایی پیش رروویی فاررغغ‌االتحصیالنن

Page 15: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

15

خط مقدمم

Data Scientist Data Engineer

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

Page 16: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

16

کداامم ددااددهه‌ها؟

پسندیدمم!

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

Page 17: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

17

کداامم ددااددهه‌ها؟

کامنت‌ها (نظر کارربراانن)

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

Page 18: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

18

کداامم ددااددهه‌ها؟

وویدئو‌

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

Page 19: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

19

کداامم ددااددهه‌ها؟

ترااکنش‌هایی مالی

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

Page 20: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

20

کداامم ددااددهه‌ها؟

تصویر

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

Page 21: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

21

کداامم ددااددهه‌ها؟

الگگ

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

Page 22: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

22

کداامم ددااددهه‌ها؟

الگگ

کلیک‌هایی کارربراانن

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

Page 23: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

23

کداامم ددااددهه‌ها؟

الگگ

کلیک‌هایی کارربرااننالگگ ووبب‌سروورر

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

Page 24: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

24

کداامم ددااددهه‌ها؟

الگگ

کلیک‌هایی کارربرااننالگگ ووبب‌سرووررالگگ ااپلیکیشن

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

Page 25: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

25

کداامم ددااددهه‌ها؟

الگگ

کلیک‌هایی کارربرااننالگگ ووبب‌سرووررالگگ ااپلیکیشنالگگ سیستم

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

Page 26: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

26

کداامم ددااددهه‌ها؟

الگگ

کلیک‌هایی کارربرااننالگگ ووبب‌سرووررالگگ ااپلیکیشنالگگ سیستم

الگگ ززندگی (ااینترنت‌چیز‌ها)

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

Page 27: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

27

منبع ااصلی

http://hadoopilluminated.com/hadoop_illuminated

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

Page 28: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

28

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

Page 29: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

29

محدووددیت‌ها

چگونه توسط تجهیزااتت ااررززاانن وو ددرر ددسترسس یک بن‌ساززهه (Platform) براایی پرددااززشش ددااددهه‌هایی‌بزررگگ تهیه ببینیم؟

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

Page 30: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

30

(Scalability) مقیاسس‌پذیرییطرااحی وو توسعه خدماتت کارربرددیی ددااددهه‌هایی بزررگگ وو چالش‌هایی پیش رروویی فاررغغ‌االتحصیالنن

Page 31: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

31

(Scalability) مقیاسس‌پذیرییطرااحی وو توسعه خدماتت کارربرددیی ددااددهه‌هایی بزررگگ وو چالش‌هایی پیش رروویی فاررغغ‌االتحصیالنن

Page 32: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

32

(Scalability) مقیاسس‌پذیریی

Scale-Up

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

Page 33: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

33

(Scalability) مقیاسس‌پذیریی

Scale-Out

Scale-Up

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

Page 34: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

34

(Scalability) مقیاسس‌پذیرییطرااحی وو توسعه خدماتت کارربرددیی ددااددهه‌هایی بزررگگ وو چالش‌هایی پیش رروویی فاررغغ‌االتحصیالنن

Page 35: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

35

چگونه؟

Q!چگونه به کمک تعداادد ززیاددیی ماشین ااررززاانن قیمت مقیاسس پذیریی خطی بدست بیا‌وورریم؟

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

Page 36: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

36

(Map-Reduce) نگاشت کاهش

Q!چگونه به کمک تعداادد ززیاددیی ماشین ااررززاانن قیمت مقیاسس پذیریی خطی بدست بیا‌وورریم؟

A(Map-Reduce) نگاشت کاهش

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

Page 37: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

37

تارریخچه وو مفاهیم پایه

ررووشش‌ها وو اابزاارر‌هامهمترین‌ چالش‌هایی پیش رروو

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

Page 38: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

38

هدووپپ = پرددااززشش توززیع‌شدهه +‌فایل‌توززیع‌شدهه

Hadoop = HDFS + MapReduce

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

Page 39: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

39

اارربابب/ ررعیتیطرااحی وو توسعه خدماتت کارربرددیی ددااددهه‌هایی بزررگگ وو چالش‌هایی پیش رروویی فاررغغ‌االتحصیالنن

Page 40: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

40

اارربابب/ ررعیتیطرااحی وو توسعه خدماتت کارربرددیی ددااددهه‌هایی بزررگگ وو چالش‌هایی پیش رروویی فاررغغ‌االتحصیالنن

Page 41: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

41

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

Page 42: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

42

آآشنایی با اابزاارر‌هایی ددیگر

آآشنایی با چند اابزاارر خوبب متن‌بازز (قصد معرفی اابزاارر ندااررمم)

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

Page 43: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

(Transfer) جابجایی

ذذخیرهه‌ساززیی

(Join) برقراارریی ااررتباطط

(Index) ااندیس‌گذاارریی

(Analytics) تحلیل

(Aggregate) تجمیع

(Visualize) نمایه‌ساززیی

43

نیاززمندیی‌هایی ما

Image ref: http://supplychaininsightsglobalsummit.com/steps-4-5-to-regain-manufacturing-prowess/

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

Page 44: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

44

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

Page 45: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

45

SQL اانوااعع ووااسط

• Hive • Drill • Impala • Spark SQL

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

Page 46: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

46

اانتقالل ددااددههطرااحی وو توسعه خدماتت کارربرددیی ددااددهه‌هایی بزررگگ وو چالش‌هایی پیش رروویی فاررغغ‌االتحصیالنن

Page 47: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

47

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

Amazon S3 , (Opensrouce Implementations)Minio

Page 48: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

48

جستجو وو ااندیس گذااررییطرااحی وو توسعه خدماتت کارربرددیی ددااددهه‌هایی بزررگگ وو چالش‌هایی پیش رروویی فاررغغ‌االتحصیالنن

Page 49: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

49

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

Page 50: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

50

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

Page 51: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

51

پرددااززشش جریانن ددااددهه

Apache FlinkApache Kafka

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

Page 52: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

52

یاددگیریی ماشین وو محاسباتت

Apache HamaTensorFlow

DL4J

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

Page 53: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

53

برخی چالش‌هایی شرووعع کارر

تارریخچه وو مفاهیم پایه

ررووشش‌ها وو اابزاارر‌هامهمترین‌ چالش‌هایی پیش رروو

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

Page 54: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

54

چالش‌هایی پیش‌رروو

- اازز معیارر‌هایی دداانشگاهه تا نیازز باززاارر

محفوظاتت ااصالت کارر فرددیی ااستنادد به ااستادد

ددقت ددرر محاسباتت ااصالت ررفرنس

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

Page 55: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

55

چالش‌هایی پیش‌رروو

- اازز معیارر‌هایی دداانشگاهه تا نیازز باززاارر

محفوظاتت ااصالت کارر فرددیی ااستنادد به ااستادد

ددقت ددرر محاسباتت ااصالت ررفرنس

خالقیت وو چابکی ااصالت کارر تیمی

ااستنادد به بنچ‌ماررکک اافزاایش کارراایی / کاهش هزینه

ااصالت سودد

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

Page 56: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

56

چالش‌هایی پیش‌رروو

- اازز اایدهه‌ تا پیاددهه‌ساززیی

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

Page 57: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

57

چالش‌هایی پیش‌رروو

- اازز اایدهه‌ تا پیاددهه‌ساززیی

قدمم‌هایی کوچک

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

Page 58: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

58

چالش‌هایی پیش‌رروو

- اازز اایدهه‌ تا پیاددهه‌ساززیی

قدمم‌هایی کوچک

پالستیک

آآهن

بربرینگ

آآلومینیومم

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

Page 59: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

59

چالش‌هایی پیش‌رروو

- اازز اایدهه‌ تا پیاددهه‌ساززیی

Scala

Javascript (Client and Server sides)

Java

Python

In Memory Databases

Bash ScriptsRDBMS

NoSQL

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

Page 60: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

60

چالش‌هایی پیش‌رروو

- اازز ززیرساخت موجودد تا ززیرساخت مطلوبب

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

Page 61: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

61

اازز صفر تا صد

- اازز ززیرساخت موجودد تا ززیرساخت مطلوبب

- Linux (Tools and Scripting) (or Containers such as Docker)

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

Page 62: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

62

- اازز ززیرساخت موجودد تا ززیرساخت مطلوبب

- Linux (Tools and Scripting) (or Containers such as Docker)- Microservices Architecture

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

Page 63: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

63

- اازز ززیرساخت موجودد تا ززیرساخت مطلوبب

- Linux (Tools and Scripting) (or Containers such as Docker)- Microservices Architecture

Easy to UnderstandEasy to Deploy

Easy to Scale

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

Page 64: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

64

- اازز ززیرساخت موجودد تا ززیرساخت مطلوبب

- Linux (Tools and Scripting)(or Containers such as Docker)- Microservices Architecture- Piping vs Coding- Develop Small Stateless Functions

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

Page 65: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

65

- اازز ززیرساخت موجودد تا ززیرساخت مطلوبب - اازز مدلل ااوولیه تا نمونه صنعتی

Linux

Something Service

REST API (Service Level)

اازز صفر تا صد

Data Processing/Storage Cluster

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

M1

Page 66: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

66

Linux

Linux Tool1

Micro Service

1

REST API (Service Level)

Bash 1

Py Fn 1

- اازز ززیرساخت موجودد تا ززیرساخت مطلوبب - اازز مدلل ااوولیه تا نمونه صنعتی

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

Page 67: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

67

Linux

Linux Tool2

Linux Tool1

Micro Service

1

REST API (Service Level)

Bash 1

Bash 2

Py Fn 1

- اازز ززیرساخت موجودد تا ززیرساخت مطلوبب - اازز مدلل ااوولیه تا نمونه صنعتی

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

Page 68: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

68

Linux

REST API (Service Level)

- اازز ززیرساخت موجودد تا ززیرساخت مطلوبب - اازز مدلل ااوولیه تا نمونه صنعتی

M1

اازز صفر تا صد

Linux Tool2

Linux Tool1

Bash 1

Bash 2

Py Fn 1

Micro Service

1

Micro Service

2

Micro Service

3

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

Page 69: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

69

Linux

REST API (Service Level)

- اازز ززیرساخت موجودد تا ززیرساخت مطلوبب - اازز مدلل ااوولیه تا نمونه صنعتی

Spring Boot

M1

اازز صفر تا صد

Micro Service

1

Micro Service

2

Micro Service

3

Linux Tool2

Linux Tool1

Bash 1

Bash 2

Py Fn 1

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

Page 70: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

70

Linux

REST API (Service Level)

Linux

REST API (Service Level)

- اازز ززیرساخت موجودد تا ززیرساخت مطلوبب - اازز مدلل ااوولیه تا نمونه صنعتی

M1 M2

اازز صفر تا صد

Micro Service

1

Micro Service

2

Micro Service

3

Micro Service

1

Micro Service

2

Micro Service

3

Linux Tool2

Linux Tool1

Bash 1

Bash 2

Py Fn 1

Linux Tool2

Linux Tool1

Bash 1

Bash 2

Py Fn 1

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

Page 71: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

71

Linux

REST API (Service Level)

Linux

REST API (Service Level)

- اازز ززیرساخت موجودد تا ززیرساخت مطلوبب - اازز مدلل ااوولیه تا نمونه صنعتی

M1 M2

اازز صفر تا صد

Linux Tool2

Linux Tool1

Bash 1

Bash 2

Py Fn 1

Linux Tool2

Linux Tool1

Bash 1

Bash 2

Py Fn 1

Micro Service

1

Micro Service

2

Micro Service

3

Micro Service

1

Micro Service

2

Micro Service

3

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

Page 72: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

72

Linux

REST API (Service Level)

Linux

REST API (Service Level)

- اازز ززیرساخت موجودد تا ززیرساخت مطلوبب - اازز مدلل ااوولیه تا نمونه صنعتی

M1 M2

اازز صفر تا صد

Micro Service

1

Micro Service

2

Micro Service

3

Micro Service

3

Micro Service

1

Micro Service

3

Micro Service

3

Micro Service

3

Linux Tool2

Linux Tool1

Bash 1

Bash 2

Py Fn 1

Linux Tool2

Linux Tool1

Bash 1

Bash 2

Py Fn 1

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

Page 73: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

73

- اازز ززیرساخت موجودد تا ززیرساخت مطلوبب - اازز مدلل ااوولیه تا نمونه صنعتی

اازز صفر تا صد

Linux

REST API (Service Level)

Linux

REST API (Service Level)

Micro Service

1

Micro Service

2

Micro Service

3

Micro Service

3

Micro Service

1

Micro Service

3

Micro Service

3

Micro Service

3

Linux Tool2

Linux Tool1

Bash 1

Bash 2

Py Fn 1

Linux Tool2

Linux Tool1

Bash 1

Bash 2

Py Fn 1

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

Page 74: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

74

Uniformed API (LB/Proxy)

اازز صفر تا صد

Linux

REST API (Service Level)

Linux

REST API (Service Level)

Micro Service

1

Micro Service

2

Micro Service

3

Micro Service

3

Micro Service

1

Micro Service

3

Micro Service

3

Micro Service

3

Linux Tool2

Linux Tool1

Bash 1

Bash 2

Py Fn 1

Linux Tool2

Linux Tool1

Bash 1

Bash 2

Py Fn 1

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

Page 75: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

75

REST API (Service Level)

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

اازز صفر تا صد

Micro Service

1

Micro Service

2

Micro Service

3

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

Page 76: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

76

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

اازز صفر تا صد

Uniformed API (LB/Proxy)

Linux

REST API (Service Level)

Linux

REST API (Service Level)

Micro Service

1

Micro Service

2

Micro Service

3

Micro Service

3

Micro Service

1

Micro Service

3

Micro Service

3

Micro Service

3

Linux Tool2

Linux Tool1

Bash 1

Bash 2

Py Fn 1

Linux Tool2

Linux Tool1

Bash 1

Bash 2

Py Fn 1

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

Page 77: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

77

Linux

Linux Tool2

Linux Tool1

REST API (Service Level)

Bash1

Bash2

Py Fn1

Linux

Linux Tool2

Linux Tool1

REST API (Service Level)

Bash1

Bash2

Py Fn1

Uniformed API (LB/Proxy)

MicroService

1

MicroService

2

MicroService

3

MicroService

1

MicroService

3

MicroService

3

MicroService

3

MicroService

3

Linux

Linux Tool2

Linux Tool1

REST API (Service Level)

Bash1

Bash2

Py Fn1

MicroService

1

MicroService

2

MicroService

3

MicroService

3

Hadoop Cluster 1

Hadoop Cluster 2

S3 Storage

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

Page 78: آشنایی با دادههای بزرگ و تکنیکهای برنامهسازی برای پردازش دادههای بزرگ

78

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