Рубрика «cassandra» - 4

Как мы неделю чинили compaction в Cassandra - 1 Основным хранилищем метрик у нас является cassandra, мы используем её уже более трех лет. Для всех предыдущих проблем мы успешно находили решение, используя встроенные средства диагностики кассандры.

В кассандре достаточно информативное логгирование (особенно на уровне DEBUG, который можно включить на лету), подробные метрики, доступные через JMX и богатый набор утилит (nodetool, sstable*).

Но недавно мы столкнулись с одной достаточно интересной проблемой, и нам пришлось серьезно поломать голову, почитать исходный код кассандры, чтобы разобраться, что происходит.

Читать полностью »

Беседовал Рафаэль Кнут (Rafael Knuth)

Представляем вам 10-е интервью из серии бесед с техническими руководителями проектов инициативы OpenStack в блоге Mirantis. Наша цель – обучение как можно большего числа членов технического сообщества и содействие понимаю того, каким образом можно внести вклад в OpenStack и как извлечь выгоду из него. Разумеется, ниже изложена точка зрения интервьюируемого, а не компании Mirantis.Читать полностью »

9 декабря в Екатеринбурге прошла первая в России конференция, посвященная NoSQL-системе Cassandra. Организаторами конференции выступили компании IT-People, СКБ Контур и DataStax. Поддержку мероприятию оказало Министерство транспорта и связи Свердловской области.

О конференции

Читать полностью »

Только что получил анонс, что на AWS стали доступны новое поколение Amazon EC2 High I/O инстансов. Данные типы инстансов базируются на новом поколении процессоров Intel Ivy Bridge. Каждый виртуальный CPU (vCPU) соответствует одному аппаратную потоку исполнения (hyperthread) процессора Intel Xeon E5-2670 v2 (Ivy Bridge).

Вот табличка:
Читать полностью »

Расписание и тезисы докладов готовы и доступны на сайте CassandraConf.ru. Итак, что нас ждет 9 декабря:
image

Читать полностью »

Статья предназначена для людей пытающихся создать свою первую «таблицу» в БД Cassandra.

За посление несколько релизов Кассандры разработчики взяли правильный вектор направленный на простоту использования этой базы данных. Учитывая её достоинства, такие как скорость работы и отказоустойчиваость, её было сложно как администрировать, так и писать под неё. Сейчас же количество танцев с бубном, которые надо провести прежде чем запустить и начать разрабатывать, свели к минимуму — несколько комманд в bash или один .msi в Windows.
Более того, сильно облегчил жизнь разработчикам недавно обновлённый CQL (язык запросов), вытеснив бинарный и довольно сложный язык Thrift.
Лично я столкнулся с проблемой наличия отсуствия русскоязычных руководств по Кассандре. Самую, на мой взгляд, сложную тему мне бы хотелось поднять в этой статье. Как же дизайнить базу данных то?

  • Статья НЕ предназначена для людей, которые впервые видят слово Cassandra.
  • Статья НЕ служит как рекламный материал той или иной технологии.
  • Статья НЕ стремится доказать что-либо кому-либо.
  • Если скорость записи/чтения не так важна, и если «100% uptime» не сильно нужен, и если у вас всего лишь несколько миллионов записей, то, вероятно, эта статья, да и вся Cassandra в целом, — не то, что вам нужно.

Ликбез

  • Cassandra (далее C*) — распределённая NoSQL БД, поэтому все решения «почему так, а не вот так» всегда принимаются с оглядкой на кластеризацию.
  • CQL — это SQL-подобный язык. Аббревиатура от Cassandra Query Language.
  • Node (нода) — инстанс C*, или java процесс в терминах операционных систем. На одной машине можно запустить несколько нод, например.
  • Основная единица хранения — строка. Строка целиком хранится на нодах, т.е. нет ситуаций когда полстроки — на одной ноде, полстроки — на другой. Строка может динамически раширяться до 2 миллиардов колонок. Это важно.
  • cqlsh — коммандная строка для CQL. Все примеры ниже выполняются именно в ней. Является частью дистрибутива C*.

Основное правило моделирования данных в C*

