Az alábbiakban bemutatjuk, hogy a Production Database Reducer milyen szerkezetű adatbázisban került lefejlesztésre, teljeskörű tesztelésre.
A fejlesztés és a tesztelés az adatbáziskezelők következő verzióiban történt:
Postgresql : 8
Db2 : 9
Mssql : 10
Oracle : 11
A fejlesztői adatbázis az alábbi szerkezetű:
A föntebbi táblaszerkezetben igyekeztünk megvalósítani a valóságban is előforduló tábla-, adat- és kulcsstruktúrát.
Az ábrán látható prodsch2.all_typed_columns tábla arról árulkodik, hogy a Postgresql fejlesztői adatbázisa látható föntebb.
Ez a tábla az, amelybe az adott adatbázis kezelő által támogatott összes elemi adattípusát felvettük, hogy a teszt táblába
történő adatmásolást teszteljük.
Ezt a táblát az Oracle, Mssql és Db2 fejlesztői adatbázisokban más-más mezőkkel definiáltuk úgy, hogy az említett RDBMS-ek
által támogatott összes elemi adattípust felvegyük.
Az összes többi tábla a Postgresql táblákkal azonos (eltérő adattípusok miatt lehet minimális eltérés).
Az összes kulcs és az adatok a táblákban szintén azonosak az egyes implementációk esetében.
A föntebbi táblákba kevés, kisebb mint 20-20 rekordot vettünk fel.
A cél nem elsősorban a sebesség, hanem a helyesség, és a teszt adatbázis előállításának szemmel történő minél könnyebb tesztelése, ellenőrzése volt.
(Automatikus tesztjeink lefutása után az eredményeket kézzel is ellenőriztük.
Átmentek-e helyesen az adatok a teszt táblákba, a nagyobb illetve bináris adatok, xml-ek, stb.)
Majd ez után.
Generáltunk 18 millió rekordot ebbe a fejlesztői adatbázisba.
Ennek eredményeképp most van egy 4-5GB-os adatbázisunk.
Egy 31.83% adatbázist az eredetiből kreálva (export és import is, de deperszinalizáció nélkül), ez tartott:
Oracle: 111 perc
Mssql: 39 perc
Db2: 76 perc
Postgresql: 46 perc
A környezet:
OS: Windows 10 Home x64
RAM: 8 GB DDR3 1333 MHz
CPU: 2x2.16 GHz, 1MB L2
HDD: SSD
Saját tapasztalatunk valós környezetben történő Production Database Reducer futtatásból:
Sok 100 millió record adatbázisból > pár ezer record teszt adatbázis: kb.3 óra alatt.
Kb.32 millió record adatbázisból > kb 1.8 millió record teszt adatbázis: kb.2 óra alatt.
A fönti eredményeink nagyvállalati adatbázis szerverről, Oracle környezetből valók.
Az eredmény mindkét esetben egy 100%-osan valid tesztelői adatbázis lett.