Чем плоха CAP-теорема: критика и альтернативы для NoSQL и других Big Data систем

Big Data, Большие данные, NoSQL, SQL, HBase, Cassandra, архитектура

В этой статье мы расскажем про краеугольный камень распределенных Big Data систем – CAP-теорему, в которой одновременно возможно реализовать только 2 свойства из 3-х, по аналогии с треугольником ограничений в проектном менеджменте «Быстро-Качественно-Дешево». Также рассмотрим, за что критикуют модель CAP и почему современные NoSQL-СУБД стоит рассматривать с позиций BASE и PACELC. Что такое CAP-теорема и причем здесь Big Data Напомним, CAP-теорема описывает возможность распределенных систем одновременно обеспечивать только 2 свойства из 3-х: согласованность (Consistency), доступность (Availability) и устойчивость к разделению (Partition tolerance). Эта гипотеза была высказана профессором Эриком Брюером в 2000-м году, а 2-мя годами е формальное доказательство опубликовали Сет Гилберт и Нэнси Линч из MIT. Обычно о CAP-теореме говорят в контексте Big Data систем на базе NoSQL-хранилищ, которые жертвуют Далее …

Apache Cassandra vs HBase: что и когда выбирать для NoSQL в Big Data

Big Data, Большие данные, архитектура, обработка данных, NoSQL, SQL, Cassandra, HBase, Hadoop, IoT, Internet of Things, IIoT, интернет вещей, предиктивная аналитика

