Особенности тестирования nosql приложений
DESCRIPTION
Презентация доклада Владимира Кривенко на конференции SQADays-14, Львов 8-9 ноября 2013TRANSCRIPT
![Page 1: Особенности тестирования NoSQL приложений](https://reader035.vdocuments.pub/reader035/viewer/2022062708/558931e8d8b42add138b457b/html5/thumbnails/1.jpg)
Особенности тестирования NoSQL приложений
Владимир Кривенко
Paralect
![Page 2: Особенности тестирования NoSQL приложений](https://reader035.vdocuments.pub/reader035/viewer/2022062708/558931e8d8b42add138b457b/html5/thumbnails/2.jpg)
Обо мнеВладимир Кривенко
Опыт:
6+ лет опыта в тестировании
Работаю:
Head of QA в Paralect
Блог:
bugscatcher.net
![Page 3: Особенности тестирования NoSQL приложений](https://reader035.vdocuments.pub/reader035/viewer/2022062708/558931e8d8b42add138b457b/html5/thumbnails/3.jpg)
Что вы сегодня узнаете?
• Особенности реляционных БД• Особенности NoSQL БД• Свойства распределенных систем• Особенности тестирования NoSQL
приложений
![Page 4: Особенности тестирования NoSQL приложений](https://reader035.vdocuments.pub/reader035/viewer/2022062708/558931e8d8b42add138b457b/html5/thumbnails/4.jpg)
Реляционные БД
• Таблица• Отношения между таблицами• Целостность данных• Типизация данных• Нормализация• SQL• Ключи
![Page 5: Особенности тестирования NoSQL приложений](https://reader035.vdocuments.pub/reader035/viewer/2022062708/558931e8d8b42add138b457b/html5/thumbnails/5.jpg)
Принято считать
РСУБД не так хороши:
• При работе с данными большого объема
• При высоких нагрузках• При создании распределенной системы
![Page 6: Особенности тестирования NoSQL приложений](https://reader035.vdocuments.pub/reader035/viewer/2022062708/558931e8d8b42add138b457b/html5/thumbnails/6.jpg)
Специализация
![Page 7: Особенности тестирования NoSQL приложений](https://reader035.vdocuments.pub/reader035/viewer/2022062708/558931e8d8b42add138b457b/html5/thumbnails/7.jpg)
NoSQL
термин, обозначающий ряд подходов, направленных на реализацию гибких моделей баз данных, позволяющий осуществлять разделение данных между многими узлами и быстрому доступу к данным
![Page 8: Особенности тестирования NoSQL приложений](https://reader035.vdocuments.pub/reader035/viewer/2022062708/558931e8d8b42add138b457b/html5/thumbnails/8.jpg)
Распределенные системы• Согласованность (Consistency)• Доступность (Avalibility)• Устойчивость к разделению (Partition
tolerance)
![Page 9: Особенности тестирования NoSQL приложений](https://reader035.vdocuments.pub/reader035/viewer/2022062708/558931e8d8b42add138b457b/html5/thumbnails/9.jpg)
CAP Теорема
![Page 10: Особенности тестирования NoSQL приложений](https://reader035.vdocuments.pub/reader035/viewer/2022062708/558931e8d8b42add138b457b/html5/thumbnails/10.jpg)
Типы NoSQL БД• Хеш-таблицы (ключ-значение)• Документно-ориентированные • На основе графов• Колонко-ориентированные
![Page 11: Особенности тестирования NoSQL приложений](https://reader035.vdocuments.pub/reader035/viewer/2022062708/558931e8d8b42add138b457b/html5/thumbnails/11.jpg)
Особенности NoSQL
• Денормализация данных• Распределенность данных• Как правило, не используется SQL
![Page 12: Особенности тестирования NoSQL приложений](https://reader035.vdocuments.pub/reader035/viewer/2022062708/558931e8d8b42add138b457b/html5/thumbnails/12.jpg)
Нужно учитывать
• Отсутствие нормализации• Отсутствие проверки целостности базы
данных (constraints)
![Page 13: Особенности тестирования NoSQL приложений](https://reader035.vdocuments.pub/reader035/viewer/2022062708/558931e8d8b42add138b457b/html5/thumbnails/13.jpg)
Согласованность
Данные в конечном итоге будут согласованы
«Нам, конечно, нужна точность, но если мы не можем её быстро получить —
точность не имеет значения»
Д. Гослинг
![Page 14: Особенности тестирования NoSQL приложений](https://reader035.vdocuments.pub/reader035/viewer/2022062708/558931e8d8b42add138b457b/html5/thumbnails/14.jpg)
Мы через это прошли…
• Объем БД• Особенности конкретной NoSQL БД• Подходы к разработке• Отказоустойчивость • Производительность• Нет проблем с SQL-инъекциями, но …