БД как социальный контракт: кто участвует без согласия

Korea Data Forum Fosters Collaboration and Growth
Post Reply
Nahimbabu157``
Posts: 43
Joined: Thu May 22, 2025 5:15 am

БД как социальный контракт: кто участвует без согласия

Post by Nahimbabu157`` »

Безопасное хранение учетных данных: НИКОГДА не хардкодьте учетные данные в код. Используйте:
Переменные окружения: Самый распространенный и безопасный способ для производственных сред.
Файлы конфигурации: Отдельные файлы (например, .env, config.ini, application.properties), которые не включаются в систему контроля версий (добавьте их в .gitignore).
Секретные менеджеры: Для облачных сред (AWS Secrets Manager, Azure Key Vault, Google Secret Manager).
Инициализация соединения: В ваш
Как работает: Данные хранятся построчно. Каждая строка (запись) соде список телефонных номеров ямайки ржит все столбцы для этой записи. Например, в таблице USERS строка (ID: 1, Name: "Alice", Email: "[email protected]", Age: 30) будет храниться как единый блок данных.
Примеры СУБД: Большинство традиционных реляционных баз данных, таких как PostgreSQL, MySQL, Oracle, SQL Server.
Преимущества:
Быстрые операции записи и обновления строк: Когда вы вставляете или обновляете одну запись, все её данные находятся рядом, что минимизирует операции дискового ввода-вывода.
Оптимально для транзакционных нагрузок (OLTP): Идеально подходит для систем, где часто добавляются, изменяются и удаляются отдельные записи (например, интернет-магазины, банковские системы).
Накладные расходы на запись: Нет необходимости ждать полной транзакции для записи.
Недостатки:
Медленные аналитические запросы (OLAP): Если вам нужно агрегировать данные по определённому столбцу (например, "средний возраст всех пользователей"), базе данных придётся прочитать всю строку для каждой записи, даже если нужны данные только из одного столбца. Это приводит к избыточному чтению данных с диска.
Неэффективно для колоночных агрегаций: Из-за необходимости пропускать ненужные столбцы.
1.2. Колоночное (Column-Oriented) хранение (Идеально для OLAP):

Как работает: Данные хранятся по столбцам. Вместо того чтобы хранить всю строку вместе, база данных хранит все значения одного столбца вместе. Например, для таблицы USERS, данные будут храниться так: ID: [1, 2, 3], Name: ["Alice", "Bob", "Charlie"], Email: ["alice@...", "bob@...", "charlie@..."], Age: [30, 25, 35].
Примеры СУБД: Vertica, ClickHouse, Amazon Redshift, Google BigQuery. Также используется в некоторых гибридных системах.
Преимущества:
Невероятно быстрая агрегация и аналитические запросы: Если вам нужно посчитать средний возраст, база данных читает только столбец Age, игнорируя остальные данные. Это значительно уменьшает объём читаемых данных с диска.
Высокая степень сжатия данных: Однотипные данные в одном столбце (например, повторяющиеся категории, даты) очень хорошо сжимаются, что экономит место и увеличивает скорость чтения.
Эффективность для выборочного чтения столбцов: Если запрос затрагивает лишь несколько столбцов, читаются только эти столбцы.
Недостатки:
Медленные операции записи и обновления отдельных строк: Для изменения одной строки необходимо обновить данные в нескольких местах (по одному для каждого столбца). Это может быть сложнее и медленнее, чем в строковых СУБД.
Накладные расходы на запись: Могут быть выше, поскольку данные нужно записывать в несколько колонок.
Не так оптимально для OLTP-нагрузок: Обычно не используются как основные базы данных для транзакционных систем.
1.3. Документные (Document-Oriented) форматы (для NoSQL):

Как работает: Данные хранятся как коллекции документов, обычно в формате JSON, BSON (бинарный JSON) или XML. Каждый документ может иметь свою схему, что обеспечивает высокую гибкость.
Примеры СУБД: MongoDB, Couchbase, ArangoDB (также мультимодельная).
Преимущества:
Гибкость
Post Reply