Table of Contents
הקדמה: הגדלה צריכה עבור יישומי Spark Custom
דיסציפלינות הנדסה מודרניות לייצר כמויות עצומות של נתונים מסימולציות, חיישנים, ניסויים ו יומני תפעולי.ניתוח נתונים אלה ביעילות אינו אופציונלי יותר - זה דרישה הליבה של חדשנות, בקרת איכות, והפחתה עלות כלי עיבוד נתונים מסורתיים לעתים קרובות נאבקים עם ההיקף והמורכבות של נתונים הנדסיים, אשר יכול לנוע בין terabytes של סימולציה מבנית לזרמים בזמן אמתי ציוד תעשייתי.
עבור צוותי הנדסה, מחוץ ל-Shelf Analytics תוכנה לעתים רחוקות מתאים לדפוסים חישוביים ייחודיים הנדרשים על ידי משימות מיוחדות כגון ניתוח אלמנט סופי ניתוח מתאם, אלגוריתם תחזוקה חיזוי, או אופטימיזציה של multi-Physs.פיתוח יישומים מותאם אישית Spark מאפשר למהנדסים להתאים את כל שלב של הצינור - נתונים אינספירציה, טרנספורמציה, מודלים ודמיון - לדרישות המדויקות שלהם. מאמר זה מספק מדריך מעמיק לבניית יישומים כאלה, המכסה את האתגרים ההתפתחותיים, אשר יש לנווט את התרגילים הטובים ביותר, שיטות פיתוח, שיטות פיתוח אמיתי, ובדיקה, שיטות פיתוח, שיטות פיתוח אמיתי, שיטות פיתוח, שיטות פיתוח, שיטות פיתוח, שיטות פיתוח, שיטות פיתוח, שיטות פיתוח, יעילות ביותר, וסימולציה, וסימולציה, שימוש מיטביות, שיטות פיתוח, וסימולציה - כדי לנווט אתגרימתים, שיטות פיתוח אמיתי.
הבנה של Apache Spark in Engineering Contexts
Apache Spark הוא קוד פתוח, מנוע ניתוח אחיד המיועד לעיבוד נתונים בקנה מידה גדול.כוח הליבה שלה הוא מבוזר חישוב in-memory, המאפשר אלגוריתמים רציונטיביים ושאילתות אינטראקטיביות לרוץ פקודות של גודל מהר יותר מאשר מערכות מבוססות דיסק כמו Hadoop MapReduce. Spark מספק קבוצה עשירה של ספריות הנדסה - Spark עבור נתונים, MLb עבור למידה, Graph for גרף עבור גרף לעיבוד, ומעבדה לעיבוד נתונים אמיתיים.
מנקודת מבט הנדסית, אדריכלות Spark תומכת בזרימות העבודה הנפוצות ביותר של נתונים שנמצאו בתחום:
- (FLT:0) Resilient Distributed Datasets (RDDs)Fua1LT - הפשטה הבסיסית עבור אוספים לא-סובלניים, בלתי-מוגדרים של אובייקטים שניתן לעבד במקביל. RDDs הם אידיאליים עבור מניפולציה נתונים ברמה נמוכה שבו הביצועים הם קריטיים, כגון parings of Binary logs.
- (FLT:0DataFrames ו-DatasetsofFIRLT:1) - אבסטרקציות ברמה גבוהה יותר המספקות אופטימיזציה המבוססים על סכימה באמצעות אופטימיזציה Catalyst ומנוע ההוצאה להורג Tungsten.אלה הם הבחירות המועדפות לניתוח נתונים מובנה, המציע ממשק דמוי SQL ושילוב חלקה עם מקורות נתונים חיצוניים.
- (FLT:0) זרמת הזרמת הזרמת חומרים מחדש (FLT:1) - עיבוד מתמשך של נתוני הזרמת נתונים עם בדיוק על סימאטיקה, חיוני למעקב בזמן אמת של מערכות הנדסיות כמו רטטים טורבינות או מדפי לחץ גשר.
- (FLT:0)MLlibveFLT:1 - מכיל מגוון רחב של אלגוריתמים ממוחשבים מבוזרים (העברה, סיווג, התקהלות, המלצה) שניתן ליישם ישירות מודלים חיזוי הנדסי, כגון הערכת ציוד שנותר בחיים שימושיים.
Spark יכול לרוץ במצב עמידה, על גבי Hadoop YARN, Apache Mesos, או Kubernetes, ושילוב עם אחסון בענן באמצעות מחברים עבור אמזון S3, Azure Data Lake ו-Google Cloud Storage.עבור צוותים הנדסיים שכבר משתמשים ב- Hadoops, Spark ניתן לפרוס לצד עומסי עבודה קיימים ללא שינויים משמעותיים יותר על אדריכלות SparkFers שנמצאת ב-Aferpherpherpherc: 1.
מדוע יישומי Spark Custom הם חיוניים למשימות הנדסיות מיוחדות
בעוד כלים למטרות כלליות כמו MATLAB או Excel הם מספיקים עבור נתונים קטנים, הם לא מצליחים בקנה מידה כאשר נתונים הנדסיים עולים על גבולות הזיכרון או דורשים חישוב מקביל מבוזר.
- יישום אלגוריתמים קנייניים שאינם זמינים בתוכנה מסחרית.
- מקורות נתונים heterogeneous (למשל, צילומי חיישן זמן, מודלים CAD, פלט סימולציה) לתוך צינור ניתוח אחיד יחיד.
- תהליך הזרמת נתונים בזמן אמת, המאפשר שליטה סגורה ומערכות התראה מוקדמות.
- מינוף אגמים קיימים של נתונים ארגוניים וזרימות עבודה ללא צורך בגירת נתונים.
- לשלוט בכל היבט של כוונון ביצועים, החל מחלוקת אסטרטגיות לפורמטים סידוריים.
לדוגמה, חברה להנדסה אזרחית מנתחת נתונים של גשר ממאות אלפי מדדי זנים יכול לכתוב יישום ספארי מותאם אישית המסננים, מצטברים, ומשווה מדידות נגד תחזיות יסוד סופיות באמצעות בדיקות סטטיסטיות מותאמות אישית.לא מחבילת ה-Shelf תטפל בערכת הנתונים הספציפית וניתוח ההיגיון הנדרש.
פיתוח יישומי Custom Spark: Step-by Step-by Step
בניית יישום Spark מוכן לייצור לניתוח הנדסי כוללת מספר שלבים.הסעיפים הבאים מפורטים את התהליך, עם עצות מעשיות שנמשכות מפריסות בעולם האמיתי.
1.הגדירו את דרישות המשימה האנליטית והמידע
התחל על ידי הקביעה ברורה של הבעיה שאתה מתכוון לפתור.האם המטרה לזהות אנומליות בנתונים של חיישן, להכשיר מודל רגרסיה לעייפות חומרית, או לניסוח אלפי סימולציות?
- (ב) [ה]ב"ה]: כמה ג'יגהבייט או טרה-בייט?זה משפיע על בחירתם של מחסנים ותיקון.
- (ב) ⁇ :0)VelocityofLT:1 – האם הנתונים סטטיים או מזרמים?עבור משימות בזמן אמת, הזרמת מבנה היא חיונית.
- (FLT:0)VarietyFLT:1 - האם פורמטים נתונים עקביים (CSV, Parkt, Avro) או מבולגן (לוגים ללא מהדורות)?
- (FLT:0)VeracitytureFLT:1 - כמה רועש או חסר הוא הנתונים? הנדסה נתונים מסביבות קשות מכילות לעתים קרובות חריגים ופערים.
תיעוד הפרמטרים האלה מוקדם מונע עיצובים יקרים מאוחר יותר.אם נתונים מאוחסנים במערכת הקבצים של Hadoop Distributed (HDFS) או חנות אובייקט ענן, תוכנית עבור חלוקת נאות (למשל, על ידי תאריך או חיישן מזהה) כדי לאפשר יזום יעיל במהלך קריאה.
עיצוב: Data Processing Pipeline
מפה החוצה את רצף של שינויים בנתונים גולמיים לתפוקה סופית. צינור הנדסי טיפוסי עשוי לכלול:
- (FLT:0) IngestionFLT:1) קרא ממקורות: HDFS, S3, קפקא, או JDBC חיבורים למסד נתונים הנדסי.
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (FLT:0) הנדסה הנדסה הנדסה (FLT:1) - תכונות ספציפיות לתחום: ממוצעים נעים, ארבעהייה משנה, מרכיבים מרכזיים, או מדדים מותאמים אישית הנגזרים מחוקים פיזיים.
- (FLT:0)Modeling or AnalysisFLT:1 - Run אלגוריתמים, בדיקות סטטיסטיות מותאמות אישית, או אלגוריתמים גרפיים (למשל, עבור רשתות תלות בעיצוב המערכת).
- (ב) ,0Outputerph:1) - כתוב תוצאות חזרה לאחסון מתמשך, לייצר לוחות מחוונים או לעורר התראות.
צינורות עיצוב להיות (FLT:0) ,idempotentearph 1 ;re-runnable ללא תופעות לוואי - מודולרי כך שכל שלב ניתן לבדוק באופן עצמאי.
יישום השימוש ב- Spark APIs
בחר שפה תכנות המבוססת על מומחיות צוות. Python (PySpark) הוא פופולרי עבור prototyping מהיר, בעוד סקאלה מציעה ביצועים טובים יותר גישה לתכונות מתקדמות כמו מותאם אישיתFLT:0s. Java הוא גם נתמך אך פחות נפוץ בהקשרים הנדסיים.
שיקולי יישום מרכזיים:
- (FLT:0)Use DataFrames/Datasets over RDDsFLT:1 אלא אם אתה צריך שליטה ברמה נמוכה. Catalyst אופטימיזציהr באופן אוטומטי משפר את תוכניות השאילתה, צמצום כוונון ידני.
- (ב) ,0) ,Broadcast נתונים קטנים של נתונים קטנים (FLT:1) אשר משמשים על פני משימות (למשל, שולחן מבט של תכונות חומריות).
- (ב) ,0Cache תוצאות ביניים של FLT:1 כאשר אותו נתונים מוחזרים פעמים רבות - לדוגמה, באלגוריתמים אופטימיזציה.
- (ב) ,5 ,5 ,5 , מקבילות ברירת המחדל לא תואמים את עומס העבודה שלך; התאמה של FLT:1 ו-FLT:2 על בסיס גודל אשכול ומאפיינים נתונים.
- (FLT:0) פורמטי אחסון טורפים של קוטר 1 (FLT:1 ), כמו פארקט או ORC. הם תומכים בדחיסה, דחקה מוקדמת ואבולוציה של סכימה, אשר כולם להפחית את I / O ולשפר את הביצועים.
עבור יישומי הזרמה, שימו לב לרישום מים וניהול המדינה כדי להימנע מהשגת המדינה ללא הגבלת זמן.
4.מבחן ואופטימיזציה לביצועים ולכלכלה
בדיקות צריכות לכסות את הנכונות על נתונים של דגימות וביצועים תחת עומסים ריאליים.סימונים נתונים שמראיינים את המאפיינים של ייצור, כולל מקרים קצה כמו דגימות חסרות או ערכי חיישן קיצוניים. השתמש באינטרנט של Spark UI כדי לפקח על שלבים, גדלים מכוערים, איסוף אשפה.
טכניקות אופטימיזציה נפוצות:
- (ב) לפני שכותבים את גודל הקובץ בפלט.
- (ב) ,0) ניתן לצפות בקריומנטיזציה של קריו (Kyocioization) 1:1 עבור זרימת עבודה מבוססת RDD כדי להפחית את טביעת הרגל הזיכרון.
- (ב) ,0) ,7 ,5 ,5 , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (FLT:0) ביצוע עיבוד מתאים של Query (AQErea)FLT:1 (התקבלה כברירת מחדל ב Spark 3.x) אשר באופן דינמי מחיצות פחם, מתגים להצטרף אסטרטגיות, ואופטימיזציה של skew מצטרף.
- (ב) .0Benchmark באמצעות נתונים דמויי ייצור: 1 (המידע הקטן) יכול להסוות את צווארי הבקבוק המופיעים רק בקנה מידה.
לבסוף, תוכניות בסיס של ביצועי מסמך ו-IT. יישומים הנדסיים רבים לרוץ על לוח זמנים (מדי פעם או שבועי), כך שבדיקות רגרסיה הן בעלות ערך כדי לתפוס את ההידרדרות בביצועים שנגרמו על ידי שינויים בקוד.
יישומים אמיתיים ברחבי הנדסה
יישומי Custom Spark נפרסו בתחומים הנדסיים מגוונים.הדוגמאות הבאות ממחישות את רוחב השימוש:
הנדסה אזרחית והנדסת אזרחים
פרויקטים גדולים של תשתיות לייצר נתונים ניטור רציף של חיישנים משובצים (מדנים מתחום, מדמטרים, חיישני טמפרטורה) צינור ספארי מותאם אישית יכול לזרז נתונים מאלפי חיישנים, לסכמים סטטיסטיים מותאמים, בהשוואה לתחזיות של מודלים סופיים מודל, והתנהגות חריגה בדגל בתקופות זמן קצרות. 1 פרויקט המשמש Spark על 200+ nodes ל- 10 TB של נתונים ליום, צמצום של מחקרים דומים ל-Fase (כגון: 0 שעות תחזוקה).
הנדסה מכנית ואווירית
בדינמיקה נוזלית חישובית (CFD) וניתוח אלמנטים סופי (FEA), גורפים parametric לעתים קרובות לייצר אלפי קבצים תוצאה. Spark ניתן להשתמש כדי לאסוף נתונים לפתרון, compute כמויות נגזרות (כמו מעליות / drag coefficients או Stressmaxa), ול להכשיר מודלים חלופיים באמצעות אלגוריתמים MLb Regression.
חשמל ואלקטרוניקה הנדסה
יישומי עיבוד אותות, כגון ניתוח אותות מכ"ם או בדיקות מערכת תקשורת, ליהנות מהיכולת של Spark ליישם את Fourier Transforms, מסננים, ו decompositions in Parallel over Workers. Custom MLlib מסווגs יכול אז לזהות דפוסים בתחום התדר.בנוסף, ספריית GraphX של Spark משמשת לנתח ערכות מעגלים ואופטימיזציה של אותות.
הנדסה כימית ומעבד
תעשיות תהליכים מסתמכות על נתונים ממערכות בקרה מבוזרות (DCS) לטמפרטורת הכניסה, לחץ, זרימה וקומפוזיציה. יישומי Spark יכולים ליישם בקרת תהליכים סטטיסטית בזמן אמת (SPC) כדי לזהות סחף לפני שהם גורמים לסטיות איכות. צמח כימי אחד השתמש עבודה זורמת Spark כדי לפקח על 50,000 תגים לשנייה, מה שגרם לערות תחזוקה כאשר סטיית מעבר למגבלות שליטה.
Bioengineering and Healthcare
בעוד שלא הנדסה מסורתית, שדות ביו-נדסינג כגון genomics ודמיית רפואית משתמשים יותר ויותר Spark לניתוח בקנה מידה גדול.לדוגמה, את FLT:0MLlibveFLT:1 ניתן ליישם את ספריה כדי לסווג סוגים של רקמות מסורקי MRI או לבצע מחקרים הקשורים נתונים גנטיים על נתונים גנטיים של האוכלוסייה.
היתרונות העיקריים של יישומי Spark Custom Teams
השקעה בפיתוח מותאם אישית מציעה יתרונות למדידה על כלים גנריים:
- (FLT:0)Performance at scaleFLT:1 - Spark יכול לעבד terabytes של נתונים על חומרה של סחורות, עם שיפורים מהירים של 10-100× על מערכות מבוססות דיסק.In-memory caching מאפשר אלגוריתמים זהים נפוצים אופטימיזציה ולמידה מכונה.
- (FLT:0) ,LlexibilityFLT:1 - מהנדסים אינם מוגבלים על ידי פונקציונליות קבועה.הם יכולים ליישם לוגיקה ספציפית דומיין באמצעות פונקציות מוגדרות למשתמש (UDFs) ב Python, Scala, או אפילו על ידי SQL.
- (FLT:0) יכולת פיתוח (Streaming CapacityFLT:1) - משימות הנדסיות רבות דורשות ניתוח של נטיות נמוכה.S Spark's Structuredסטרימינג מספק עיבוד בדיוק על ידי הפקד, בדיוק מה שנדרש עבור ניטור ביקורתי בטיחות.
- (FLT:0) יעילות השימושיותFLT:1 - על ידי הפעלת אשכולות ענן גמישים (למשל, Databricks, Amazon EMR, Azure HDInsight), צוותים משלמים רק על ניכוי כאשר עיבוד מתרחש, ויכולים לעלות על פני שיאים ולמטה בזמנים של idle.
- (FLT:0) אינטגרציה עם מערכות אקולוגיות הנדסיות (HaltualsFIRLT:1) - Spark יכול להתחבר מקורות נתונים נפוצים: InfluxDB עבור סדרת זמן, PostgreSQL עבור metadata, ואפילו פורמטים קנייניים באמצעות מחברים מותאמים אישית.
אתגרים ושיקולים
למרות כוחו, פיתוח יישומי Spark מותאם אישית אינו נטול קשיים.צוותים צריכים להיות מודעים לבאים:
דרישות מומחיות
בניית יישומים מבוזרים חזקים דורש ידע של מושגים מבוזרים מחשוב (סובלנות, חלוקת נתונים, פעולות רעוע) כמו גם מיומנות ב Spark Internals. צוותי הנדסה רבים חסרים רקע זה ועשויים להשקיע באימון או לשכור מהנדסי נתונים מיוחדים. גישה פרגמטית היא להתחיל עם פרויקט טייס שמעבד מצגת נתונים קטנה יותר, ואז להגדיל בהדרגה.
המונחים: Tuning Complexity
אפילו מפתחים מנוסים יכולים לבלות זמן משמעותי בכוונון יישומי Spark.
- (FLT:0) skewFLT:1 - גודלי חלוקה לא אחיד גורמים למשימות סטרגדור יותר. השתמש במפתחות מלח או במשלוח טווח כדי להפיץ נתונים באופן שווה יותר.
- (FLT:0) מזכר מעל פניות (FLT:1) - ניהול הזיכרון של Spark יכול לגרום לשגיאות מחוץ לזיכרון אם אזורי אחסון וביצוע אינם מאוזנים. Monitor על ה- Spark UI לשפך ולתאם תצורה בהתאם.
- (FLT:0) צווארי בקבוק סקייפ (FLT:1) - שינויים נרחבים (קבוצתי, להצטרף) יקרים.
כלים כמו הכרטיסיה ספארי Spark SQL ואת יומן האירוע הם בלתי חוקיים עבור אבחון בעיות.
אבטחה וביטוח
נתונים הנדסיים כוללים לעתים קרובות עיצובים קנייניים או מידע מוסדר.וודא כי אשכולות Spark מוגדרים עם הצפנה במעבר ובמנוחה, להשתמש בשליטה על גישה מבוססת תפקידים, ושילוב עם אימות ארגוני (LDAP, Kerberos). עבור פריסות ענן, למנף את התכונות האבטחה של הספק - בידוד שלVPC, מפתחות הצפנה, ובקרת ביקורת.
המונחים: overhead
הפעלת אשכול Spark דורשת תחזוקה: שדרוגים גרסה, הקצאת משאבים ו ניטור. ארגונים רבים מכים זאת על ידי שימוש בשירותים מנוהלים כמו Databricks או Amazon EMR, אשר מטפלות בתשתיות ומספקים מחברות לשיתוף פעולה.
איכות נתונים והתאמה
ניתוחי הנדסה חייבים להיות ניתנים לשיפוץ עבור אימות וביקורת. לכתוב צינורות כי להזין את כל הטרנספורמציות ואת ערכי הפרמטר. השתמש בגירסת גרסה עבור Spark Code ומינוף כלים כמו MLflow כדי לעקוב אחר מודלים וניסויים.לוודא כי גרסת נתונים היא במקום (למשל, נסיעה של דלתא Lake) כדי לחזור למצבים קודמים אם שגיאות מתגלות.
מסקנה
יישומי Spark Custom מאפשרים לדור חדש של ניתוח הנדסי שיכול לעמוד בקצב עם נפח הexploding של נתונים מסימולציות, חיישנים ומערכות תפעוליות.על ידי תכנון צינורות מותאמים המנף את המנוע המופץ של Spark, מהנדסים יכולים להשיג תובנות שהיו בלתי אפשריות או איטי מדי כדי להשיג את הפיתוח של ארכיטקטורת נתונים מתקדמת - תוך תכנון קפדני - על המאפיינים של הנתונים, בחירת מושגים מופשטים, וביצועים מופשטים כגון מהירות למידה אישית, תוך כדי שמירה על יעילות אישית, כמו גם על יעילות אישית, כמו פיתוח של ציוד למידה, כמו גם על יעילות אבטחה מתקדמת, כמו פיתוח יעיל יותר מדי, כמו פיתוח של ציוד אבטחה מתקדמת של ציוד אבטחה מתקדמת, כמו פיתוח של ציוד אבטחה מתקדמת, כמו פיתוח של ציוד אבטחה מתקדמת, כמו פיתוח של ציוד אבטחה חיוני, כמו פיתוח יעיל יותר מדי, עם יעילות אבטחה מתקדמת, עם יעילות אבטחה מתקדמת, עם יעילות אבטחה מתקדמת, עם יעילות אבטחה מתקדמת יותר מדי, עם ביצועים חיוניים, עם ביצועים חיוניים, כמו גם פיתוח יעיל יותר מדי, כמו פיתוח יעיל יותר מדי כדי שיפור ביצועים קריטי, עם ביצועים מתקדמים של ציוד הנדסית אבטחה מתקדמת יותר מדי, עם ביצועים חיוניים, כמו פיתוח של ציוד הנדסית של ציוד הנדסית של פיתוח של פיתוח של ציוד למידה מתקדמת יותר מדי, כמו פיתוח של ציוד למידה מתקדמת יותר מדי, כמו פיתוח יעיל יותר