Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

NOSQL Store

Зачем

Решения для NOSQL Store для хранилищ данных. Критерии выбора.

Плюсы-минусы

NOSQL Store.

Виды

Key Value In-memory

Key Value Ключ-Значение

  • Redis
    • это однопоточная система
  • Memcached — многопоточная
  • Tarantool

Column Based

  • Расширяет базы данных на основе Ключ-Значение за счет хранения слабо определенных коллекций одной или более пар Ключ-значение
  • Может иметь представление двумерного массива, в котором каждому ключу соответствует одна и более пара ключ-значение

Плюсы и минусы

  • *** Performance очень быстрая из-за отсутствия схемы, функций реляционности и транзакционности и ссылочной целостности
  • *** Scalability может линейно масштабироваться с помощью разделения данных по хэшу, вычесленному на основе ключа
  • *** Availability - высокая доступность за счет кластеризации и распределенных файловых систем (HDFS)
    • Ad-hoc Analysis - поддерживает вторичные индексы, но отсутствуют функции агрегирования данных

Технологии

Document-Oriented

  • Похожий на Column-Family, но поддерживает более глубокую структуру вложений сложных структур (документ, в который вложен Документ, в который вложен другой документ).
  • Документы снимают ограничения одно-двухуровневого вложения в Column-Family базах данных
  • Возможность сформировать документ, который будет храниться в виде записи в БД

Плюсы и минусы

    • Performance - зависит от реализации, но в целом производительность ниже, чем у Column-Family
  • *** Scalability - более 100 организаций используют кластеры на 100+ хостов. Некоторые используют кластеры на 1000+ хостов
  • *** Availability - высокая доступность за счет кластеризации и репликации
    • Ad-hoc анализ - немного лучше, что другие Семейства NoSQL БД, то все еще хуже, чем реляционные БД или Interactive Query Engine

Технологии

  • MongoDB — документоориентированная система управления базами данных, не требующая описания схемы таблиц. Считается одним из классических примеров NoSQL-систем, использует JSON-подобные документы и схему базы данных.
  • CouchDB

Wide-Column

Плюсы и минусы

Технологии

  • Cassandra

Graph database

Графовые базы очень эффективны как раз потому, что не надо собирать большой промежуточный результат, пока мы навигируем по графу.

Графовые алгоритмы для аналитики:

  • Open source-библиотеки из 50 алгоритмов на графах
  • Кратчайшие пути
  • Community detection
  • Cosine similarity
  • Clustering
  • Flow
  • Centrality 58

Бесплатная облачная версия с заготовленными базами данных

UC:

  • Связи между пользователями Соцсетей
  • Рекомендательные системы
  • Логистика (лучшие маршруты)
  • Наука (генетические данные)
  • Financial Fraud Detection
  • Risk Assessment and Monitoring
  • Energy Management
  • Network Resource Optimization

Плюсы и минусы

  • Демонстрируют лучшую производительность, когда нужно найти кратчайший путь или связанные узлы, проанализировать связи или выделить общие признаки
  • Адаптивность структуры данных

Технологии