TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Functions

432 views

Published on

An Approach to Verification of Correctness of Data Migration between DBMS Using Cryptographic Hash Functions

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
432
On SlideShare
0
From Embeds
0
Number of Embeds
108
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Functions

  1. 1. Подход к верификации корректности миграции данных между СУБД с использованием криптографических хэш-функций Санкт-Петербургский государственный университет Кафедра системного программирования ЗАО «Ланит-Терком» Журавлев М. М. Полозов В. С. mzhuravlev@math.spbu.ru victorp@math.spbu.ru
  2. 2. Контекст Проект миграции промышленной ДБ кредитного подразделения одного из крупных банков РФ из СУБД MS SQL Server 2005 в Oracle 11gR2.
  3. 3. Постановка задачи Верифицировать корректность перегрузки данных из исходной БД в целевую с учетом совершённых преобразований.
  4. 4. Подход к решению 1. Для таблиц исходной БД вычислить: – Количество записей. – Набор хэшей. 2. Аналогично для целевой. 3. Сравнить.
  5. 5. Вычисление хэшей Требование: независимость от порядка записей. Решение: 1. MD5 для каждой записи. 2. XOR MD5
  6. 6. Использование в тестировании 1. В процессе ночной перегрузки. 2. В трассах. Совместно используются: ● Инструмент записи и воспроизведения действий пользователя. ● Журналирующие триггеры. ● Процедура вычисления набора хэшей по таблице.
  7. 7. Масштаб ● Размер данных в исходной базе составляет порядка 6 терабайт в 2410 таблицах. ● Размер кода - 2.5 миллиона строк кода в хранимых процедурах. ● Получившийся объем разработанного кода составил 1.5KLOC на F#, 0.3KLOC на cmd/shell, 0.4KLOC на Java. ● Объем сгенерированного кода – 144КLOC на PL/SQL (8,4Mb) и 215KLOC на T-SQL (18,3Mb).
  8. 8. Производительность Подмножество (4M записей) таблицы с 41 INT, 8 VARCHAR, 13 DATETIME столбцов
  9. 9. Благодарю за внимание!

×