Upload
sqalab
View
1.801
Download
0
Embed Size (px)
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-инъекциями, но …