Какие знаешь виды хранилищ

«Какие знаешь виды хранилищ» — вопрос из категории Базы данных, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Go можно использовать различные виды хранилищ, в зависимости от требований к данным:

  1. In-memory хранилища – данные хранятся в оперативной памяти (например, map, sync.Map).
    cache := make(map[string]string)
    cache["key"] = "value"
  1. Файловые хранилища – данные сохраняются в файлы (JSON, CSV, бинарные форматы).
    data, _ := json.Marshal(myStruct)
    os.WriteFile("data.json", data, 0644)
  1. Реляционные БД – PostgreSQL, MySQL, SQLite (через database/sql или ORM вроде gorm).

  2. NoSQL БД – MongoDB, Redis, Cassandra (используют специфические драйверы).

  3. Кеширующие системы – Redis, Memcached (для быстрого доступа к часто используемым данным).

  4. Облачные хранилища – AWS S3, Google Cloud Storage (через SDK).

Выбор зависит от скорости доступа, объема данных, необходимости персистентности и масштабируемости.