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

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

  • Upload
    sqalab

  • View
    1.801

  • Download
    0

Embed Size (px)

DESCRIPTION

Презентация доклада Владимира Кривенко на конференции SQADays-14, Львов 8-9 ноября 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