TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
Системный Аналитик

9 Sep 2024, 12:13

Open in Telegram Share Report

🔵 Колоночные БД, Cassandra vs PostreSQL

В колоночной БД данные хранятся и обрабатываются по столбцам, а не по строкам.

Все значения одного столбца хранятся вместе, отдельно от значений других столбцов.

В строковой БД данные хранятся построчно:
🟡[1, 2024-01-01, Телефон, 500]
🟡[2, 2024-01-02, Ноутбук, 1000]
🟡[3, 2024-01-03, Планшет, 300]

В колоночной — по столбцам:
▫️ID: [1, 2, 3]
▫️Дата: [2024-01-01, 2024-01-02, 2024-01-03]
▫️Продукт: [Телефон, Ноутбук, Планшет]
▫️Цена: [500, 1000, 300]

Чтение: если нужно найти все цены, БД сразу читает столбец "Цена", не проходя по каждой строке.


Особенности

*️⃣Данные одной колонки сохраняются вместе на диске. Каждая колонка хранится отдельно (в строковых — вместе)
*️⃣Хранят все ячейки, которые относятся к колонке, в виде непрерывной записи — это и делает выполнение операций по поиску и доступу быстрее
*️⃣Агрегированные операции выполняются быстрее, так как считывается меньше данных и не нужно обрабатывать лишние колонки
*️⃣Оптимизированы для операций агрегации, таких как SUM, AVG, COUNT
*️⃣Каждая запись в семействе колонок идентифицируется уникальным ключом строки (Row Key)

Когда лучше выбрать?

⏩ Когда нужно быстро читать большие объемы данных по конкретным столбцам
⏩ Когда важна быстрая агрегация данных
⏩ Для данных, собранных по времени или другим параметрам, т.к. информация часто анализируются по определенным метрикам (столбцам)
⏩ Для распределенной обработки данных и масштабируемости
Некоторые БД (Apache Cassandra и HBase) спроектированы для работы в распределенной среде. Они легко масштабируются горизонтально, добавляя новые узлы в кластер
Это позволяет обрабатывать большие объемы и распределять нагрузку между серверами
⏩ Для OLAP систем при анализе больших объемов данных

Когда неэффективны

*️⃣Если данные часто обновляются, то колоночные БД могут быть неэффективными, т.к. нужно обновлять каждый столбец отдельно
*️⃣Могут иметь ограничения при выполнении транзакций, что может усложнять согласование данных в случае ошибок
*️⃣При выполнении транзакций с большим объемом данных может возникнуть задержка из-за сканирования множества столбцов

Примеры использования


🟠Анализ данных продаж для определения трендов и прогнозов
🟠Хранилище данных для аналитики финансовых транзакций
🟠Мониторинг производительности серверов и сетевого трафика

Отличия колоночных SQL от NoSQL

SQL:
*️⃣Имеет более строгую схему, таблицы и типы данных фиксированы
*️⃣Стандартный язык SQL для запросов
*️⃣Для вертикального масштабирования (увеличение мощности одного сервера)
*️⃣Для аналитических запросов

NoSQL:
*️⃣Более гибкая схема, можно легко добавлять новые столбцы
*️⃣Часто собственные языки или API
*️⃣Легче масштабируется горизонтально (добавление новых серверов)
*️⃣Для больших распределенных систем

Примеры БД


*️⃣SQL: Clickhouse, Google BigQuery
*️⃣NoSQL: Apache Cassandra, Apache HBase


Когда лучше выбирать строковые БД

🟠Для транзакционных систем (OLTP): БД, такие как PostgreSQL и MySQL, оптимизированы для быстрого выполнения транзакций, включая вставку, обновление и удаление строк. Подходят для банковских систем или системы обработки заказов.
🟠Когда структура данных может часто меняться: в строковых БД каждая запись хранится в виде строки, операции обновления данных более эффективные
🟠Для частого соединения данных из разных таблиц и реляционных операций между таблицами


Сравнение Cassandra vs PostgreSQL на картинке поста 👇

⭐️ Подборки материалов по этой и другим темам доступны в базе знаний по системному анализу

#бд

15.7k 0 160 5 60
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot