چگونه GraphQL می تواند به شرکت ها در مدیریت داده های خود کمک کند


ما هیجان زده هستیم که Transform 2022 را به صورت حضوری در 19 ژوئیه و تقریباً 20 تا 28 ژوئیه بازگردانیم. برای گفتگوهای روشنگر و فرصت های شبکه هیجان انگیز به رهبران هوش مصنوعی و داده بپیوندید. امروز ثبت نام کنید!


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

این یک مورد کلاسیک برای جدا کردن گندم از کاه است. و مقدار زیادی کاه وجود دارد. تا 70 درصد از کل داده های جمع آوری و ذخیره شده در یک شرکت هرگز به مرحله تجزیه و تحلیل نمی رسد. این بدان معناست که تنها 30 درصد از داده‌هایی که جمع‌آوری می‌کنید واقعاً برای شرکت شما ارزش ایجاد می‌کنند.

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

ETL در مقابل APIها

یکی از راه‌هایی که کسب‌وکارها داده‌ها را از مرحله جمع‌آوری به مرحله تجزیه و تحلیل می‌آورند، از طریق فرآیندهای استخراج، تبدیل و بارگذاری (ETL) است. نرم‌افزار ETL داده‌ها را از منابع مختلف می‌کشد و آن‌ها را از طریق خط لوله مستقیماً به «دریاچه داده» یا انبار داده تغذیه می‌کند. می‌توانید داده‌ها را به صورت دسته‌ای انتقال دهید، یا می‌توانید داده‌ها را در زمان به‌روزرسانی به‌طور هم‌زمان انتقال دهید، که به آن «جریان» داده می‌گویند. سپس انواع نرم افزارهای تحلیلی می توانند داده ها را مرتب کرده و به اعضای تیم شما ارائه دهند.

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

راه دیگری که کسب و کارها می توانند داده ها را برای تجزیه و تحلیل جمع آوری کنند، از طریق رابط های برنامه نویسی کاربردی (API) است. API ها به برنامه های نرم افزاری اجازه می دهند اطلاعات را با یکدیگر ارتباط برقرار کنند. به عنوان مثال، برنامه تلفن هوشمند خدمات مشتری شما می تواند از یک API برای اتصال به یک برنامه تلفن هوشمند دیگر استفاده کند که می تواند در صورت شکایت مشتریان از یک مشکل فنی به تیم فناوری اطلاعات شما هشدار دهد. یا، برنامه های شما می توانند داده ها را از طریق یک API به نرم افزار تجزیه و تحلیل داده های شما ارسال کنند.

APIها می‌توانند داده‌های برنامه‌ها را حافظه پنهان و موقتاً ذخیره کنند. سپس، توسعه‌دهندگان می‌توانند از GraphQL یا یک زبان مشابه برای ارسال درخواستی به نام فراخوانی API یا «پرس و جو» استفاده کنند تا داده‌ها را در صورت نیاز دریافت کنند. پرس و جوهای GraphQL از یک فرآیند معمولی ETL خاص تر هستند، زیرا می توانید پرس و جوهای خود را “لانه” کنید تا اطلاعات دقیق مورد نظر خود را دریافت کنید. بنابراین دریافت داده از APIها برای تجزیه و تحلیل قطعات کوچکتر و خاص تر از داده ها عالی است.

به عنوان مثال، اگر می خواهید بدانید که چند زن بالای یک سن خاص در یک ماه معین محصول خاصی را از وب سایت شما خریداری کرده اند، می توانید API تجارت الکترونیک خود را با GraphQL جستجو کنید. به جای ارسال درخواستی که فقط تعداد کل خریدهای آن محصول را در طول آن ماه می‌پرسد، می‌توانید پرس و جوی بفرستید که «از بین تمام زنانی که این محصول را در ژانویه خریدند، چند نفر بالای این سن هستند؟» این اطلاعات می تواند به شما کمک کند تبلیغات خود را برای آن محصول هدف قرار دهید.

چالش های داده در API ها

ما به وضوح در عصر API ها هستیم، اکنون که حدود 90 درصد توسعه دهندگان از آنها استفاده می کنند. به معنای واقعی کلمه هزاران API از پیش برنامه ریزی شده برای هر شرکتی در دسترس عموم قرار دارد تا از بهبود بهره وری در دفتر گرفته تا ارائه خدمات بهتر به مشتریان استفاده کند. بنابراین، لزوماً لازم نیست نگران ایجاد API خود باشید. نگرانی اصلی شما باید دریافت کارآمد داده از آن APIها باشد، اما این همیشه آسان نیست.