Рассмотрев ключевые сходства и различия Cassandra и HBase, сегодня мы поговорим, в каких случаях стоит выбирать ту или иную нереляционную СУБД для обработки больших данных (Big Data) в NoSQL-хранилище. Где используются NoSQL-СУБД в Big Data Прежде всего отметим основные области применения рассматриваемых нереляционных СУБД. Проанализировав наиболее известные примеры использования (use cases) Apache HBase и Кассандры, можно сделать вывод, что обе системы широко применяются для обработки временных рядов в следующих направлениях Big Data: показания smart-датчиков в IoT/IIoT; сбор и аналитика событий пользовательского поведения (действия, счетчики веб-сайтов и т.д.), в том числе для построения рекомендательных систем, о чем мы рассказывали здесь на примере стримингового сервиса Spotify; финансовые системы (биржевая аналитика, обнаружение мошенничества); агрегация данных из систем обмена сообщениями (чаты, мессенджеры, электронная почта, Далее …

Apache Cassandra и HBase: конкуренты или альтернативы – 10 ключевых сходств и отличий

Big Data, Большие данные, архитектура, обработка данных, NoSQL, SQL, Cassandra, HBase, Hadoop

Cassandra и HBase считаются наиболее популярными NoSQL-СУБД в мире Big Data. Сегодня мы поговорим, что между ними общего и чем отличаются эти нереляционные базы данных, сравнив их по 10 ключевым параметрам: от архитектуры до инструментальных средств. Что общего между Apache Cassandra и HBase: 5 главных сходств Прежде всего отметим, чем похожи HBase и Кассандра. Проанализировав главные достоинства и недостатки этих нереляционных СУБД, мы выделили следующие их общие качества: История разработки – обе рассматриваемые СУБД написаны на языке программирования Java примерно в одно время: Cassandra создана в 2008 в Facebook, а HBase – в 2007 в Powerset. Проектами верхнего уровня Apache Software Foundation эти продукты стали в 2009 и 2010 гг. соответственно. Модель данных – обе системы основаны на концепциях Google Далее …

Как Apache Cassandra, Kafka, Storm и Hadoop формируют рекомендации пользователям Spotify

Big Data, Большие данные, архитектура, обработка данных, NoSQL, SQL, Cassandra, HBase, машинное обучение, Machine Learning, Spark, Kafka, предиктивная аналитика, Hadoop

Продолжая разговор про примеры практического использования Apache Cassandra в реальных Big Data проектах, сегодня мы расскажем вам о рекомендательной системе стримингового сервиса Spotify на базе этой нереляционной СУБД в сочетании с другими технологиями больших данных: Kafka, Storm, Crunch и HDFS. Рекомендательная система Spotify: зачем она нужна и что должна делать Начнем с описания самого сервиса: Spotify – это интернет-ресурс потокового аудио (стриминговый), позволяющий легально и бесплатно прослушивать более 50 миллионов музыкальных композиций, аудиокниг и подкастов, в режиме онлайн, т.е. не загружая их на локальное устройство. Этот сервис доступен в США, Европе, Австралии и Новой Зеландии, а также в некоторых странах Азии и Африки. В общем случае доля сервиса составляет более 36 % мирового аудиостриминга, при этом большая часть (70%) прослушиваний Далее …

10 примеров применения Apache Cassandra в 5 направлениях Big Data

Big Data, Большие данные, архитектура, обработка данных, NoSQL, SQL, Cassandra, HBase, Internet of Things, IoT, IIoT, интернет вещей, машинное обучение, Machine Learning, Spark

Благодаря быстроте, надежности и другим достоинствам Apache Cassandra, эта распределенная NoSQL-СУБД широко применяется во многих Big Data проектах по всему миру. В этой статье мы собрали для вас несколько интересных примеров реального использования Кассандры в 5 ключевых направлениях современного ИТ. Где используется Apache Cassandra: 5 главных приложений c примерами Промышленные решения на базе Cassandra развёрнуты в Cisco, IBM, Cloudkick, Reddit, Digg, Rackspace, Twitter и множестве других компаний, работающих с большими данными [1]. Например, Expedia, крупная туристическая компания США, с помощью Кассандры хранит миллиарды постоянно обновляемых цен из 140 000 отелей. Apple имеет более 100 000 узлов Cassandra в production, что подтверждает отличную масштабируемость этой СУБД [2]. Другая data-driven организация, международная компания таксо-перевозок Uber использует Кассандру в нескольких датацентрах, чтобы обеспечить Далее …

Как работает Apache Cassandra: запись, чтение и другие операции с Big Data в распределенной NoSQL-СУБД

Big Data, Большие данные, архитектура, обработка данных, NoSQL, SQL, Cassandra, HBase

В прошлой статье мы разобрали, как настраиваемые уровни согласованности влияют на скорость работы с данными в Apache Cassandra. Сегодня поговорим, как в этой нереляционной базе данных выполняются операции записи, чтения, уплотнения и удаления. Читайте в нашей статье, что такое memTable, SSTable и Bloom-фильтр, благодаря которым рассматриваемая распределенная NoSQL-СУБД может обработать массивы Big Data еще быстрее. Операция записи Big Data в NoSQL-СУБД Кассандра Данные записываются в Cassandra таким образом, чтобы обеспечить полную надежность и высокую производительность. Напомним, запись в Кассандре намного быстрее считывания, несмотря на несколько этапов выполнения этой операции [1]: Когда данные приходят после координации на узел непосредственно для записи, сначала записываются в журнал фиксации (commit log). Журнал фиксаций представляет собой последовательность операций модификации и является единым на всё пространство Далее …

Раз-два-много: уровни согласованности Apache Cassandra при распределенной обработке Big Data

Big Data, Большие данные, архитектура, обработка данных, NoSQL, SQL, Cassandra

Как мы уже отмечали, одним из преимуществ Кассандры является возможность задания уровня согласованности для операций чтения и записи данных. В этой статье рассмотрим, какие бывают уровни согласованности для этих процессов в Apache Cassandra, и как они влияют на скорость работы распределенной NoSQL-СУБД при ее эксплуатации в реальных Big Data проектах. Что такое согласованность и зачем она нужна Вообще, разговор о согласованности данных в распределенных системах стоит начать с CAP-теоремы (согласованность, доступность, устойчивость) [1], однако это тема отдельной статьи. Apache Cassandra полностью реализует принципы доступности (Availability) и устойчивости к разделению (Partition tolerance), обеспечивая корректный отклик на любой запрос и простоту масштабирования. Однако, согласованность (Consistency), т.е. непротиворечивость данных считается слабым местом этой распределенной СУБД в связи с ее децентрализацией, когда на множестве Далее …

ТОП-10 достоинств и 5 главных недостатков Apache Cassandra

Big Data, Большие данные, архитектура, обработка данных, NoSQL, SQL, Cassandra

Продолжая тему нереляционных хранилищ данных, сегодня мы поговорим о главных плюсах и минусах Apache Cassandra. Читайте в нашем материале, чем хороша эта отказоустойчивая распределенная NoSQL-СУБД и с какими проблемами можно столкнуться при ее использовании в реальном Big Data проекте. Чем хороша Кассандра: 10 ключевых преимуществ Начнем с положительных моментов. Благодаря своим архитектурным особенностям, Apache Cassandra характеризуется следующими достоинствами: масштабируемость и надежность в связи с отсутствием центрального сервера (Master Node), отказ которого может стать причиной сбоя всего кластера, как в случае HBase. Добавить новые узлы в кластер и обновить версии Cassandra можно на лету, без дополнительного ручного вмешательства и переконфигурации всего кластера. Однако, на практике рекомендуется заново сгенерировать ключи (токены) для каждого узла, включая существующие, чтобы сохранить качество распределения нагрузки. Генерации Далее …

7 основных преимуществ и пара недостатков Apache HBase для Big Data систем

Big Data, Большие данные, архитектура, обработка данных, Hadoop, SQL, NoSQL, HBase, Caasandra, Hive, Impala

В этой статье мы поговорим про ключевые достоинства и недостатки Apache HBase, а также рассмотрим наиболее интересные примеры практического использования этой нереляционной распределенной СУБД в крупных Big Data проектах. Достоинства и недостатки одной из самых популярных NoSQL СУБД для Big Data Прежде всего, отметим, что Apache HBase и Cassandra считаются наиболее популярными нереляционными базами данных в мире Big Data [1]. Оба этих продукта основаны на концепциях Google Big Table и являются колоночно-ориентированными хранилищами, где информация хранится хранятся в ячейках, сгруппированных в колонки, а не в строки данных [2]. Однако, сравнению этих СУБД посвящена наша отдельная статья, а сегодня мы расскажем о наиболее существенные достоинствах Apache HBase, важных с точки зрения ее прикладного использования [3]: специфическая модель данных, не ограничивающая число Далее …

Птичка + рыбка: синергия Apache Phoenix и HBase для быстрой SQL-аналитики Big Data в Hadoop

Apache Phoenix, Big Data, Большие данные, архитектура, SQL, ETL, Hadoop, Hive, Impala

Сегодня мы рассмотрим еще один инструмент стека SQL-on-Hadoop: Apache Phoenix, позволяющий выполнять SQL-запросы к нереляционной СУБД HBase. Читайте в нашей статье, что представляет собой этот исполнительный механизм, как он работает и чем отличается от других Big Data решений подобного класса (Cloudera Impala, Apache Hive и Drill). Также мы собрали для вас некоторые практические примеры использования Apache Phoenix в реальных проектах аналитической обработки больших данных. Что такое Apache Phoenix и как он работает с HBase Phoenix (Феникс) – это проект верхнего уровня фонда Apache Software Foundation (c 2014 года), механизм параллельной реляционной базы данных с открытым исходным кодом, который поддерживает обработку транзакций в реальном времени (OLTP, Online Transaction Processing) в Hadoop с использованием NoSQL-СУБД HBase в качестве резервного хранилища. В отличие Далее …