Ответ
SQLite — это автономная, бессерверная, транзакционная реляционная система управления базами данных (СУБД), хранящая всю базу в одном стандартном файле на диске.
Основные характеристики:
- Встраиваемая: Библиотека на C, которая компилируется непосредственно в приложение.
- Бессерверная: Не требует отдельного процесса сервера БД.
- Нулевая конфигурация: Не нужна настройка или администрирование.
- Транзакционная: Поддерживает ACID-транзакции.
- Кросс-платформенная: Файл БД идентичен на всех поддерживаемых ОС.
Использование в iOS:
- Прямой доступ через C-API: Используется редко из-за сложности.
import SQLite3 var db: OpaquePointer? sqlite3_open("path/to/database.sqlite", &db) - Обёртки (Wrappers): Популярные библиотеки, такие как FMDB (Objective-C) или GRDB.swift (Swift), которые предоставляют более удобный и безопасный интерфейс.
- Core Data: Высокоуровневый фреймворк от Apple, который может использовать SQLite в качестве одного из своих бэкендов для хранения.
Когда использовать SQLite в iOS?
- Для локального хранения структурированных данных (например, кэшированные данные, история, пользовательские настройки).
- Когда нужен полный контроль над схемой БД и SQL-запросами.
- Для простых задач, где Core Data избыточен.
Ограничения:
- Отсутствие типизации на уровне БД (динамическая типизация).
- Более ограниченный синтаксис SQL по сравнению с серверными СУБД (например, ограниченная поддержка
ALTER TABLE).