Работал ли с нереляционной БД

«Работал ли с нереляционной БД» — вопрос из категории Базы данных, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, работал с Firebase Firestore и Realm. Firestore — документоориентированная NoSQL БД, где данные хранятся в коллекциях документов (JSON-подобные структуры). Realm — локальная NoSQL БД для мобильных устройств с поддержкой реактивных запросов.

Пример Firestore:

// Чтение данных
Firebase.firestore.collection("users")
    .document("user123")
    .get()
    .addOnSuccessListener { document ->
        val name = document.getString("name")
    }

Пример Realm:

// Сохранение объекта
realm.executeTransaction { r ->
    val user = r.createObject(User::class.java, "id123")
    user.name = "Alex"
}

Преимущества: горизонтальная масштабируемость, гибкая схема данных, высокая производительность для определенных сценариев.