GraphQL — це велика справа: чому він не є галузевим стандартом для запитів до баз даних?

Не змогли відвідати Transform 2022? Перегляньте всі сесії саміту в нашій бібліотеці за запитом! Подивіться сюди.

GraphQL швидко стає основною мовою запитів для компаній, щоб взаємодіяти зі своїми даними. Хоча керування даними є головною проблемою для багатьох компаній, багато людей насправді не розуміють, що робить GraphQL і чому він такий популярний.

У середньому світ генерує близько 2,5 квінтильйонів байтів даних на день. Підприємствам потрібен спосіб збирати ці дані та ефективно їх використовувати. Багато даних генерується в додатках (наприклад, додаток для обслуговування клієнтів для смартфонів, який дозволяє клієнтам повідомляти вам, чи вони задоволені, чи у них виникають проблеми та потрібна допомога з усуненням несправностей). Додаткам потрібен спосіб передачі інформації до серверної частини; тобто засоби керування та зберігання даних. Потім дані можна проаналізувати, щоб виявити проблеми та розробити рішення. І, звісно, ​​він двонаправлений. Програми не лише надсилають дані до серверних програм, але й програмам потрібні дані з серверної частини. Наприклад, рекомендації, статус доставки, залишки на рахунку. І ось для чого призначений GraphQL: отримання даних до і з серверної частини. Це сучасніший API, який підключає програми до серверних програм.

Хоча багато технічних лідерів чули про GraphQL, вони, ймовірно, чули набагато більше про SQL (Structured Query Language). По суті, SQL є галузевим стандартом для запитів до баз даних, хоча популярність GraphQL зростає.

Як GraphQL порівнюється з SQL і чи є спосіб отримати переваги обох під час виконання запитів?

GraphQL має відносно простий і читабельний формат доступу до даних. Унікальний формат дозволяє щось, що називається «вкладанням». Вкладення — це те саме, що поставити запитання всередині іншого запитання, щоб отримати більш конкретну відповідь. Наприклад, замість того, щоб просто запитувати список усіх собак у певному притулку, ви можете попросити список усіх собак і вкладені відомості про породи цих собак (взяті з зовсім іншого чи навіть третього джерело даних партії).

Здатність GraphQL вкладати запити дає змогу розробнику інтерфейсу отримувати відповідну інформацію з API в одному запиті. Оскільки GraphQL є майже універсальною мовою запитів, яка легко обробляє різні джерела даних, ви також можете надсилати запити до кількох API та інших джерел даних одночасно. Таким чином, GraphQL є правильною мовою запитів для різнорідних бекендів, тобто бекендів із різними типами джерел даних на додаток до баз даних.

SQL надзвичайно популярна як мова запитів до баз даних. На жаль, це не працює для вкладених запитів над різнорідними даними так само, як це робить GraphQL. Крім того, синтаксис SQL може бути складним. Нарешті, SQL ніколи не мав бути універсальним. SQL дуже добре працює для різних баз даних, але не дуже добре для API.

GraphQL проти SQL у дії

Припустімо, ви працюєте над поповненням запасів вашої компанії, і вам потрібно знати номер відстеження та очікувану дату доставки для двох різних замовлень, які доставляються двома різними компаніями. GraphQL зможе отримати всю цю інформацію за допомогою одного запиту.

GraphQL також показує вам цю інформацію в ієрархічній структурі, що дозволяє легко побачити зв’язок між елементами даних, які ви запитуєте. Іншими словами, ви бачите, що дата доставки посилки пов’язана з номером відстеження, який ви отримали.

Для SQL вам може знадобитися запитати вашу базу даних для отримання загальної інформації про дві різні команди. Потім вам може знадобитися відсортувати цю інформацію, щоб знайти назви транспортних компаній, а потім ще один запит до кожної транспортної компанії щодо номерів відстеження. Нарешті, залежно від номера відстеження, ви можете зробити ще один запит, щоб отримати очікувані дати доставки. Отримання всієї цієї інформації займе багато коду, і може бути непросто отримати правильний синтаксис. Особисто я десятиліттями працював із базами даних SQL, і навіть мені часто доводиться досліджувати синтаксис складних запитів.

Чому SQL досі такий популярний? ...