Кассандра создавалась как распределённая БД с упором на максимальную скорость записи и чтения. Моделировать «таблицы» нужно в зависимости от SELECT запросов вашего приложения.
В SQL мы привыкли накидать таблиц, связей между ними, и потом уже SELECT ... JOIN ... чего хотим и как хотим. Именно JOIN-ы основная проблема с произвоидтельностью в RDBMS. Их нет в CQL.

Первый пример.

У нас есть сотрудники какой-то компании. Создадим таблицу (которые на самом деле называются Column Family, но для простоты перехода с SQL на CQL используют слово table) на CQL и заполним данными:

CREATE TABLE employees (
    name text,
    age int,
    role text,
    PRIMARY KEY (name)
);
INSERT INTO employees (name, age, role) VALUES ('john', 37, 'dev');
INSERT INTO employees (name, age, role) VALUES ('eric', 38, 'ceo');

Таблицы в C* обязаны иметь PRIMARY KEY. Он используется для поиска ноды, в которой хранится искомая строка.

Прочитаем данные:

SELECT * FROM employees;

Эта картинка — руками разукрашенный вывод cqlsh.
Моделирование данных в БД Cassandra 2.0 на CQL3

Выглядит как обычная таблица из реляционной БД. C* создаст две строки.
Моделирование данных в БД Cassandra 2.0 на CQL3
Внимание! Это две внутренние структуры строк, а не таблицы. Если чуть слукавить, то можно сказать, что каждая строка — это как маленькая таблица. Далее понятней.
Читать полностью »

9 декабря в Екатеринбурге пройдет первая в России конференция, посвященная NoSQL-хранилищу Cassandra. Мы уже сформировали программу CassandraConf.ru и приглашаем присоединиться как опытных разработчиков, так и тех, кто хочет познакомиться с Cassandra впервые!

Участие в конференции бесплатное — приезжайте!

Под катом — программа мероприятия и подробности
image

Читать полностью »

Друзья,

рад сообщить, что в Москве при поддержке компании DataStax стартует группа, посвященная NoSQL-хранилищу Apache Cassandra.

Всего в рамках группы планируется проводить 6 встреч в году. Некоторые из них будут проходить с участием разработчиков и архитекторов DataStax, т.е. будет возможность задать свои вопросы и высказать наболевшее лично людям, которые активно развивают продукт.Читать полностью »

imageНедавно нам удалось пообщаться с великим Монти — Майклом Видениусом, автором оригинальной версии открытой СУБД MySQL, который в настоящее время работает над ее ответвлением, MariaDB. (Кстати, обе эти базы поддерживаются в Jelastic.)

Как известно, мир производит и обрабатывает все больше данных (так называемый феномен «Big Data»). Общепринято мнение, что данных теперь так много, что обрабатывать их с помощью традиционных баз данных и программных методов трудно или невозможно. Это вызвало волну нереляционных баз данных (NoSQL), в которых упор делается на высокую масштабируемость. Эксперт в области баз данных, Монти, поделился с нами своими мыслями о текущем и будущем состоянии SQL, NoSQL и Big Data. Некоторые его ответы были несколько неожиданными, так что мы с радостью приводим здесь русский перевод расшифровки нашей беседы:Читать полностью »

в 13:15, , рубрики: cassandra, nosql, метки: ,

Кассандра
В этом топике я хотел бы рассказать о том, как устроена кассандра (cassandra) — децентрализованная, отказоустойчивая и надёжная база данных “ключ-значение”. Хранилище само позаботится о проблемах наличия единой точки отказа (single point of failure), отказа серверов и о распределении данных между узлами кластера (cluster node). При чем, как в случае размещения серверов в одном центре обработки данных (data center), так и в конфигурации со многими центрами обработки данных, разделенных расстояниями и, соответственно, сетевыми задержками. Под надёжностью понимается итоговая согласованность (eventual consistency) данных с возможностью установки уровня согласования данных (tune consistency) каждого запроса.

NoSQL базы данных требуют в целом большего понимания их внутреннего устройства чем SQL. Эта статья будет описывать базовое строение, а в следующих статьях можно будет рассмотреть: CQL и интерфейс программирования; техники проектирования и оптимизации; особенности кластеров размещённых в многих центрах обработки данных.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js