با تعداد زیاد APIها، تنوع زیادی ایجاد می شود. در قالب‌های API، کنترل‌های دسترسی، سطوح عملکرد، پرس و جو و بسیاری موارد دیگر تنوع وجود دارد. اساساً، ارتباط داده‌ها بین انواع مختلف APIها می‌تواند کثیف شود زیرا آنها داده‌ها را به روش‌های مختلف مدیریت می‌کنند. توسعه‌دهندگان برنامه‌ها معمولاً مشغول ساختن مؤثرترین تجربه کاربری هستند و می‌خواهند نگران نحوه فرمت و مدیریت دقیق APIها نباشند. آنها ممکن است زمان یا تخصص لازم برای بررسی فرمت های مختلف را نداشته باشند تا از مزایای کامل داده ها بهره مند شوند.

اینجاست که GraphQL وارد می‌شود. GraphQL زبان جدید پرس و جوی API است و دنیای توسعه‌دهندگان و شرکت‌های بزرگ و کوچک را در طوفان فرو برده است. GraphQL به توسعه دهندگان frontend – افرادی که وظیفه آنها نگرانی در مورد تجربه کاربر است – اجازه می دهد تا بدون توجه به سبک یا هدف API، داده های Backend را جستجو کنند. به طور خلاصه، GraphQL جمع آوری داده های مفید از هر نوع API را برای شما آسان می کند.

GraphQL برای مدیریت داده ها

چه چیزی GraphQL را با اهداف مدیریت داده شما مرتبط می کند؟ یک مفهوم اصلی در GraphQL، دوخت چندین قطعه داده است. شما داده‌های مشتری را از یک باطن دریافت می‌کنید، و داده‌های سفارش را از دیگری سفارش می‌دهید، و اکنون می‌توانید درخواست کنید «همه سفارش‌های مشتری جان دو را به من بدهید».

این مفهوم از دوخت قدرتمند است و امکان ترکیب زیرگراف ها را فراهم می کند. یک تیم می تواند زیرگراف مشتری را ایجاد کند، تیم دیگری که زیرگراف تجارت الکترونیک را ایجاد می کند، و تیم سومی که بر زیرگراف بازاریابی تمرکز می کند. اکنون، یک پرس و جو: «تبلیغات مربوطه را برای مشتری جان دو به من نشان بده» می‌تواند داده‌ها را از هر یک از زیرگراف‌ها واکشی کند.

همانطور که می بینید، این انقلابی است. به جای اینکه لایه GraphQL API خود را به عنوان یک واحد مرکزی در نظر بگیرید، می توان آن را به تیم ها تقسیم کرد و سپس ترکیب کرد. می توان آن را بر اساس کشورها (برای محافظت از قوانین حفظ حریم خصوصی داده ها) تقسیم کرد و سپس ترکیب کرد. می توان آن را توسط ابرها (برای بهبود عملکرد) تقسیم کرد و سپس ترکیب کرد. لایه جدید یک نمودار از نمودارها است. به همین ترتیب، همانطور که وب شکل گرفت – اتصالات درون و بیرون یک دامنه، ترکیب یکسانی می تواند در لایه GraphQL API اتفاق بیفتد.

همانطور که شروع به فکر کردن در مورد این نمودار از نمودارها می کنید، به درستی به عملکرد، حاکمیت، استانداردسازی و غیره فکر خواهید کرد. پیاده سازی خوب GraphQL آنها را آسان می کند. به عنوان مثال، ساختن این نمودار از نمودارها به صورت توضیحی (به عبارت دیگر، توصیف ساختار نمودار به جای نحوه اجرای آن) به اهداف عملکرد آسان‌تر، مدیریت پاک‌تر و استانداردسازی آسان‌تر اجازه می‌دهد.

به طور خلاصه، یک لایه داده جدید در شرکت ها در حال ظهور است: لایه API. این لایه بین سیستم هایی که داده ها را ذخیره، مدیریت و تجزیه و تحلیل می کنند و سیستم ها و برنامه هایی که داده ها را جمع آوری می کنند قرار می گیرد. بهترین راه برای دسترسی به لایه API از طریق یک زبان پرس و جو مانند GraphQL است. GraphQL به توسعه دهندگان این امکان را می دهد تا بدون نگرانی در مورد “چگونه” به داده ها دسترسی پیدا کنند.

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

آنانت جینگران مدیر عامل و یکی از بنیانگذاران است StepZen.

DataDecisionMakers

به انجمن VentureBeat خوش آمدید!

DataDecisionMakers جایی است که کارشناسان، از جمله افراد فنی که کار داده را انجام می دهند، می توانند بینش ها و نوآوری های مرتبط با داده ها را به اشتراک بگذارند.

اگر می‌خواهید درباره ایده‌های پیشرفته و اطلاعات به‌روز، بهترین شیوه‌ها و آینده فناوری داده و داده مطالعه کنید، به ما در DataDecisionMakers بپیوندید.

حتی ممکن است در نظر داشته باشید که مقاله ای از خودتان مشارکت دهید!

از DataDecisionMakers بیشتر بخوانید