GraphQL — це велика справа: чому він не є галузевим стандартом для запитів до баз даних?

Не змогли відвідати Transform 2022? Перегляньте всі сесії саміту в нашій бібліотеці за запитом! Подивіться сюди.

GraphQL швидко стає основною мовою запитів для компаній, щоб взаємодіяти зі своїми даними. Хоча керування даними є головною проблемою для багатьох компаній, багато людей насправді не розуміють, що робить GraphQL і чому він такий популярний.

У середньому світ генерує близько 2,5 квінтильйонів байтів даних на день. Підприємствам потрібен спосіб збирати ці дані та ефективно їх використовувати. Багато даних генерується в додатках (наприклад, додаток для обслуговування клієнтів для смартфонів, який дозволяє клієнтам повідомляти вам, чи вони задоволені, чи у них виникають проблеми та потрібна допомога з усуненням несправностей). Додаткам потрібен спосіб передачі інформації до серверної частини; тобто засоби керування та зберігання даних. Потім дані можна проаналізувати, щоб виявити проблеми та розробити рішення. І, звісно, ​​він двонаправлений. Програми не лише надсилають дані до серверних програм, але й програмам потрібні дані з серверної частини. Наприклад, рекомендації, статус доставки, залишки на рахунку. І ось для чого призначений GraphQL: отримання даних до і з серверної частини. Це сучасніший API, який підключає програми до серверних програм.

Хоча багато технічних лідерів чули про GraphQL, вони, ймовірно, чули набагато більше про SQL (Structured Query Language). По суті, SQL є галузевим стандартом для запитів до баз даних, хоча популярність GraphQL зростає.

Як GraphQL порівнюється з SQL і чи є спосіб отримати переваги обох під час виконання запитів?

GraphQL має відносно простий і читабельний формат доступу до даних. Унікальний формат дозволяє щось, що називається «вкладанням». Вкладення — це те саме, що поставити запитання всередині іншого запитання, щоб отримати більш конкретну відповідь. Наприклад, замість того, щоб просто запитувати список усіх собак у певному притулку, ви можете попросити список усіх собак і вкладені відомості про породи цих собак (взяті з зовсім іншого чи навіть третього джерело даних партії).

Здатність GraphQL вкладати запити дає змогу розробнику інтерфейсу отримувати відповідну інформацію з API в одному запиті. Оскільки GraphQL є майже універсальною мовою запитів, яка легко обробляє різні джерела даних, ви також можете надсилати запити до кількох API та інших джерел даних одночасно. Таким чином, GraphQL є правильною мовою запитів для різнорідних бекендів, тобто бекендів із різними типами джерел даних на додаток до баз даних.

SQL надзвичайно популярна як мова запитів до баз даних. На жаль, це не працює для вкладених запитів над різнорідними даними так само, як це робить GraphQL. Крім того, синтаксис SQL може бути складним. Нарешті, SQL ніколи не мав бути універсальним. SQL дуже добре працює для різних баз даних, але не дуже добре для API.

GraphQL проти SQL у дії

Припустімо, ви працюєте над поповненням запасів вашої компанії, і вам потрібно знати номер відстеження та очікувану дату доставки для двох різних замовлень, які доставляються двома різними компаніями. GraphQL зможе отримати всю цю інформацію за допомогою одного запиту.

GraphQL також показує вам цю інформацію в ієрархічній структурі, що дозволяє легко побачити зв’язок між елементами даних, які ви запитуєте. Іншими словами, ви бачите, що дата доставки посилки пов’язана з номером відстеження, який ви отримали.

Для SQL вам може знадобитися запитати вашу базу даних для отримання загальної інформації про дві різні команди. Потім вам може знадобитися відсортувати цю інформацію, щоб знайти назви транспортних компаній, а потім ще один запит до кожної транспортної компанії щодо номерів відстеження. Нарешті, залежно від номера відстеження, ви можете зробити ще один запит, щоб отримати очікувані дати доставки. Отримання всієї цієї інформації займе багато коду, і може бути непросто отримати правильний синтаксис. Особисто я десятиліттями працював із базами даних SQL, і навіть мені часто доводиться досліджувати синтаксис складних запитів.

Чому SQL досі такий популярний? ...

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow