# Аналіз предметної області
# Вступ
У цьому документі аналізується предметна область системи управління видкритими даними, розглядаються основні визначення, підходи та вирішення наданих завдань, опис існуючих засобів вирішення завданнь а також їх порівняльну характеристику та порівняльну характеристику відносно запланованої реалізації даного проекту.
# Основні визначення
Відкриті дані (Open Data)[1] – це концепція, яка відображує ідею, що визначені дані мають бути доступні для легкої обробки програмними засобами (machine readable) та подальшого використання і розповсюдження без жодних обмежень і контролю, в тому числі й для комерційного використання. Відкриті дані – це не просто інформація, а концепція, тобто система поглядів, підходів, процесів, які мають одну ідею та мету – вільного використання і розповсюдження даних.
Великі дані (Big Data)[2] — набори інформації як структурованої, так і неструктурованої, настільки великих розмірів, що традиційні способи та підходи не можуть бути застосовані до них. Альтернативне визначення називає великими даними феноменальне прискорення нагромадження даних та їх ускладнення. Важливо також відзначити те, що часто під цим поняттям у різних контекстах можуть мати на увазі як дані великого об'єму, так і набір інструментів та методів.
Дані (Data)[3] - цифрова інформація, подана у формалізованому вигляді, прийнятному для обробляння автоматичними засобами за можливої участі людини
Використання даних (Data Use)[3] - використання та обробка даних містить багато різних операцій. Давайте визначимо для чого деякі з них:
Збір даних - дані всюди, і щоб їх правильно використовувати, ми повинні спочатку зібрати в кучу.
Сортування даних, щоб їх можна було правильно використовувати.
Архівування даних, так як не збережені дані не допоможуть у вирішені проблеми.
Захист даних. Правильний захист може вберегти ваші дані, так, як від втрати через пошкодження диску, так і захистити від викрадення іншими.
Повторне використання даних. Дані які вже збережені можна використовувати повторно замість того, щоб кожен раз створювати нові дані та займати зайве місце.
Видалення даних. Це дані, які нам більше не потрібні чи ті, які ми використовуємо дуже рідко. Їх можна спокійно видаляти, це звільнить трохи місця для більш потрібної інформації, яка більш актуальна.
Набір даних (dataset)[4] — колекція однотипних даних, що застосовується в задачах машинної обробки даних. Найчастіше набір даних відповідає таблиці, де кожна з колонок містить однорідні значення, а кожен з рядків відповідає певному члену набору даних.
База даних (Data Base)[5] — це організована структура, призначена для зберігання, зміни й обробки взаємопов’язаної інформації, переважно великих обсягів, тобто Big Data. Бази даних активно використовують для динамічних сайтів зі значними обсягами даних — часто це інтернет-магазини, портали, корпоративні сайти.
Банк даних(Data Bank)[6]- це система спеціальним чином організованих даних - баз даних (однією чи декількома), програмних, технічних, мовних та організаційно-методичних засобів, які призначені для забезпечення централізованого накопичення і колективного багатоцільового використання даних.
Системи керування базами даних (СУБД)[7] основна функця яких – безпосереднє керування даними у зовнішній пам'яті. Ця функція включає збереження та ведення структурної інформації (даних), перетворення даних за запитом на структурну інформацію для користувача. При цьому повинні забезпечуватися: простота використання, можливість автономного функціонування, високий ступінь ефективності.
Модель даних (Data Model)[8] наголошує на тому, які дані потрібні і як їх слід організувати, незважаючи на те, які операції будуть виконуватися над даними. Модель даних схожа на план будівлі архітектора, який допомагає будувати концептуальні моделі та встановлювати взаємозв'язок між елементами даних.
# Підходи та способи вирішення завдання
# Системи відкритих даних в Україні
Системи відкритих даних в Україні контролюються Міністерством цифрової трансформації України, що забезпечує формування та реалізацію державної політики у сфері відкритих даних. В Україні діє принцип відкритості за замовчуванням — «open by default». Уся публічна інформація суб'єктів владних повноважень має оприлюднюватись у форматі відкритих даних та надаватися на запит.
Згідно з дослідженням, від 1,4 до 4,9 млн українців щомісячно користуються сервісами на основі відкритих даних. Найпопулярнішими є
- теми конкурентної розвідки (від 1,4 до 2,2 млн користувачів),
- громадського транспорту (1,2 млн користувачів)
- та антикорупції (від 0,7 до 0,9 млн користувачів)
Популярніші системи:
- CityScale (opens new window)
- Youcontrol (opens new window)
- Opendatabot (opens new window)
- Clarity Project (opens new window)
- Ring (opens new window)
- EasyWay (opens new window)
- Monitor.Estate (opens new window)
Єдиний державний вебпортал відкритих даних, data.gov.ua (opens new window) — український урядовий вебсайт, де публікуються державні набори відкритих даних.
Портал створено на виконання Закону України «Про доступ до публічної інформації»[11] та постанови Кабінету Міністрів України «Про затвердження Положення про набори даних, які підлягають оприлюдненню у формі відкритих даних».
Портал призначено для забезпечення надання доступу до публічної інформації у формі відкритих даних , він передбачає доступ до інформації органів державної влади та місцевого самоврядування з можливістю її наступного вільного використання (у тому числі в комерційних цілях) за умови обов'язкового посилання на джерело отримання такої інформації.
# Життєвий цикл даних
Життєвий цикл даних - період існування даних у системі. Немає більш точного визначення, бо для різних даних різні життєві цикли. Тут наведено один з циклів:
- Створення, внесок або захоплення даних - на цьому етапі описується, коли значення доходить до бредмауерів системи, тобто в необробленому стані.
- Обробка даних - точно и докладно обролюються дані для подальшого аналізу.
- Аналіз даних - підготовлені дани дослуджуються та інтерпритуються. Найбільш часто викоритовується статичне моделювання, алгоритми, штучний інтелект(АІ) та машинне навчання.
- Використання даних - після аналізу надаються команди для подальших рішень.
- Архівація даних - дані які активно не використовувались, зберігаються в окремому сховищі для подальшого використання в випадку, якщо потрібно буде їх знов активно використовувати.
- Знищення даних - проводиться аналіз архівованих даних, ті які довго не використовувались видалаються, бо із-зі "великих даних" не є раціональним зберігати все.
# Модель даних DDF
Модель даних DDF[9] - спосіб упорядкування даних та визначення того, як частини даних співвідносяться між собою. Використовується для визначення наборів даних. Кожен набір даних DDF визначає п’ять наборів даних: поняття(Concepts), метадані(Metadata), сутності(Entities), точки даних(Datapoints) and синоніми(Synonyms).
# Datapoints(точки даних)
В DDF дані зберігаються в парах ключ-значень, це і називиється Datapoints. Дані складаються з одного показника, а ключ в свою чергу складається з двох або більше вимірів.
# Entities(сутності)
Сутність - одне значення в домені сутності.
Домен сітності - дискретне поняття, у якому визначені всі можливі його значення. Усі властивості для домену сутностей також я визначеними.
Властивість - додаткова інформація про якесь дискретне поняття. Існують також множини сутностей, до яких і входять сутності, такі множини називаються Entity set. Вони завжди належать дякому домену сутностей та не виходять з його меж.
Сутність може належати декільком множин, але також може і не належати до ніякої.
У кожної сутності є свій ідентифікатор, який є унікальним та може мати лише малі літери, цифри та нижні підкреслення.
У множин можуть бути різні властивості, та можуть мати свою ієрархію. Ієрархія визначається властивістю drill_up. Сутності які нижче за ієрархією, визначається пов'язана до ієрархії сутність.
# Concepts(поняття)
Концепти[15] можуть мати властивості та мають свої індетифікатори, які мають складатися лише з малих літер, цифр та підкреслень.
Існують різні типи понятть:
- string - рядок сиволів. Всі рядки мають бути доступні хоча б в однієї мови.
- measure - числове значення.
- boolean - булеве значення.
- interval - інтервал між двома чисельними значеннями.
- entity_domain - домен сутностей.
- entity_set - множина сутностей.
- role - множина сутностей, яка має такі ж сутності як й інша множина сутностей (або концепт, який має множину сутностей як домен).
- composite - концепт, який складається з декількох концептів.
- time - концепт часу. Особливий випадок, так як не є однозначно визначеним - визначається за допомогою форматів часу.
# Metadata(Метадані)
Метадані[13] - як прийнято, це дані про дані, тобто ті дані які пояснюють інші дані. Різні дані можуть мати різні метадані. В DDF метадані - властивість однієї з пари ключ-значення.
# Synonyms(Синоніми)
Синоніми[14] - рядок який дає змогу визначити поняття або сутність у набору даних. Та також множина сутностей містить ідентифікатори сутностей та понять з їхніми синонімами.
Вони використовуються для перекладу набора даних з одного простору імен до іншого, тобто для гармонізації ідентичних понять та сутностей.
# Порівняльна характеристика існуючих засобів вирішення завдання
# Gapminder (opens new window)
Незалежна некомерційна організація з відсутністю політичних, економічних та релігійних приналежностей, яка виявляє глобальні факти, порівнюючи та зіставляючи думки людей із офіційною статистикою, та розробляє інструментии візуалізації даних усіх країн світу, що дозволяє людям вивчати глобальну статистику.
# The World Bank DataBank (opens new window)
Онлайн-інструмент, який підтримує візуалізацію та аналіз даних широкого кола тем у різних базах даних Світового банку. Користувачі можуть створювати, зберігати, вставляти чи ділитися таблицями, діаграмами та картами.
# Google Public Data Explorer (opens new window)
Інструмент, який дозволяє легко досліджувати, візуалізовувати та передавати великі набори даних, що представляють суспільний інтерес. Дані можуть відображатися у вигляді лінійних графіків, гістограм, поперечних перерізів ділянок або на мапах, які оновлюються з часом, тому зміни у світі стають легшими для розуміння.
# Statistics Poland (opens new window)
Головна державна платформа Польщі, яке займається збором та публікацією статистичних даних, що стосуються економіки, населення та суспільства країни, на національному та місцевому рівнях.
# Eurostat (opens new window)
Cтатистичне управління Європейського Союзу. Головна місія - надавати високоякісні статистичні дані про Європу. Eurostat розробляє європейську статистику у партнерстві з Національними статистичними інститутами та іншими національними органами держав-членів ЄС. Це партнерство відоме як Європейська статистична система (ЄСС). Веб-сайт Eurostat надає прямий і безкоштовний онлайн-доступ до всіх статистичних баз даних Євростату та електронних публікацій.
База даних Євростату охоплює дані для таких країн:
- країни-члени ЄC
- країни-кандидати до ЄС
- єврозона
- країни EFTA
# Dataverse (opens new window)
Dataverse - це open-source програмне забезпечення, яке призначене для поширення, збереження, пошуку та аналізу відкритих даних. Воно полегшує надання даних іншим особам, тобто робить дані більш доступними. Головна особливість цього сервісу в тому, як він дозволяє організовувати інформацію. Dataverse репозиторій зберігає в собі віртуальні архіви, які називаються Dataverse колекціями. Кожна Dataverse колекція містить в собі сети інформації (datasets) або інші Dataverse колекції. Сети інформації в свою чергу містять в собі описові метадані та файли з даними (документація, код та інше). Головною метою даного програмного забеспечення є автоматизація більшості рутинної роботи професійних архівістів та збереження/розповсюдження інформації про автора даних.
# Порівняльна таблиця
- 🟩 - реалізовано вдало
- 🟨 - реалізовано погано
- 🟥 - не реалізовано
| Вимоги | Критерії | Система управління відкритими даними | Gapminder | The World Bank DataBank | Google Public Data Explorer | Statistics Poland | Eurostat | Dataverse |
|---|---|---|---|---|---|---|---|---|
| Functionality (функціональність) | ||||||||
| Керування наборами даних | 🟩 | 🟥 | 🟥 | 🟩 | 🟥 | 🟥 | 🟩 | |
| Візуалізація даних | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | |
| Тематичне розбиття даних | 🟩 | 🟩 | 🟩 | 🟩 | 🟨 | 🟩 | 🟩 | |
| Пошуковий фільтр | 🟩 | 🟨 | 🟩 | 🟨 | 🟩 | 🟩 | 🟩 | |
| Donate system | 🟩 | 🟩 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | |
| Usability (зручність) | ||||||||
| Підтримка англійської мови | 🟥 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | |
| Документація | 🟩 | 🟨 | 🟥 | 🟩 | 🟨 | 🟩 | 🟩 | |
| User-friendly interface | 🟩 | 🟩 | 🟨 | 🟨 | 🟩 | 🟩 | 🟩 | |
| Reliability (надійність) | ||||||||
| Ліцензія | 🟩 | 🟩 | 🟩 | 🟩 | 🟨 | 🟩 | 🟩 | |
| Резервне копіювання | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | |
| Актуальність даних | 🟩 | 🟨 | 🟨 | 🟩 | 🟩 | 🟩 | 🟨 | |
| Performance (продуктивність) | ||||||||
| Оцінка PageSpeed Insights | 🟩 | 🟩 90 | 🟨 83 | 🟩 98 | 🟨 69 | 🟨 70 | 🟨 84 | |
| Стійкість до збоїв | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | |
| Supportability (підтримка) | ||||||||
| FAQ | 🟩 | 🟩 | 🟩 | 🟩 | 🟥 | 🟩 | 🟥 | |
| Онлайн підтримка | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 |
# Висновки
В результаті проведення аналізу, наша команда дійшла висновку, що серед існуючих засобів вирішення завдання відсутній ідеальний інструмент, який задовольняє потреби та має достатню функціональність для вирішення задачі управління відкритими даними. Серед проаналізованих прикладів виділяється веб-застосунок Dataverse, який має більшість інструментів для реалізації повного життєвого циклу даних, проте в ньому відсутні засоби візуалізації даних, а також вирішальним є те, що наразі він працює в режимі обмеженого доступу та лише моделює управління відкритими даними.
Тому було вирішено створити нову веб-систему для реалізації повного життєвого циклу даних, яка б забезпечила користувача всіма потрібними інструментами для роботи з відкритими даними, а саме:
- функціональність роботи з датасетами (приклад Dataverse);
- інструменти для візуалізації даних (на прикладі Google Public Data Explorer);
- керування версіями даних (на прикладі Dataverse);
- пошук потрібної інформації.
# Посилання
- Відкриті дані (Open Data) - Google Docs (opens new window)
2. Великі дані (Big Data) - Wiki Nina.az (opens new window)
3. Дані (Data), Використання даних (Data Use) - Wikipedia (opens new window)
4. Набір даних (dataset) - Wikipedia (opens new window)
5. База даних (Data Base) - Host Iq (opens new window)
6. Банк даних (Data Bank) - Life Prog (opens new window)
7. Системи керування базами даних (СУБД) - Pidru4niki (opens new window)
8. Модель даних (Data Model) - Csstricks (opens new window)
9. Модель даних DDF - Google Docs (opens new window)
10. Системи відкритих даних в Україні - Wikipedia (opens new window)
11. Закон України «Про доступ до публічної інформації» - Minjust.gov.ua (opens new window)
12. Фотографія - Wikipedia (opens new window)
13. Метаданні- Wikipedia (opens new window)
14. Синоніми - Microsoft learn (opens new window)
15. Концепти - Google Docs (opens new window)