NOSQL Store
Зачем
Решения для NOSQL Store для хранилищ данных. Критерии выбора.
Плюсы-минусы
Виды
Key Value In-memory
Key Value Ключ-Значение
Column Based
- Расширяет базы данных на основе Ключ-Значение за счет хранения слабо определенных коллекций одной или более пар Ключ-значение
- Может иметь представление двумерного массива, в котором каждому ключу соответствует одна и более пара ключ-значение
Плюсы и минусы
- *** Performance очень быстрая из-за отсутствия схемы, функций реляционности и транзакционности и ссылочной целостности
- *** Scalability может линейно масштабироваться с помощью разделения данных по хэшу, вычесленному на основе ключа
- *** Availability - высокая доступность за счет кластеризации и распределенных файловых систем (HDFS)
-
- Ad-hoc Analysis - поддерживает вторичные индексы, но отсутствуют функции агрегирования данных
Технологии
- ClickHouse
- Cassandra
- HBase
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
Плюсы и минусы
- Демонстрируют лучшую производительность, когда нужно найти кратчайший путь или связанные узлы, проанализировать связи или выделить общие признаки
- Адаптивность структуры данных
Технологии
- Neo4J
- Tarantool