SlideShare a Scribd company logo
1 of 69
Download to read offline
КАК ПОЛУЧАТЬ И
ИНТЕРПРЕТИРОВАТЬ
ПОКАЗАТЕЛИ
ПРОИЗВОДИТЕЛЬНОСТИ
СУБД?
ГОНКИ TPC-C
296 результатов
Simfoware, Oracle DB 7–8, DB2/400 и UDB, Informix, MS SQL Server, Sybase ASE …
TPC-C, НОЯБРЬ 2016
SQL Anywhere
ПЛАН
Что случилось с TPC-C?
• Ранняя история TPC
• TPC-A/B, -С, -H, -E
• TPC: устаревшие и новые
• Особенности публикации
Бенчмарки новой волны
«Карманные средства» для замера
Ввод-вывод
Самый практичный метод
TP1
Середина
1970-х,
бенчмарк IBM
обработка
банковских
транзакций
Idefix: 100 tps
(1973, «банк с
1тыс. отделений
и 10 тыс.
операционистов»)
Пакетный
режим
без сети
без времени на
реакцию
оператора
Начало 1980-х:
фантастические
победные
реляции на
10 ktps
Рынок вышел на
миллиардные
обороты
… с самым
быстрорастущим
сегментом с
фокусом на OLTP
…но конечные
заказчики не
получали
и 1 ktps …
ДЭВИД ДЕВИТТ:
ВИСКОНСИНСКИЙ БЕНЧМАРК
Альтернативный, более
строго
детерминированный
бенчмарк
Нацелен на борьбу с
«бенчмарковыми
войнами», но разжёг их
ещё сильнее!
Из-за низких
результатов Oracle DB
появилась «оговорка
Девитта» (DeWitt clause)
Лицензия на СУБД
запрещает публикацию
каких-либо тестов
производительности
СУБД
ДЖИМ ГРЕЙ: DEBITCREDIT
В пику висконсинскому бенчмарку, на базе
предметной области из TP1
Требуется публикация суммарной
стоимости системы, включая
оборудование, лицензии, 5 лет
сопровождения
Тест специфицирован на языке
функциональных требований, без
требований к коду или фрагментов кода
Введены правила масштабирования теста
по количеству пользователей и размерам
таблиц с пропорциональным ростом
Введено ограничение на время отлика: 95
% транзакций должно завершиться за 1 сек.
ГЛАВНОЕ: ОГРАНИЧЕНИЕ НА
ВРЕМЯ ОТКЛИКА
Изображение: ©Dell, 2013
TPC.ORG
Бенчмарковые войны продолжались: как проверить результат?
Нужна некоммерческая организация
1988: Transaction Processing Performance Council –
Совет по оценке производительности транзакционной обработки
Основатель – Омри Серлин и 8 согласных вендоров
Actian Cisco Cloudera Dell DataCore Fujitsu HPE Hitachi Huawei IBM
Inspur Intel Lenovo Microsoft Oracle Pivotal Red Hat SAP Teradata VMWare
Члены на 2016 год:
TPC-A И TPC-B: ТЕСТ
READ 100 bytes from TTY (AID, TID, BID, DELTA)
BEGIN TRANSACTION
UPDATE ACCOUNT WHERE ACCOUNT_ID = AID:
READ ACCOUNT_BALANCE FROM ACCOUNT
SET ACCOUNT_BALANCE = ACCOUNT_BALANCE + DELTA
WRITE ACCOUNT_BALANCE TO ACCOUNT
WRITE TO HISTORY:
AID, TID, BID, DELTA, TIME_STAMP
UPDATE TELLER WHERE TELLER_ID = TID:
SET TELLER_BALANCE = TELLER_BALANCE + DELTA
WRITE TELLER_BALANCE TO TELLER
UPDATE BRANCH WHERE BRANCH_ID = BID:
SET BRANCH_BALANCE = BRANCH_BALANCE + DELTA
WRITE BRANCH_BALANCE TO BRANCH
COMMIT TRANSACTION
WRITE 200 bytes to TTY (AID, TID, BID, DELTA)
На основе TP1 – обработка розничнобанковских транзакций
TPC-A И TPC-B: МОДЕЛЬ
BRANCH
B
ACCOUNT
B*100K
100K
HISTORY
B*2.6M
TELLER
B*1010
Десятисекундный
цикл у каждого
терминала
1 транзакция в
секунду на
каждое
отделение
Отклик от 90%
транзакций –
менее 2 сек
Считается:
средний
показатель
транзакций в
секунду за 15 мин
TPC-A И TPC-B: РАЗЛИЧИЯ
TPC-A
Терминалы
Время на реакцию
пользователя
TPC-B
Серверный тест
Сокращённая
история (30 дней)
TPC-A И TPC-B: КРИТИКА
1995: признаны несостоятельными
Последний результат (DEC, 1994)
3700 tpsA 4800 $/tpsA
Первый результат (HP, 1990)
38.2 tpsA 29200 $/tpsA
Наследие TP1
Слишком простые, чтобы исключить
подстройки
Невероятные разбросы результатов
TPC-C: УСЛОЖНЕНИЕ
Пороги отклика для 90% транзакций
Менее 5 сек для интерактивных операций Менее 20 сек для пакетных процессов
Больше вариаций
9 таблиц
Вставки, обновления,
удаления, отмены операций
Доступ по первичными и
вторичным ключам
5 типов транзакций
NEW-ORDER
•новая заявка от
клиента
PAYMENT
•факт платежа
•обновление
баланса
клиента
DELIVERY
•заявка на доставку
•(пакетный
процесс)
ORDER-STATUS
•проверка статуса
последней заявки от
клиента
STOCK-LEVEL
•проверка уровня
запасов на складе
45% 43% 4% 4% 4%
МОДЕЛЬ ДАННЫХ TPC-C
WAREHOUSE
W
DISTRICT
W*10
10
CUSTOMER
W*30K
3K
HISTORY
W*30K+
1+
ITEM
100K (fix)
STOCK
W*100K100K W
ORDER
W*30K+1+
ORDER-LINE
W*300K+
10–15
NEW-ORDER
W*5K0–1
TPC-C: МАСШТАБИРОВАНИЕ
Каждый новый склад →
+10 участков, + 100 единиц хранения, +300 тыс.
клиентов
Максимум – 1,2 tpmC на терминал
10 терминалов на склад
Квант масштабирования – склад (W)
TPC-C:
КЛАСТЕРНЫЕ И НЕКЛАСТЕРНЫЕ
Кластерные
Несколько
узлов
Без разделяемых
ресурсов
(федеративные)
Сегментирование
С общим
ресурсом
хранения (RAC)
Некластерные Один узел
TPC-C: МЕТРИКИ
tpmC
Транзакций в
минуту
tpmC / $
Стоимость
транзакции
Полная
стоимость
комплекса за 3
года
W / ktpmC
Энергозатраты
на [кило]
транзакцию
ИНТЕРПРЕТАЦИЯ TPC-C
По Алану Паркеру (Alan Parker. Tuning databases on Solaris platform. Prentice-Hall, 2002)
• …не только создание заявокtpmC × 2
• …если нет монитора транзакцийtpmC / 2
• …если на стороне оператора клиент типа Oracle FormstpmC / 3
• …если используются легковесные экранные формы
(curses и т. п.)tpmC × 2 / 3
• …если в приложении не было тонкой настройки SQLtpmC / 2
• …если параллельно нагрузке формируются отчёты или
выполняются пакетные заданияtpmC / 2
TPC-C: КРИТИКА 1990-Х
Даже оптовики работали по-другому!
Заявка: несколько
неуспешных поисков с
подстановочными символами
После каждой заявки
печатается бумажный отчёт
(иногда трижды)
«Обновление балансов» на каждой
онлайн-операции при больших
нагрузках невозможно → вставка +
пакетный досчёт остатков
Простая логика
Нет декларативных ограничений целостности Нет триггерной логики
Нетипичные нагрузки
А как же отчётность? А как же системы поддержки принятия решений?
TPC: ОТМЕНЁННОЕ
TPC-D 1995–1999
Первая
попытка
OLAP-теста
TPC-R 2001–2005 Отчётность
TPC-W 2001–2005
Онлайн-
веб-
коммерция
TPC-H
1999 год:
OLAP vs OLTP
“Ad-hoc
decision
support”
Вместо
признанного
неудачным
TPC-D
«Весовые
категории»
100 ГБ
300 ГБ
1 ТБ
3 ТБ
10 ТБ
30 ТБ
100 ТБ
Параллельная
нагрузка
22 вида
сложных
запросов
2 типа
обновлени
я
хранилища
TPC-H: МОДЕЛЬ
TPC-H: РЕЗУЛЬТАТЫ-2016
Напрямую трудно применимо
к нереляционным СУБД
Есть
варианты
трансляции
для MOLAP
(MDX)
Были
сообщения о
применении
для
Apache Hive
Exasol
MS SQL
Server
Oracle
Database
Actian
Vector
От 1 до 10 результатов в
каждой «весовой категории»
TPC-E: «ПРАКТИЧНЫЙ OLTP»
Тоже OLTP, но более «гибридный»
Включённые ограничения целостности
Без мониторов транзакций
Больше чтений
Больше видов нагрузок
TPC-E:
СЛОЖНЫЙ ПОТОК ОПЕРАЦИЙ
TPC-E: МОДЕЛЬ ДАННЫХ
Изображение: ©Transaction Processing Council, 2009
78 результатов
Все – некластерные, MS SQL Server на Windows Server x64
11 KTPSE, $144/TPSE (1,6 MIO)
Изображение: ©Lenovo, © TPC, 2015
TPC-ABCEH
НОВЫЕ TPC-X И TPCX-X
TPC-DI
ETL-нагрузки
TPC_DI_RPS
0 результатов
TPC-DS
Поддержка
принятия
решений,
«включая большие
данные»
(«включая
Hadoop/Spark»)
QphDS@Size
0 результатов
TPCx-BB
Экспресс-
бенчмарк для
аналитических
больших данных
на базе BigBench
BBpm@Size
0 результатов
TPCx-HS
Экспресс-
бенчмарк для
HDFS-совместимых
систем по типу
TeraSort
HSph@Size
От 1 до 4
результатов в
разных «весовых
категориях»
ПУБЛИКАЦИЯ?
Публикация на TPC.org
Академическая или исследовательская публикация, не
применимая с маркетинговыми целями
С однозначным утверждением, что полученный результат не
является сравнимым с результатами TPC.org
С разрешения TPC.org
Запрещено публиковать результаты TPC-тестов, полученные по
средствами TPC, кроме следующих случаев:
Обязательный аудит – sizing.com
«ОГОВОРКА ДЕВИТТА»
В 2016 ГОДУ?
MSFT
EULA
• “You may not disclose the results of any benchmark test …
without Microsoft’s prior written approval”
OTN
Lic.
• “You may not disclose results of any Program benchmark
tests without Oracle’s prior consent”
IBM
IPLA
• “Licensee may disclose the results of any benchmark test of
the Program or its subcomponents to any third party
provided that Licensee, if … A) … B) … C)…”
ОСНОВНЫЕ БЕНЧМАРКИ
«НОВОЙ ВОЛНЫ»
Terrasort Benchmark
BigBench
Intel HiBench
Yahoo! Cloud
Services Benchmark
• Воплощён в TPCx-HS
• Воплощён в TPCx-BB
• Серия тестов для
Map-Reduce
• Набор «эталонных
обстрелов» для
NoSQL-систем
INTEL HIBENCH ДЛЯ HADOOP
Изображение:Intel,2013
YAHOO! CLOUD SERVICES
BENCHMARK
Новый инструмент «бенчмаркового маркетинга»
Смело используется исследователями
(V. Abramova et al. Experimental Evaluation of NoSQL Databases // IJDMS Vol.6, №3, 2014)
Cassandra HBase
Elastic
search
MongoDB
Oracle
NoSQL
OrientDB Redis Scalaris Tarantool Voldemort
Обстрел с одной нагрузочной станции
Вместо транзакции – атомарная операция (возможно, чтение нескольких записей)
YCSB: НАГРУЗКИ
ЗАМЕР
«КАРМАННЫМИ
СРЕДСТВАМИ»
Возможен?
Корректен?
Репрезентативен?
Сравним?
Повторяем?
PGBENCH
TPC-B
Стандартная
часть
PostgreSQL
Запуск
одной
строкой
Фактический стандарт для нужд
PostgreSQL
Что лучше – XFS или
ext4?
Таблицы на SSD,
индексы на HDD, или
наоборот?
Размер блока – 4K или
8K?
SYSBENCH
Широко используется для внутренних сравнений MySQL,
MariaDB и их форков
Своеобразные тесты, не похожие на какие-либо стандартные
бенчмарки
Утилита MySQL (автор – Алексей Копытов)
fileio cpu memory threads mutex oltp
TPCE-MYSQL
TPC-E-нагрузчик для MySQL от Percona
HAMMERDB
Свободная Java-GUI-программа, запускающая
TPC-C (?) и TPC-H (?) с поддержкой множества СУБД:
Oracle
Database
Microsoft
SQL Server
IBM DB2 TimesTen MySQL
MariaDB PostgreSQL
Postgres
Plus AS
Greenplum
DB
Redis
Amazon
Aurora
(MySQL)
Amazon
Redshift
(ParAccel)
Trafodion
SQL on
Hadoop
HAMMERDB –
TPC-C В «ОДИН КЛИК»?
HAMMERDB:
TPC, НО НЕ СОВСЕМ…
При этом нет востребованных в современных бенчмарков
TPC-E TPC-DS
TPC-H
Единственная нагрузочная станция
TPC-C
Не эмулируется нагрузка всего
окружения
Нагрузочная станция – в роли
единственного монитора транзакций
HAMMERDB:
ПОПУЛЯРНОСТЬ
Используется
вендорами
оборудования
и платформ
Но аккуратно, в
формате «блог
нашего
сотрудника»
Хаб с
результатами
тестов
Раздел
«Performance
Data»
SWINGBENCH
TPC-C-подобная нагрузка на Oracle Database и Timesten
+ Своеобразный OLTP- тест с большой PL/SQL-логикой
Специфичные для Oracle DB средства мониторинга и анализа (AWR, etc.)
Поддержка координатора
GUI и командная строка
Сравнимость только внутри инструмента
Нерепрезентативные результаты в условиях RAC
DELL BENCHMARK FACTORY
FOR DATABASES
Oracle
Database
MySQL
MS SQL
Server
SQLite
SQL
Anywhere
Коммерческий инструмент (наследие Quest Software) TPC-C
TPC-D
TPC-E
TPC-H
ASP3AP
Поддерживает архитектуру
с несколькими нагрузочными станциями
(Windows)
OSDLDBT.SOURCEFORGE.NET
•TPC-WDBT-1
•TPC-CDBT-2
•TPC-HDBT-3
•TPC-AppDBT-4
•TPC-EDBT-5
While the inspiration for these workloads
are the TPC-<x…>, workloads are entirely
different and results obtained from them
should not and can not be compared to TPC
results.
The use of any supplied results of these
tests for commercial purposes is expressly
prohibited.
MySQL PostgreSQL
…расширяемо
OLTPBENCH
github.com/oltpbenchmark/oltpbench
Java-средство для командной строки
Для любой РСУБД с поддержкой JDBC
Особая версия для Hstore (VoltDB )
TPC-C Wikipedia
Synthetic
Resource
Stresser
Twitter Epinions.com
TATP AuctionMark SEATS YCSB
JPAB
(Hibernate)
CH-
benCHmark
Voter
SIBench
(Snapshot
Isolation)
SmallBank LinkBench
TPC TOOLS
Средства от Совета по
оценке производительности
транзакционной обработки
Исходные
тексты на Си
Нет для TPC-C: только «сэмпл»
в спецификации
Вся
соединяемост
ь и прочая
работа –
своими
руками
TPC-* BY EXAMPLE
По «отчётам о полном раскрытии информации» на TPC.org
RPE2
SAP SD
2-Tier
TPC-C
TPC-HSPEC
jbb2005
SPEC
CPU2006
Суперкомпозитный показатель от Gartner (Ideas)
RPE2-ERP
RPE2-Java
RPE2-OLTP
RPE2-Compute
Intensive
BENCHWARE
«Швейцарский нож» от Манфреда Дрозда:
Peakmarks Benchware
OraCPU
PL/SQL op
• [ops]
PL/SQL alg
• [ops]
OraSRV
In-memory
SQL
• [ms]
• [dbps]
• [tps]
• [rps]
OraSTO
SeqIO
• [GBps]
• [iops]
RandIO
• [GBps]
• [iops]
OraOLTP
OLTP Select
• [rps]
• [tps]
OLTP Update
• [rps]
• [tps]
OraLoad
TransLoad
• [rps]
• [tps]
BulkLoad
• [rps]
• [tps]
OraAgg
OraAgg &
Rep
• [rps]
• [tps]
Только Oracle Database, только PL/SQL и SYS.V_$%
МАШИНЫ БАЗ ДАННЫХ?
Предконфигурированные
аппаратно-программные
комплексы для СУБД
Кто, как не они должны
быть «проверены и
отмерены» для
практических целей?
TERADATA
Последние публикации Teradata c TPC-H:
Лицензируется по
«внутреннему Qph» –
tPerf [Traditional Performance]
EXADATA
Не публикуются tps, Qph…
«Паспортные показатели» (X6-8)
෍ 𝑉 × IOPS ≈ Const
IBM PURE DATA FOR
OPERATIONAL ANALYTICS
Не публикуются Qph…
«Паспортные данные» – про ввод-вывод
ВВОД-ВЫВОД
Самые репрезентативные и
повторяемые показатели для РСУБД?
[SQL] IOPS
Пропускная способность
Отзывчивость
(отклик на заданном IOPS)
GOOGLE TRENDS
«УРАВНЕНИЕ ВВОДА-
ВЫВОДА»?
Пропускная способность
= IOPS × размер блока ?
• В локальном случае
• При фиксированном
размере блока
OLTP
8K (или даже 4K)
IOPS
OLAP
32K
Bandwidth
ЗАМЕР IOPS:
УСТРОЙСТВО, ТОМ, SAN
dd
iflag=direct
oflag=direct
Линейная
скорость
Прикидочный
тест
iometer
Есть
сомнительные
результаты…
fio
Стандарт де-
факто
Множество
настроек
Размер
блока
DB=8k
1k 4k 16k 64k
256k
SPC-1 (если применимо)
“SQL IOPS”
Получение SQL IOPS для других СУБД?
Статистические представления (…IO_STATS…)
IOPS со стороны Oracle Database
Orion
(Oracle IO Numbers)
SLOB
(рекомендуют EMC,
Flashgrid)
Benchware
(?)
DBMS_RESOURCE_MANAGER
.CALIBRATE_IO
АТОМИЗАЦИЯ АГРЕГАТНЫХ
ПОКАЗАТЕЛЕЙ
tpmC
QpmH
SQL IOPS
SQL
bandwidth
САМЫЙ ПРАКТИЧНЫЙ
МЕТОД?
Прогон
реальной
нагрузки
ВОСПРОИЗВЕДЕНИЕ
НАГРУЗКИ: ТОЧНЫЙ ОПЫТ
Системы с полным API-доступом (обычно JSON via HTTP)
Журналирование и
«самозахват»
Повтор с интервалами
Разделение типов
нагрузки
(категорий
пользователей)
Масштабирование по
данным?
Средства эмуляции нагрузки
JMeter LoadRunner …
Средства на стороне СУБД
Oracle Real Application Testing
(Database Replay)
MS SQL Server Distributed Replay
ТОНКОСТИ «ЗАШНУРОВКИ»
Как
размножить
базу данных?
«Вегетативное
размножение»
Повторные со
случайным
сдвигом?
Наложение
реальных данных
(из открытых
данных)
Влияние на
аналитику
Предсказуемые
выборки
Пониженная
селективность
Влияние на
OLTP
Ключи,
индексы…
ТИРАЖИРУЕМЫЕ
ПРИЛОЖЕНИЯ
Wanted: 1С
Microsoft Dynamics AX Application Benchmark Toolkit
Oracle E-Business Suite Standard Benchamrks
Order-to-Cash OLTP Payroll …
SAPS [SAP Application Performance Standard] на модуле SD
ИТОГИ:
КАК ПОЛУЧАТЬ И
ИНТЕРПРЕТИРОВАТЬ?
Лучшее: правильная нагрузка
(захваченная, хуже – стандартная)
Значимое: показатели ввода-вывода
[IOPS для OLTP, пропускная способность для OLAP]
Внутриотладочное
(в поисках
сбалансированной
конфигурации):
TPC-нагрузки (HiBench, YCSB)
(возможно, микс по типу benCHmark)
История: опубликованные данные TPC…
СПАСИБО ЗА
ВНИМАНИЕ!
mailto:anikolaenko@ibs.ru
mailto:anikolaenko@acm.org
Изображение на главной странице: Пол Хадсон, CC-SA

More Related Content

Viewers also liked

Triptico citogenetica SMG 2011 1
Triptico citogenetica SMG 2011 1Triptico citogenetica SMG 2011 1
Triptico citogenetica SMG 2011 1CiberGeneticaUNAM
 
INGORCEWA Y SUS ASSOCIADOS.
INGORCEWA Y SUS ASSOCIADOS.INGORCEWA Y SUS ASSOCIADOS.
INGORCEWA Y SUS ASSOCIADOS.Orcino Malivert
 
Output Devices UoS Fsd
Output Devices UoS FsdOutput Devices UoS Fsd
Output Devices UoS FsdBadar Waseer
 
Casa design 2014
Casa design 2014Casa design 2014
Casa design 2014casadesign
 
Leptospirosis
LeptospirosisLeptospirosis
LeptospirosisDej8vu
 
Marxism vs. Pan Africanism: A Scholarly Debate
Marxism vs. Pan Africanism: A Scholarly DebateMarxism vs. Pan Africanism: A Scholarly Debate
Marxism vs. Pan Africanism: A Scholarly DebateRBG Communiversity
 
Cataleg de serveis de Dipsalut 2016
Cataleg de serveis de Dipsalut 2016Cataleg de serveis de Dipsalut 2016
Cataleg de serveis de Dipsalut 2016Dipsalut
 
Encontros divinos Zacharia Sitchin
Encontros divinos   Zacharia SitchinEncontros divinos   Zacharia Sitchin
Encontros divinos Zacharia SitchinCarlos Torres
 
VOCÊ SABIA?
VOCÊ SABIA?VOCÊ SABIA?
VOCÊ SABIA?jurondon
 
Fishparasitescol00lint (1)
Fishparasitescol00lint (1)Fishparasitescol00lint (1)
Fishparasitescol00lint (1)ElAmin Suliman
 
Being a Good Data Provider, by Alastair Dunning
Being a Good Data Provider, by Alastair DunningBeing a Good Data Provider, by Alastair Dunning
Being a Good Data Provider, by Alastair DunningAlastair Dunning
 
Palestra governantes invisiveis
Palestra governantes invisiveisPalestra governantes invisiveis
Palestra governantes invisiveisPanyatara
 

Viewers also liked (20)

Bites Snake Spider
Bites Snake SpiderBites Snake Spider
Bites Snake Spider
 
Triptico citogenetica SMG 2011 1
Triptico citogenetica SMG 2011 1Triptico citogenetica SMG 2011 1
Triptico citogenetica SMG 2011 1
 
INGORCEWA Y SUS ASSOCIADOS.
INGORCEWA Y SUS ASSOCIADOS.INGORCEWA Y SUS ASSOCIADOS.
INGORCEWA Y SUS ASSOCIADOS.
 
Acalmar
AcalmarAcalmar
Acalmar
 
Output Devices UoS Fsd
Output Devices UoS FsdOutput Devices UoS Fsd
Output Devices UoS Fsd
 
Choques (muito bom)
Choques (muito bom)Choques (muito bom)
Choques (muito bom)
 
Bondia.cat 28/02/2013
Bondia.cat 28/02/2013Bondia.cat 28/02/2013
Bondia.cat 28/02/2013
 
Casa design 2014
Casa design 2014Casa design 2014
Casa design 2014
 
Biossegurança
BiossegurançaBiossegurança
Biossegurança
 
Leptospirosis
LeptospirosisLeptospirosis
Leptospirosis
 
Marxism vs. Pan Africanism: A Scholarly Debate
Marxism vs. Pan Africanism: A Scholarly DebateMarxism vs. Pan Africanism: A Scholarly Debate
Marxism vs. Pan Africanism: A Scholarly Debate
 
General Seed Collection Guidelines for California Native Plant Species
General Seed Collection Guidelines for California Native Plant Species General Seed Collection Guidelines for California Native Plant Species
General Seed Collection Guidelines for California Native Plant Species
 
Cataleg de serveis de Dipsalut 2016
Cataleg de serveis de Dipsalut 2016Cataleg de serveis de Dipsalut 2016
Cataleg de serveis de Dipsalut 2016
 
1891 05
1891 051891 05
1891 05
 
Encontros divinos Zacharia Sitchin
Encontros divinos   Zacharia SitchinEncontros divinos   Zacharia Sitchin
Encontros divinos Zacharia Sitchin
 
VOCÊ SABIA?
VOCÊ SABIA?VOCÊ SABIA?
VOCÊ SABIA?
 
Fishparasitescol00lint (1)
Fishparasitescol00lint (1)Fishparasitescol00lint (1)
Fishparasitescol00lint (1)
 
Being a Good Data Provider, by Alastair Dunning
Being a Good Data Provider, by Alastair DunningBeing a Good Data Provider, by Alastair Dunning
Being a Good Data Provider, by Alastair Dunning
 
Palestra governantes invisiveis
Palestra governantes invisiveisPalestra governantes invisiveis
Palestra governantes invisiveis
 
Diari del 20 de març de 2014
Diari del 20 de març de 2014Diari del 20 de març de 2014
Diari del 20 de març de 2014
 

Similar to DBMS benchmarking overview

Андрей Николаенко, IBS. DBMS Benchmarks in a Nutshell: концентрированное обоз...
Андрей Николаенко, IBS. DBMS Benchmarks in a Nutshell: концентрированное обоз...Андрей Николаенко, IBS. DBMS Benchmarks in a Nutshell: концентрированное обоз...
Андрей Николаенко, IBS. DBMS Benchmarks in a Nutshell: концентрированное обоз...IBS
 
Как обслужить миллиард пользователей и отдать терабит трафика / Игорь Василье...
Как обслужить миллиард пользователей и отдать терабит трафика / Игорь Василье...Как обслужить миллиард пользователей и отдать терабит трафика / Игорь Василье...
Как обслужить миллиард пользователей и отдать терабит трафика / Игорь Василье...Ontico
 
Как обслужить миллиард пользователей и отдать терабит трафика
Как обслужить миллиард пользователей и отдать терабит трафикаКак обслужить миллиард пользователей и отдать терабит трафика
Как обслужить миллиард пользователей и отдать терабит трафикаIgor Vasiliev CCIE #19895
 
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...JSFestUA
 
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.Cisco Russia
 
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...Ontico
 
06 vasenin roganov siis_2013
06 vasenin roganov siis_201306 vasenin roganov siis_2013
06 vasenin roganov siis_2013Marina_creautor
 
05 HappyDev-lite'14 Александр Самолов. Автоматизация бирж, скорость и данные
05 HappyDev-lite'14 Александр Самолов. Автоматизация бирж, скорость и данные05 HappyDev-lite'14 Александр Самолов. Автоматизация бирж, скорость и данные
05 HappyDev-lite'14 Александр Самолов. Автоматизация бирж, скорость и данныеHappyDev
 
Телематика сложных машин. Введение. Технотон вебинар 02.04.2020
Телематика сложных машин. Введение. Технотон вебинар 02.04.2020Телематика сложных машин. Введение. Технотон вебинар 02.04.2020
Телематика сложных машин. Введение. Технотон вебинар 02.04.2020Technoton
 
Проектирование приложений в IBM Cognos ТМ1
Проектирование приложений в IBM Cognos ТМ1Проектирование приложений в IBM Cognos ТМ1
Проектирование приложений в IBM Cognos ТМ1Yuri Kudryavcev
 
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...Alexey Paznikov
 
Павел Сушин «Асинхронное программирование на С++: callbacks, futures, fibers»
Павел Сушин «Асинхронное программирование на С++: callbacks, futures, fibers»Павел Сушин «Асинхронное программирование на С++: callbacks, futures, fibers»
Павел Сушин «Асинхронное программирование на С++: callbacks, futures, fibers»Platonov Sergey
 
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностейПакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностейCisco Russia
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1Michael Karpov
 
High performance computing - принципы проектирования сети
High performance computing - принципы проектирования сетиHigh performance computing - принципы проектирования сети
High performance computing - принципы проектирования сетиMUK
 
Новости и анонсы конференции Oracle Open World 2013
Новости и анонсы конференции Oracle Open World 2013Новости и анонсы конференции Oracle Open World 2013
Новости и анонсы конференции Oracle Open World 2013Andrey Akulov
 
Как развернуть и настроить DFA фабрику – основные шаги
Как развернуть и настроить DFA фабрику – основные шагиКак развернуть и настроить DFA фабрику – основные шаги
Как развернуть и настроить DFA фабрику – основные шагиCisco Russia
 
Twisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonTwisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonAndrey Smirnov
 
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...Ontico
 

Similar to DBMS benchmarking overview (20)

Андрей Николаенко, IBS. DBMS Benchmarks in a Nutshell: концентрированное обоз...
Андрей Николаенко, IBS. DBMS Benchmarks in a Nutshell: концентрированное обоз...Андрей Николаенко, IBS. DBMS Benchmarks in a Nutshell: концентрированное обоз...
Андрей Николаенко, IBS. DBMS Benchmarks in a Nutshell: концентрированное обоз...
 
Как обслужить миллиард пользователей и отдать терабит трафика / Игорь Василье...
Как обслужить миллиард пользователей и отдать терабит трафика / Игорь Василье...Как обслужить миллиард пользователей и отдать терабит трафика / Игорь Василье...
Как обслужить миллиард пользователей и отдать терабит трафика / Игорь Василье...
 
Как обслужить миллиард пользователей и отдать терабит трафика
Как обслужить миллиард пользователей и отдать терабит трафикаКак обслужить миллиард пользователей и отдать терабит трафика
Как обслужить миллиард пользователей и отдать терабит трафика
 
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
 
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
 
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...
 
supercluster
superclustersupercluster
supercluster
 
06 vasenin roganov siis_2013
06 vasenin roganov siis_201306 vasenin roganov siis_2013
06 vasenin roganov siis_2013
 
05 HappyDev-lite'14 Александр Самолов. Автоматизация бирж, скорость и данные
05 HappyDev-lite'14 Александр Самолов. Автоматизация бирж, скорость и данные05 HappyDev-lite'14 Александр Самолов. Автоматизация бирж, скорость и данные
05 HappyDev-lite'14 Александр Самолов. Автоматизация бирж, скорость и данные
 
Телематика сложных машин. Введение. Технотон вебинар 02.04.2020
Телематика сложных машин. Введение. Технотон вебинар 02.04.2020Телематика сложных машин. Введение. Технотон вебинар 02.04.2020
Телематика сложных машин. Введение. Технотон вебинар 02.04.2020
 
Проектирование приложений в IBM Cognos ТМ1
Проектирование приложений в IBM Cognos ТМ1Проектирование приложений в IBM Cognos ТМ1
Проектирование приложений в IBM Cognos ТМ1
 
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
 
Павел Сушин «Асинхронное программирование на С++: callbacks, futures, fibers»
Павел Сушин «Асинхронное программирование на С++: callbacks, futures, fibers»Павел Сушин «Асинхронное программирование на С++: callbacks, futures, fibers»
Павел Сушин «Асинхронное программирование на С++: callbacks, futures, fibers»
 
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностейПакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1
 
High performance computing - принципы проектирования сети
High performance computing - принципы проектирования сетиHigh performance computing - принципы проектирования сети
High performance computing - принципы проектирования сети
 
Новости и анонсы конференции Oracle Open World 2013
Новости и анонсы конференции Oracle Open World 2013Новости и анонсы конференции Oracle Open World 2013
Новости и анонсы конференции Oracle Open World 2013
 
Как развернуть и настроить DFA фабрику – основные шаги
Как развернуть и настроить DFA фабрику – основные шагиКак развернуть и настроить DFA фабрику – основные шаги
Как развернуть и настроить DFA фабрику – основные шаги
 
Twisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonTwisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в Python
 
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
 

More from Andrei Nikolaenko

Байтоадресуемая энергонезависимая память и СУБД
Байтоадресуемая энергонезависимая память и СУБДБайтоадресуемая энергонезависимая память и СУБД
Байтоадресуемая энергонезависимая память и СУБДAndrei Nikolaenko
 
Машины баз данных: концентрированное обозрение
Машины баз данных: концентрированное обозрениеМашины баз данных: концентрированное обозрение
Машины баз данных: концентрированное обозрениеAndrei Nikolaenko
 
DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)
DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)
DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)Andrei Nikolaenko
 
