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

Preview:

DESCRIPTION

Презентация доклада Владимира Кривенко на конференции SQADays-14, Львов 8-9 ноября 2013

Citation preview

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

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

Paralect

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

Опыт:

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

Работаю:

Head of QA в Paralect

Блог:

bugscatcher.net

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

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

приложений

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

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

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

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

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

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

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

NoSQL

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

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

tolerance)

CAP Теорема

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

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

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

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

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

данных (constraints)

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

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

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

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

Д. Гослинг

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

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

Пообщаемся?

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

http://bugscatcher.net

u.kryvenka@gmail.com

u.kryvenka

@UladzimirKryven

Recommended