Бази даних
Основи проектування мобільного додатку для операційної системи Android з використанням хмарної бази даних Cloud Firestore. Аналіз основних труднощів, які виникають під час розробки додатків. Визначення основних переваг та недоліків хмарних баз даних.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | украинский |
Дата добавления | 07.02.2018 |
Размер файла | 195,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Черкаський національний університет імені Богдана Хмельницького
БАЗИ ДАНИХ
Старіков В.А.
Анотація
база дані мобільний додаток
У статті описано основи проектування мобільного додатку для операційної системи Android з використанням хмарної бази даних Cloud Firestore. Проаналізовано основні труднощі, які виникають під час розробки додатків та які проблеми вирішує хмарна база даних. Проведено тестування отриманого додатку та системи Cloud Firestore. Зроблено висновки щодо роботи хмарної бази даних, розглянуто переваги і недоліки таких систем. Представлено рекомендації щодо створення додатку.
Ключові слова: хмарна база даних, мобільний додаток, хмарні технології, Android, інтернет-технології.
Постановка проблеми
Мобільні пристрої стали невід'ємною частиною повсякденного життя. На них з'явилися бізнес додатки та додатки компаній. Як і у випадку з іншим програмним забезпеченням, вибухова кількість та різноманіття мобільних додатків призвело до виникнення великої кількості пізнавальних ресурсів про них -- з відгуками, рекомендаціями та оглядами [1].
Зараз стандартною є ситуація, коли користувач використовує як комп'ютерну так і мобільну версії. Щоб зробити користування таким додатком зручним необхідно щоб данні з всіх версій додатку користувача зберігалися в одній версії додатку. Однією з реалізацій такого серверу є хмарна база даних (БД) -- база даних, що працює на базі хмарних обчислень. Є дві поширені моделі розгортання: користувачі можуть запускати бази даних на хмарі незалежно, використовуючи віртуальну машину, або вони можуть отримати доступ до сервісу бази даних, що підтримується провайдером хмарних БД [2]. Такі бази даних надають можливість працювати в режимі офлайн, а також синхронізацію цих даних між іншими пристроями на яких встановлено додаток.
Створення мобільних додатків з використанням хмарних баз даних зараз є актуальною задачею для бізнес сегменту. Через націленість технології на комерційний сегмент бракує наукових досліджень, що описують створення додатків та програм з використанням хмарних БД. Основний загал розробників уникають використання хмарних БД, вважаючи їх незрозумілими та обмеженими у можливостях. Існуючі приклади додатків, що надають розробники у документації не показують роботи реальних додатків. Саме тому дослідження роботи хмарних сервісів баз даних є актуальним сьогодні.
Аналіз останніх досліджень та публікацій
Хмарні технології та хмарні бази даних стали справжньою сенсацією в світі інформаційних технологій. Як вважає Томас С. хмарні БД це технологія, що матиме великий успіх у майбутньому: технологія БВааБ (база даних як сервіс), що лежить в основі більшості хмарних БД, витіснить класичні реляційні бази даних з ринку мобільних та багатоплатформенних розробок [3]. Важливість хмарних баз даних у майбутньому також підкреслюють Ш. Раманатхан, С. Гоель та С. Алагумалай [4].
З теми розробки мобільного додатку з використанням хмарних баз даних було знайдено лишеодне дослідження з загальними рекомендаціями. Розробник В. Картер рекомендує звернути увагу на питання безпеки даних сервера та мобільного додатку, навчитися правильно розраховувати період синхронізації даних, наголошує на виборі правильної платформи для додатку та рекомендує до використання NoSQL бази даних [5]. З публікацій ясно, що технологія знаходиться в зародковому стані і знання дослідників про неї недосконалі.
Виділення невирішених раніше частин загальної проблеми
Наявні рекомендації містять у собі лише загальні правила для роботи з сервісом і не описують особливостей з якими стикнеться розробник мобільного додатку. Зараз у наявності є лише приклади від виробника технології, які не відображають того як взаємодіятиме додаток з хмарною базою даних у реальних умовах. Створити рекомендації, що допоможуть розробникам мобільних додатків -- основна задача дослідження.
Формування цілей статті
Метою статті є дослідження роботи певної хмарної бази для Android додатку. На основі інформації з публікацій та попередніх досліджень, варто обрати хмарну базу даних, що є найбільш придатною для розробки мобільного додатку. Важливим аспектом дослідження є перевірка можливостей обраної хмарної БД та того, як працює ця система на практиці. В результаті дослідження ставиться за мету створити тестовий додаток, що буде виконувати базові дії з хмарною БД: оновлення БД у реальному часі, формування окремих запитів та отримання даних з хмари тощо.
Виклад основного матеріалу дослідження
Серед існуючих хмарних баз даних сумісними з Android є Realm [6], Cloud Firestore [7] та Firebase Realtime Database [8]. В межах одного дослідження неможливо розглянути проектування додатку під кожну хмарну БД, тому необхідно обрати одну з систем.
Realm -- бібліотека, призначена для полегшення зберігання даних на пристрої, аналог ORM, тільки зі своїм ядром і специфікою. В даний час її розробники створили рішення для хмарного зберігання бази даних. Все будується на ідеології «живих об'єктів», в цій системі розробнику не потрібно реалізовувати синхронізацію між потоками, пристроями, користувачами. Розробники цієї бази даних гарантують велику швидкість вибірок, тим самим вибірки з бази даних можна робити навіть в UI-потоці. Проте для налаштування хмарної бази даних розробнику необхідно встановити серверну частину Realm на власний сервер. Це виключає Realm з дослідження, бо ця технологія не є DBaaS.
Firebase Realtime Database та Cloud Firestore на перший погляд схожі між собою, але це не так. Обидві бази даних мають можливість роботи у режимі реального часу, а також підтримують режим офлайн.
Вони є NoSQL базами даних. Ці бази даних працюють на серверах Google, що необхідність мати власний сервер.
Cloud Firestore є сучаснішим продуктом та має більше функцій. Відмінності Cloud Firestore наведені нижче.
1. Розширена масштабованість бази даних.
2. Підвищена потужність та простота роботи.
3. Дані автоматично синхронізуються в центрах обробки, що дозволяє підтримувати багато регіонів та забезпечити стабільність роботи.
4. Cloud Firestore працює з власного моделлю даних Document-Collection, на відміну від Firebase Realtime Database що працює на основі JSON.
5. Cloud Firestore може працювати з складними запитами, що значно розширює її можливості [9].
Отже, для проведення дослідження буде використано Cloud Firestore, бо вона є найперспек- тивнішою серед наявних та має більш широкий функціонал.
Для роботи з обраною хмарною БД необхідно розглянути модель даних. Модель даних у Cloud Firestore -- це модель Document-Collection. Ця модель передбачає що дані зберігаються у деревоподібній структурі, але при цьому дані з дерева прив'язані до документів (document). Усі документи згруповані в колекції (collections) і глобальні відношення встановлюються вже між колекціями. Для роботи з колекціями Cloud Firestore необхідно дотримуватись правил, що наведені нижче.
1. Колекції можуть містити лише документи. Документ не може безпосередньо містити поля з значеннями, і не може містити інших колекцій.
2. Документи не можуть містити інші документи, але вони можуть вказувати на частини інших документів.
3. Корінь бази даних може складатися лише з колекцій і не може містити окремих документів.
Тепер перейдемо безпосередньо до розробки додатку з використанням Cloud Firestore. Тестовий додаток матиме назву «Thought About Life». Він виконує одну просту функцію -- записує думки користувачів до бази даних та дозволяє переглянути їх. Для реалізації цієї задачі необхідно створити декілька класів.
Cloud Firestore підтримує написання власних моделей документів на мові Java, які буде внутрішньо конвертувати в об'єкти хмарної бази даних. Кожен клас моделі повинен мати загальнодоступний конструктор, який не містить аргументів. Крім того, клас повинен включати загальнодоступний геттер для кожного поля. Після створення класів моделей, необхідно додати дані з них до хмари. Щоб це зробити, потрібно вказати в якому документі необхідно розмістити дані. Для Cloud Firestore це можна зробити використовуючи Document Reference та шлях до необхідного документу. Необхідно пам'ятати, що шлях треба вказувати разом з колекціями та документами. Колекції у шляху повинні бути прописані попереду документів (рис. 1).
Щоб додаток мав доступ до хмарної БД необхідно створити дозволи бази даних. Як і в звичайних базах даних, Cloud Firestore містить набір правил безпеки, які визначають, чи буде певна дія дозволена чи ні. За замовчуванням вони налаштовані так, що ніхто не може читати та писати в базі даних. Тому додатку необхідні дозволи для читання та запису даних. Це можна зробити за допомогою вкладки «Rules» консолі Cloud Firestore.
Наступним кроком в процесі створення додатку є налаштування механізмів отримання даних, формування запитів та завантаження даних до хмари. Отримання даних відбувається автоматично після налаштування DocumentReference та екранів самого додатку. Для створення запитів Cloud Firestore має спеціальну функцію. Використовуючи її, можна вказати які документи або колекції необхідно завантажити.
Для реалізації запитів використано функцію add Snapshot Listener. Для отримання даних з документів бази існує функція onSnapshot. Перший виклик створює об'єкт документа з повним його вмістом. Потім кожного разу, коли вміст змінюється, новий виклик функції оновлює об'єкт документа.
Налаштувавши взаємодію з хмарною БД отримаємо готовий додаток. Тепер необхідно його протестувати. Для цього на головному екрані додатку створимо нову думку та завантажимо її до хмарної БД (рис. 2).
Перевіримо наявність даних в хмарній БД за допомогою консолі Firebase. Повернувшись до консолі Firebase, виберемо вкладку даних і бачимо, що в колекції даних є додана думка. Це означає, що додаток з'єднаний з базою даних та може отримувати та відправляти дані на сервер (рис. 3).
Отриманий додаток показує основні можливості роботи з Cloud Firestore -- він може завантажувати та отримувати дані з хмарної БД а також формувати запити для отримання вибірок даних.
Висновки і перспективи
Хмарні бази даних є прикладом новітньої та зручної технології. Для роботи з такою базою даних не потрібно налаштовувати сервер власноруч. Оскільки Cloud Firestore -- це база даних, що не використовує хеш-пам'ять, то все буде оброблено серверами компанії-розробника. Як і інші продукти Firebase, Cloud Firestore створено для багатоплатформен- ного програмування. Cloud Firestore має офлайн режим роботи та дозволяє запуститися додатку без підключення до Інтернету.
Щоб розробити додаток з застосуванням хмарної БД необхідно дотримуватись наведених нижче правил.
1. Не порушувати модель даних Document- Collection та правильно формувати звернення до документів БД (див. рис. 1).
2. Під час створення кожного з класів моделей необхідно створити загальнодоступний конструктор, який не містить аргументів. Крім того, клас повинен включати загальнодоступний геттер для кожного поля.
3. Для завантаження даних до БД використовувати функцію add Snapshot Listener, а для отримання -- on Snapshot.
4. Перевірити наявність прав на доступ додатку до БД у правилах Cloud Firestore. Якщо прав на читання та запис немає необхідно додати їх до серверу хмарної БД.
Головним недоліком обраної хмарної БД є те, що Cloud Firestore -- новітня технологія та погано протестована в реальних умовах. Загалом варто відмітити, що протестована хмарна база даних не підходить для організації системи з надскладними запитами. Вадою також буде необхідність освоювати іншу методологію створення бази даних, так як тут немає реляційних моделей в класичному вигляді. Проте технологія Cloud Firestore надзвичайно швидка в розробці та зручна для програміста та має значний потенціал у майбутньому.
Список літератури
1. Mobile Usage Statistics: Key Facts and Findings for Publishers. [Електронний ресурс] / Режим доступу: https://blog.ezoic. com/mobile-usage-statistics-key-facts-and-findings-for-publishers/.
2. Хмарні бази даних. [Електронний ресурс] / Режим доступу: https://uk.wikipedia.org/%пкі/Хмарні_бази_даних.
3. Why Data Will Be Stored in Cloud Databases in the Future. [Електронний ресурс] / Режим доступу: https://datafloq.com/read/why-data-will-be-stored-in-cloud-databases-future/2205.
4. Comparison of Cloud database: Amazon's SimpleDB and Google's Bigtable. [Електронний ресурс] / Режим доступу: http://ieeexplore.ieee.org/document/6146861/.
5. How to choose a database for your mobile apps. [Електронний ресурс] / Режим доступу: https://www.infoworld. com/article/288 77 54/mobile-development/how-to-choose-a-database-for-your-mobile-apps.html.
6. Realm. [Електронний ресурс] / Режим доступу: https://realm.io/.
7. Cloud Firestore. [Електронний ресурс] / Режим доступу: https://firebase.google.com/products/firestore/.
8. Firebase Realtime Database. [Електронний ресурс] / Режим доступу: https://firebase.google.com/docs/database/.
9. Firebase's new database: Cloud Firestore. [Електронний ресурс] / Режим доступу: https://medium.com/ @garr741/firebases-new-database-cloud-firestore-9109789d6662.
Размещено на Allbest.ru
Подобные документы
Систематизація знань як основна функція бази даних. Логічне та фізичне проектування бази даних. Створення таблиць у базі даних, визначення основних зв'язків. Інструментальні засоби проектування та створення програмного забезпечення для обробки даних.
курсовая работа [1,4 M], добавлен 29.04.2010Виявлення основних сутностей предметної області. Побудова схеми реляційної бази даних. Вбудовані процедури і тригери. Опис архітектури програмної системи і концептуальної моделі бази даних, програмної реалізації та інтерфейсу користувача додатку.
курсовая работа [4,3 M], добавлен 05.12.2012Аналіз предметної галузі, постановка задачі, проектування бази даних. UML-моделювання, побудова ER-діаграми, схеми реляційної бази даних у третій нормальній формі. Призначення і логічна структура. Опис фізичної моделі бази даних, програмної реалізації.
курсовая работа [3,5 M], добавлен 28.11.2011Побудова інформаційної системи "Магазин товарів для настільного тенісу" з автоматизації роботи магазину. Концептуальне моделювання бази даних. Обґрунтування вибору СУБД. Логічне проектування бази даних. Схема бази даних. Створення таблиць в конструкторі.
курсовая работа [8,8 M], добавлен 16.12.2015Поняття та переваги реляційної бази, автоматизація аналізу даних. Опис основних компонентів сховища даних AS/400. Процес перетворення оперативних даних в інформаційні. Багатовимірні бази даних (MDD). Опис даних і створення файлів в інтеграційних базах.
реферат [36,8 K], добавлен 14.01.2012Специфікація вимог для кожного з двох користувачів. Концептуальне проектування бази даних. Визначення типів сутностей та зв’язків, доменів. Перетворення концептуальної моделі даних у логічну, визначення набору відношень, підтримки цілісності даних.
курсовая работа [55,1 K], добавлен 15.03.2015Схема взаємодії учасників платіжної системи з використанням пластикових карток. Вхідні та вихідні повідомлення для проектування бази даних для автоматизації аналізу користувачів пластикових карток. Проектування та реалізація бази даних у MS Access.
курсовая работа [3,0 M], добавлен 27.12.2013Проектування і реалізація реляційної бази даних для централізованого зберігання інформації з метою полегшення і систематизації даних замовлень клієнтів готельного комплексу. Розробка сценаріїв для створення бази даних і базових таблиць проекту.
курсовая работа [147,2 K], добавлен 02.06.2019Проектування бази даних, що реалізує звіти про графік робіт на об’єктах впродовж місяця. Графічне зображення нагромаджувачів даних. Побудова діаграм потоків даних і переходів станів, таблиць у вигляді двовимірного масиву, запитів. Створення бази даних.
курсовая работа [1,2 M], добавлен 29.02.2012Основні відомості про реляційні бази даних, система управління ними. Основні директиви для роботи в середовищі MySQ. Визначення та опис предметної області. Створення таблиць та запитів бази даних автоматизованої бази даних реєстратури в поліклініці.
курсовая работа [2,9 M], добавлен 06.11.2011