Нереляционный SQL
Нереляционный SQLНереляционный SQL
Нереляционный SQLAndrei Nikolaenko
 
Инструменты больших данных: от конкуренции — к интеграции
Инструменты больших данных: от конкуренции — к интеграцииИнструменты больших данных: от конкуренции — к интеграции
Инструменты больших данных: от конкуренции — к интеграцииAndrei Nikolaenko
 
Машины баз данных на Web-scale IT — 2017 (РИТ++)
Машины баз данных на Web-scale IT — 2017 (РИТ++)Машины баз данных на Web-scale IT — 2017 (РИТ++)
Машины баз данных на Web-scale IT — 2017 (РИТ++)Andrei Nikolaenko
 
DBMS benchmarking overview and trends for Moscow ACM SIGMOD Chapter
DBMS benchmarking overview and trends for Moscow ACM SIGMOD ChapterDBMS benchmarking overview and trends for Moscow ACM SIGMOD Chapter
DBMS benchmarking overview and trends for Moscow ACM SIGMOD ChapterAndrei Nikolaenko
 
SQL+NoSQL: On the Way to Converged Data Management Platforms
SQL+NoSQL: On the Way to Converged Data Management PlatformsSQL+NoSQL: On the Way to Converged Data Management Platforms
SQL+NoSQL: On the Way to Converged Data Management PlatformsAndrei Nikolaenko
 
NoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospectsNoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospectsAndrei Nikolaenko
 
Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013
Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013
Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013Andrei Nikolaenko
 
Rapid Deployment of Hadoop Development Environments
Rapid Deployment of Hadoop Development EnvironmentsRapid Deployment of Hadoop Development Environments
Rapid Deployment of Hadoop Development EnvironmentsAndrei Nikolaenko
 
Introductory Keynote at Hadoop Workshop by Ospcon (2014)
Introductory Keynote at Hadoop Workshop by Ospcon (2014)Introductory Keynote at Hadoop Workshop by Ospcon (2014)
Introductory Keynote at Hadoop Workshop by Ospcon (2014)Andrei Nikolaenko
 
IBS at IBM Fast Data (Moscow, 2014)
IBS at IBM Fast Data (Moscow, 2014)IBS at IBM Fast Data (Moscow, 2014)
IBS at IBM Fast Data (Moscow, 2014)Andrei Nikolaenko
 

More from Andrei Nikolaenko (13)

Байтоадресуемая энергонезависимая память и СУБД
Байтоадресуемая энергонезависимая память и СУБДБайтоадресуемая энергонезависимая память и СУБД
Байтоадресуемая энергонезависимая память и СУБД
 
Машины баз данных: концентрированное обозрение
Машины баз данных: концентрированное обозрениеМашины баз данных: концентрированное обозрение
Машины баз данных: концентрированное обозрение
 
DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)
DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)
DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)
 
Нереляционный SQL
Нереляционный SQLНереляционный SQL
Нереляционный SQL
 
Инструменты больших данных: от конкуренции — к интеграции
Инструменты больших данных: от конкуренции — к интеграцииИнструменты больших данных: от конкуренции — к интеграции
Инструменты больших данных: от конкуренции — к интеграции
 
Машины баз данных на Web-scale IT — 2017 (РИТ++)
Машины баз данных на Web-scale IT — 2017 (РИТ++)Машины баз данных на Web-scale IT — 2017 (РИТ++)
Машины баз данных на Web-scale IT — 2017 (РИТ++)
 
DBMS benchmarking overview and trends for Moscow ACM SIGMOD Chapter
DBMS benchmarking overview and trends for Moscow ACM SIGMOD ChapterDBMS benchmarking overview and trends for Moscow ACM SIGMOD Chapter
DBMS benchmarking overview and trends for Moscow ACM SIGMOD Chapter
 
SQL+NoSQL: On the Way to Converged Data Management Platforms
SQL+NoSQL: On the Way to Converged Data Management PlatformsSQL+NoSQL: On the Way to Converged Data Management Platforms
SQL+NoSQL: On the Way to Converged Data Management Platforms
 
NoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospectsNoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospects
 
Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013
Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013
Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013
 
