15
Особенности тестирования NoSQL приложений Владимир Кривенко Paralect

Особенности тестирования NoSql приложений

Embed Size (px)

DESCRIPTION

Моя презентация к докладу “Особенности тестирования NoSql приложений” с которой я выступил на SQA Days #14 во Львове 09 ноября 2013 года.

Citation preview

Page 1: Особенности тестирования NoSql приложений

Особенности тестирования NoSQL приложений

Владимир Кривенко

Paralect

Page 2: Особенности тестирования NoSql приложений

Обо мнеВладимир Кривенко

Опыт:

6+ лет опыта в тестировании

Работаю:

Head of QA в Paralect

Блог:

bugscatcher.net

Page 3: Особенности тестирования NoSql приложений

Что вы сегодня узнаете?

• Особенности реляционных БД• Особенности NoSQL БД• Свойства распределенных систем• Особенности тестирования NoSQL

приложений

Page 4: Особенности тестирования NoSql приложений

Реляционные БД

• Таблица• Отношения между таблицами• Целостность данных• Типизация данных• Нормализация• SQL• Ключи

Page 5: Особенности тестирования NoSql приложений

Принято считать

РСУБД не так хороши:

• При работе с данными большого объема

• При высоких нагрузках• При создании распределенной системы

Page 6: Особенности тестирования NoSql приложений

Специализация

Page 7: Особенности тестирования NoSql приложений

NoSQL

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

Page 8: Особенности тестирования NoSql приложений

Распределенные системы• Согласованность (Consistency)• Доступность (Avalibility)• Устойчивость к разделению (Partition

tolerance)

Page 9: Особенности тестирования NoSql приложений

CAP Теорема

Page 10: Особенности тестирования NoSql приложений

Типы NoSQL БД• Хеш-таблицы (ключ-значение)• Документно-ориентированные • На основе графов• Колонко-ориентированные

Page 11: Особенности тестирования NoSql приложений

Особенности NoSQL

• Денормализация данных• Распределенность данных• Как правило, не используется SQL

Page 12: Особенности тестирования NoSql приложений

Нужно учитывать

• Отсутствие нормализации• Отсутствие проверки целостности базы

данных (constraints)

Page 13: Особенности тестирования NoSql приложений

Согласованность

Данные в конечном итоге будут согласованы

«Нам, конечно, нужна точность, но если мы не можем её быстро получить —

точность не имеет значения»

Д. Гослинг

Page 14: Особенности тестирования NoSql приложений

Мы через это прошли…

• Объем БД• Особенности конкретной NoSQL БД• Подходы к разработке• Отказоустойчивость • Производительность• Нет проблем с SQL-инъекциями, но …

Page 15: Особенности тестирования NoSql приложений

Пообщаемся?

Владимир Кривенко

http://bugscatcher.net

[email protected]

u.kryvenka

@UladzimirKryven