Zhrnutie na Bezdrôtové technológie, databázy a IoT
Bezdrôtové Technológie, Databázy a IoT: Kompletný Rozbor pre Študentov
Úvod
Databázy v mobilných aplikáciách slúžia na ukladanie, spravovanie a obnovu dát, ktoré aplikácia používa. Tieto dáta môžu byť používateľské nastavenia, záznamy aktivít alebo informácie, ktoré sa synchronizujú medzi zariadeniami. V tomto materiáli sa naučíte rozdiely medzi lokálnymi a cloudovými databázami, výhody a nevýhody, otázky bezpečnosti a príklady použitia.
Definícia: Databáza je organizovaný súbor dát uložený tak, aby bol rýchlo prístupný, upraviteľný a bezpečný.
Hlavné typy databáz v mobilných aplikáciách
1. Lokálne databázy
Lokálne databázy ukladajú dáta priamo v zariadení. Používajú sa, keď aplikácia musí fungovať bez internetu alebo keď chceme rýchle čítanie a zápis.
Definícia: Lokálna databáza je databáza uložená priamo na zariadení používateľa.
Podrobnejšie príklady:
- SQLite
- Relačná databáza, dáta sú v tabuľkách, prístup cez SQL dotazy.
- Vhodná pre štruktúrované dáta a vzťahy medzi nimi.
- Realm
- Objektovo orientovaná databáza; pracuje priamo s objektmi v kóde bez potreby SQL.
- Rýchla a jednoduchá na použitie, často lepšia pri zložitých dátových modeloch.
- Core Data (iOS)
- Framework na iOS pre správu objektov a ukladanie dát.
- Podporuje komplexné vzťahy a dotazy v prostredí aplikácie.
Tabuľka: porovnanie lokálnych databáz
| Vlastnosť | SQLite | Realm | Core Data |
|---|---|---|---|
| Typ | Relačná | Objektovo orientovaná | Framework/ORM |
| Potreba SQL | Áno | Nie | Nie (ale má vlastné API) |
| Výkon | Dobré | ++ | + |
| Zložitosť použitia | Nízka až stredná | Nízka | Stredná až vysoká |
2. Cloudové databázy
Cloudové databázy sú uložené na serveroch a aplikácia sa k nim pripája cez internet. Používajú sa, keď potrebujeme synchronizáciu medzi zariadeniami alebo zdieľanie dát medzi používateľmi.
Definícia: Cloudová databáza je databáza hosťovaná na vzdialenom serveri, prístupná cez sieť.
Príklady:
- Firebase
- NoSQL databáza s podporou synchronizácie v reálnom čase medzi viacerými zariadeniami.
- Obsahuje aj autentifikačné služby a hosting pre jednoduché mobilné aplikácie.
- MySQL, PostgreSQL
- Tradičné relačné databázy bežiace na serveroch.
- Klient-server komunikácia cez API umožňuje centralizované ukladanie dát.
Tabuľka: porovnanie cloud vs lokál
| Kritérium | Lokálna databáza | Cloudová databáza |
|---|---|---|
| Prístup bez internetu | Áno | Nie (zvyčajne nie, ale môže mať offline režim) |
| Synchronizácia medzi zariadeniami | Nie (bez dodatočnej infraštruktúry) | Áno |
| Zálohovanie a centralizácia | Nie | Áno |
| Latencia | Nízka | Závisí od siete |
Offline a online prístup
- Lokálne databázy umožňujú plnú funkčnosť bez internetu.
- Cloudové databázy často podporujú offline režim: aplikácia ukladá zmeny lokálne a po pripojení sa dáta synchronizujú so serverom.
Praktický príklad:
- Používateľ zapíše novú poznámku bez internetu do lokálnej databázy (SQLite alebo Realm).
- Po pripojení k internetu aplikácia odošle nové záznamy do cloudového úložiska (napr. Firebase) a synchronizuje zmeny.
Bezpečnosť databáz
Bezpečnosť je pri mobilných aplikáciách kritická, najmä ak aplikácia pracuje s citlivými údajmi.
Definícia: Šifrovanie je proces premeny dát do formy, ktorú nemožno prečítať bez správneho kľúča.
Dôležité opatrenia:
- Šifrovanie dát
- Ukladať citlivé informácie zašifrované, či už lokálne alebo na serveri.
- Autentifikácia a autorizácia
- Overiť identitu používateľa a obmedziť prístup len pre oprávnené osoby.
- Bezpečná komunikácia
- Používať HTTPS/TLS pri komunikácii s cloudom.
- Zálohovanie a obnova
- Pravidelné zálohy cloudových dát a mechanizmy obnovy pri strate zariadenia.
Praktické odporúčanie: nikdy neukladajte citlivé údaje (napr. heslá v čistej forme) lokálne bez šifrovania a bez použitia bezpečných úložísk ako Ke
Už máš účet? Prihlásiť sa
Databázy v mobilných aplikáciách
Klíčové pojmy: Databáza je organizovaný súbor dát pre rýchly prístup, Lokálna databáza funguje bez internetu (SQLite, Realm, Core Data), SQLite používa SQL a je relačná, Realm je objektovo orientovaná, pracuje priamo s objektmi, Core Data je iOS framework pre zložité vzťahy objektov, Cloudové databázy (Firebase, MySQL, PostgreSQL) umožňujú synchronizáciu medzi zariadeniami, Implementujte šifrovanie a používejte HTTPS/TLS pri komunikácii, Offline režim: ukladať zmeny lokálne a synchronizovať po pripojení, Nikdy neukladajte heslá v čistej forme; používajte bezpečné úložiská, Pri výbere zvážte potrebu offline práce a synchronizácie