Rapid Deployment of Hadoop Development Environments
Rapid Deployment of Hadoop Development EnvironmentsRapid Deployment of Hadoop Development Environments
Rapid Deployment of Hadoop Development Environments
 
Introductory Keynote at Hadoop Workshop by Ospcon (2014)
Introductory Keynote at Hadoop Workshop by Ospcon (2014)Introductory Keynote at Hadoop Workshop by Ospcon (2014)
Introductory Keynote at Hadoop Workshop by Ospcon (2014)
 
IBS at IBM Fast Data (Moscow, 2014)
IBS at IBM Fast Data (Moscow, 2014)IBS at IBM Fast Data (Moscow, 2014)
IBS at IBM Fast Data (Moscow, 2014)
 

DBMS benchmarking overview

  • 2. ГОНКИ TPC-C 296 результатов Simfoware, Oracle DB 7–8, DB2/400 и UDB, Informix, MS SQL Server, Sybase ASE …
  • 4. ПЛАН Что случилось с TPC-C? • Ранняя история TPC • TPC-A/B, -С, -H, -E • TPC: устаревшие и новые • Особенности публикации Бенчмарки новой волны «Карманные средства» для замера Ввод-вывод Самый практичный метод
  • 5. TP1 Середина 1970-х, бенчмарк IBM обработка банковских транзакций Idefix: 100 tps (1973, «банк с 1тыс. отделений и 10 тыс. операционистов») Пакетный режим без сети без времени на реакцию оператора Начало 1980-х: фантастические победные реляции на 10 ktps Рынок вышел на миллиардные обороты … с самым быстрорастущим сегментом с фокусом на OLTP …но конечные заказчики не получали и 1 ktps …
  • 6. ДЭВИД ДЕВИТТ: ВИСКОНСИНСКИЙ БЕНЧМАРК Альтернативный, более строго детерминированный бенчмарк Нацелен на борьбу с «бенчмарковыми войнами», но разжёг их ещё сильнее! Из-за низких результатов Oracle DB появилась «оговорка Девитта» (DeWitt clause) Лицензия на СУБД запрещает публикацию каких-либо тестов производительности СУБД
  • 7. ДЖИМ ГРЕЙ: DEBITCREDIT В пику висконсинскому бенчмарку, на базе предметной области из TP1 Требуется публикация суммарной стоимости системы, включая оборудование, лицензии, 5 лет сопровождения Тест специфицирован на языке функциональных требований, без требований к коду или фрагментов кода Введены правила масштабирования теста по количеству пользователей и размерам таблиц с пропорциональным ростом Введено ограничение на время отлика: 95 % транзакций должно завершиться за 1 сек.
  • 8. ГЛАВНОЕ: ОГРАНИЧЕНИЕ НА ВРЕМЯ ОТКЛИКА Изображение: ©Dell, 2013
  • 9. TPC.ORG Бенчмарковые войны продолжались: как проверить результат? Нужна некоммерческая организация 1988: Transaction Processing Performance Council – Совет по оценке производительности транзакционной обработки Основатель – Омри Серлин и 8 согласных вендоров Actian Cisco Cloudera Dell DataCore Fujitsu HPE Hitachi Huawei IBM Inspur Intel Lenovo Microsoft Oracle Pivotal Red Hat SAP Teradata VMWare Члены на 2016 год:
  • 10. TPC-A И TPC-B: ТЕСТ READ 100 bytes from TTY (AID, TID, BID, DELTA) BEGIN TRANSACTION UPDATE ACCOUNT WHERE ACCOUNT_ID = AID: READ ACCOUNT_BALANCE FROM ACCOUNT SET ACCOUNT_BALANCE = ACCOUNT_BALANCE + DELTA WRITE ACCOUNT_BALANCE TO ACCOUNT WRITE TO HISTORY: AID, TID, BID, DELTA, TIME_STAMP UPDATE TELLER WHERE TELLER_ID = TID: SET TELLER_BALANCE = TELLER_BALANCE + DELTA WRITE TELLER_BALANCE TO TELLER UPDATE BRANCH WHERE BRANCH_ID = BID: SET BRANCH_BALANCE = BRANCH_BALANCE + DELTA WRITE BRANCH_BALANCE TO BRANCH COMMIT TRANSACTION WRITE 200 bytes to TTY (AID, TID, BID, DELTA) На основе TP1 – обработка розничнобанковских транзакций
  • 11. TPC-A И TPC-B: МОДЕЛЬ BRANCH B ACCOUNT B*100K 100K HISTORY B*2.6M TELLER B*1010 Десятисекундный цикл у каждого терминала 1 транзакция в секунду на каждое отделение Отклик от 90% транзакций – менее 2 сек Считается: средний показатель транзакций в секунду за 15 мин
  • 12. TPC-A И TPC-B: РАЗЛИЧИЯ TPC-A Терминалы Время на реакцию пользователя TPC-B Серверный тест Сокращённая история (30 дней)
  • 13. TPC-A И TPC-B: КРИТИКА 1995: признаны несостоятельными Последний результат (DEC, 1994) 3700 tpsA 4800 $/tpsA Первый результат (HP, 1990) 38.2 tpsA 29200 $/tpsA Наследие TP1 Слишком простые, чтобы исключить подстройки Невероятные разбросы результатов
  • 14. TPC-C: УСЛОЖНЕНИЕ Пороги отклика для 90% транзакций Менее 5 сек для интерактивных операций Менее 20 сек для пакетных процессов Больше вариаций 9 таблиц Вставки, обновления, удаления, отмены операций Доступ по первичными и вторичным ключам 5 типов транзакций NEW-ORDER •новая заявка от клиента PAYMENT •факт платежа •обновление баланса клиента DELIVERY •заявка на доставку •(пакетный процесс) ORDER-STATUS •проверка статуса последней заявки от клиента STOCK-LEVEL •проверка уровня запасов на складе 45% 43% 4% 4% 4%
  • 15. МОДЕЛЬ ДАННЫХ TPC-C WAREHOUSE W DISTRICT W*10 10 CUSTOMER W*30K 3K HISTORY W*30K+ 1+ ITEM 100K (fix) STOCK W*100K100K W ORDER W*30K+1+ ORDER-LINE W*300K+ 10–15 NEW-ORDER W*5K0–1
  • 16. TPC-C: МАСШТАБИРОВАНИЕ Каждый новый склад → +10 участков, + 100 единиц хранения, +300 тыс. клиентов Максимум – 1,2 tpmC на терминал 10 терминалов на склад Квант масштабирования – склад (W)
  • 17. TPC-C: КЛАСТЕРНЫЕ И НЕКЛАСТЕРНЫЕ Кластерные Несколько узлов Без разделяемых ресурсов (федеративные) Сегментирование С общим ресурсом хранения (RAC) Некластерные Один узел
  • 18. TPC-C: МЕТРИКИ tpmC Транзакций в минуту tpmC / $ Стоимость транзакции Полная стоимость комплекса за 3 года W / ktpmC Энергозатраты на [кило] транзакцию
  • 19. ИНТЕРПРЕТАЦИЯ TPC-C По Алану Паркеру (Alan Parker. Tuning databases on Solaris platform. Prentice-Hall, 2002) • …не только создание заявокtpmC × 2 • …если нет монитора транзакцийtpmC / 2 • …если на стороне оператора клиент типа Oracle FormstpmC / 3 • …если используются легковесные экранные формы (curses и т. п.)tpmC × 2 / 3 • …если в приложении не было тонкой настройки SQLtpmC / 2 • …если параллельно нагрузке формируются отчёты или выполняются пакетные заданияtpmC / 2
  • 20. TPC-C: КРИТИКА 1990-Х Даже оптовики работали по-другому! Заявка: несколько неуспешных поисков с подстановочными символами После каждой заявки печатается бумажный отчёт (иногда трижды) «Обновление балансов» на каждой онлайн-операции при больших нагрузках невозможно → вставка + пакетный досчёт остатков Простая логика Нет декларативных ограничений целостности Нет триггерной логики Нетипичные нагрузки А как же отчётность? А как же системы поддержки принятия решений?
  • 21. TPC: ОТМЕНЁННОЕ TPC-D 1995–1999 Первая попытка OLAP-теста TPC-R 2001–2005 Отчётность TPC-W 2001–2005 Онлайн- веб- коммерция
  • 22. TPC-H 1999 год: OLAP vs OLTP “Ad-hoc decision support” Вместо признанного неудачным TPC-D «Весовые категории» 100 ГБ 300 ГБ 1 ТБ 3 ТБ 10 ТБ 30 ТБ 100 ТБ Параллельная нагрузка 22 вида сложных запросов 2 типа обновлени я хранилища
  • 24. TPC-H: РЕЗУЛЬТАТЫ-2016 Напрямую трудно применимо к нереляционным СУБД Есть варианты трансляции для MOLAP (MDX) Были сообщения о применении для Apache Hive Exasol MS SQL Server Oracle Database Actian Vector От 1 до 10 результатов в каждой «весовой категории»
  • 25. TPC-E: «ПРАКТИЧНЫЙ OLTP» Тоже OLTP, но более «гибридный» Включённые ограничения целостности Без мониторов транзакций Больше чтений Больше видов нагрузок
  • 27. TPC-E: МОДЕЛЬ ДАННЫХ Изображение: ©Transaction Processing Council, 2009
  • 28. 78 результатов Все – некластерные, MS SQL Server на Windows Server x64
  • 29. 11 KTPSE, $144/TPSE (1,6 MIO) Изображение: ©Lenovo, © TPC, 2015
  • 31. НОВЫЕ TPC-X И TPCX-X TPC-DI ETL-нагрузки TPC_DI_RPS 0 результатов TPC-DS Поддержка принятия решений, «включая большие данные» («включая Hadoop/Spark») QphDS@Size 0 результатов TPCx-BB Экспресс- бенчмарк для аналитических больших данных на базе BigBench BBpm@Size 0 результатов TPCx-HS Экспресс- бенчмарк для HDFS-совместимых систем по типу TeraSort HSph@Size От 1 до 4 результатов в разных «весовых категориях»
  • 32. ПУБЛИКАЦИЯ? Публикация на TPC.org Академическая или исследовательская публикация, не применимая с маркетинговыми целями С однозначным утверждением, что полученный результат не является сравнимым с результатами TPC.org С разрешения TPC.org Запрещено публиковать результаты TPC-тестов, полученные по средствами TPC, кроме следующих случаев: Обязательный аудит – sizing.com
  • 33. «ОГОВОРКА ДЕВИТТА» В 2016 ГОДУ? MSFT EULA • “You may not disclose the results of any benchmark test … without Microsoft’s prior written approval” OTN Lic. • “You may not disclose results of any Program benchmark tests without Oracle’s prior consent” IBM IPLA • “Licensee may disclose the results of any benchmark test of the Program or its subcomponents to any third party provided that Licensee, if … A) … B) … C)…”
  • 34. ОСНОВНЫЕ БЕНЧМАРКИ «НОВОЙ ВОЛНЫ» Terrasort Benchmark BigBench Intel HiBench Yahoo! Cloud Services Benchmark • Воплощён в TPCx-HS • Воплощён в TPCx-BB • Серия тестов для Map-Reduce • Набор «эталонных обстрелов» для NoSQL-систем
  • 35. INTEL HIBENCH ДЛЯ HADOOP Изображение:Intel,2013
  • 36. YAHOO! CLOUD SERVICES BENCHMARK Новый инструмент «бенчмаркового маркетинга» Смело используется исследователями (V. Abramova et al. Experimental Evaluation of NoSQL Databases // IJDMS Vol.6, №3, 2014) Cassandra HBase Elastic search MongoDB Oracle NoSQL OrientDB Redis Scalaris Tarantool Voldemort Обстрел с одной нагрузочной станции Вместо транзакции – атомарная операция (возможно, чтение нескольких записей)
  • 39. PGBENCH TPC-B Стандартная часть PostgreSQL Запуск одной строкой Фактический стандарт для нужд PostgreSQL Что лучше – XFS или ext4? Таблицы на SSD, индексы на HDD, или наоборот? Размер блока – 4K или 8K?
  • 40. SYSBENCH Широко используется для внутренних сравнений MySQL, MariaDB и их форков Своеобразные тесты, не похожие на какие-либо стандартные бенчмарки Утилита MySQL (автор – Алексей Копытов) fileio cpu memory threads mutex oltp
  • 42. HAMMERDB Свободная Java-GUI-программа, запускающая TPC-C (?) и TPC-H (?) с поддержкой множества СУБД: Oracle Database Microsoft SQL Server IBM DB2 TimesTen MySQL MariaDB PostgreSQL Postgres Plus AS Greenplum DB Redis Amazon Aurora (MySQL) Amazon Redshift (ParAccel) Trafodion SQL on Hadoop
  • 43. HAMMERDB – TPC-C В «ОДИН КЛИК»?
  • 44. HAMMERDB: TPC, НО НЕ СОВСЕМ… При этом нет востребованных в современных бенчмарков TPC-E TPC-DS TPC-H Единственная нагрузочная станция TPC-C Не эмулируется нагрузка всего окружения Нагрузочная станция – в роли единственного монитора транзакций
  • 45. HAMMERDB: ПОПУЛЯРНОСТЬ Используется вендорами оборудования и платформ Но аккуратно, в формате «блог нашего сотрудника» Хаб с результатами тестов Раздел «Performance Data»
  • 46. SWINGBENCH TPC-C-подобная нагрузка на Oracle Database и Timesten + Своеобразный OLTP- тест с большой PL/SQL-логикой Специфичные для Oracle DB средства мониторинга и анализа (AWR, etc.) Поддержка координатора GUI и командная строка Сравнимость только внутри инструмента Нерепрезентативные результаты в условиях RAC
  • 47. DELL BENCHMARK FACTORY FOR DATABASES Oracle Database MySQL MS SQL Server SQLite SQL Anywhere Коммерческий инструмент (наследие Quest Software) TPC-C TPC-D TPC-E TPC-H ASP3AP Поддерживает архитектуру с несколькими нагрузочными станциями (Windows)
  • 48. OSDLDBT.SOURCEFORGE.NET •TPC-WDBT-1 •TPC-CDBT-2 •TPC-HDBT-3 •TPC-AppDBT-4 •TPC-EDBT-5 While the inspiration for these workloads are the TPC-<x…>, workloads are entirely different and results obtained from them should not and can not be compared to TPC results. The use of any supplied results of these tests for commercial purposes is expressly prohibited. MySQL PostgreSQL …расширяемо
  • 49. OLTPBENCH github.com/oltpbenchmark/oltpbench Java-средство для командной строки Для любой РСУБД с поддержкой JDBC Особая версия для Hstore (VoltDB ) TPC-C Wikipedia Synthetic Resource Stresser Twitter Epinions.com TATP AuctionMark SEATS YCSB JPAB (Hibernate) CH- benCHmark Voter SIBench (Snapshot Isolation) SmallBank LinkBench
  • 50. TPC TOOLS Средства от Совета по оценке производительности транзакционной обработки Исходные тексты на Си Нет для TPC-C: только «сэмпл» в спецификации Вся соединяемост ь и прочая работа – своими руками
  • 51. TPC-* BY EXAMPLE По «отчётам о полном раскрытии информации» на TPC.org
  • 52. RPE2 SAP SD 2-Tier TPC-C TPC-HSPEC jbb2005 SPEC CPU2006 Суперкомпозитный показатель от Gartner (Ideas) RPE2-ERP RPE2-Java RPE2-OLTP RPE2-Compute Intensive
  • 53. BENCHWARE «Швейцарский нож» от Манфреда Дрозда: Peakmarks Benchware OraCPU PL/SQL op • [ops] PL/SQL alg • [ops] OraSRV In-memory SQL • [ms] • [dbps] • [tps] • [rps] OraSTO SeqIO • [GBps] • [iops] RandIO • [GBps] • [iops] OraOLTP OLTP Select • [rps] • [tps] OLTP Update • [rps] • [tps] OraLoad TransLoad • [rps] • [tps] BulkLoad • [rps] • [tps] OraAgg OraAgg & Rep • [rps] • [tps] Только Oracle Database, только PL/SQL и SYS.V_$%
  • 54. МАШИНЫ БАЗ ДАННЫХ? Предконфигурированные аппаратно-программные комплексы для СУБД Кто, как не они должны быть «проверены и отмерены» для практических целей?
  • 55. TERADATA Последние публикации Teradata c TPC-H: Лицензируется по «внутреннему Qph» – tPerf [Traditional Performance]
  • 56. EXADATA Не публикуются tps, Qph… «Паспортные показатели» (X6-8) ෍ 𝑉 × IOPS ≈ Const
  • 57. IBM PURE DATA FOR OPERATIONAL ANALYTICS Не публикуются Qph… «Паспортные данные» – про ввод-вывод
  • 58. ВВОД-ВЫВОД Самые репрезентативные и повторяемые показатели для РСУБД? [SQL] IOPS Пропускная способность Отзывчивость (отклик на заданном IOPS)
  • 60. «УРАВНЕНИЕ ВВОДА- ВЫВОДА»? Пропускная способность = IOPS × размер блока ? • В локальном случае • При фиксированном размере блока OLTP 8K (или даже 4K) IOPS OLAP 32K Bandwidth
  • 61. ЗАМЕР IOPS: УСТРОЙСТВО, ТОМ, SAN dd iflag=direct oflag=direct Линейная скорость Прикидочный тест iometer Есть сомнительные результаты… fio Стандарт де- факто Множество настроек Размер блока DB=8k 1k 4k 16k 64k 256k SPC-1 (если применимо)
  • 62. “SQL IOPS” Получение SQL IOPS для других СУБД? Статистические представления (…IO_STATS…) IOPS со стороны Oracle Database Orion (Oracle IO Numbers) SLOB (рекомендуют EMC, Flashgrid) Benchware (?) DBMS_RESOURCE_MANAGER .CALIBRATE_IO
  • 65. ВОСПРОИЗВЕДЕНИЕ НАГРУЗКИ: ТОЧНЫЙ ОПЫТ Системы с полным API-доступом (обычно JSON via HTTP) Журналирование и «самозахват» Повтор с интервалами Разделение типов нагрузки (категорий пользователей) Масштабирование по данным? Средства эмуляции нагрузки JMeter LoadRunner … Средства на стороне СУБД Oracle Real Application Testing (Database Replay) MS SQL Server Distributed Replay
  • 66. ТОНКОСТИ «ЗАШНУРОВКИ» Как размножить базу данных? «Вегетативное размножение» Повторные со случайным сдвигом? Наложение реальных данных (из открытых данных) Влияние на аналитику Предсказуемые выборки Пониженная селективность Влияние на OLTP Ключи, индексы…
  • 67. ТИРАЖИРУЕМЫЕ ПРИЛОЖЕНИЯ Wanted: 1С Microsoft Dynamics AX Application Benchmark Toolkit Oracle E-Business Suite Standard Benchamrks Order-to-Cash OLTP Payroll … SAPS [SAP Application Performance Standard] на модуле SD
  • 68. ИТОГИ: КАК ПОЛУЧАТЬ И ИНТЕРПРЕТИРОВАТЬ? Лучшее: правильная нагрузка (захваченная, хуже – стандартная) Значимое: показатели ввода-вывода [IOPS для OLTP, пропускная способность для OLAP] Внутриотладочное (в поисках сбалансированной конфигурации): TPC-нагрузки (HiBench, YCSB) (возможно, микс по типу benCHmark) История: опубликованные данные TPC…