Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Partitioning megvalósítása egy konkrét alkalmazásban Nagyméretű adattáblák szelídítése partícionálással.

Hasonló előadás


Az előadások a következő témára: "Partitioning megvalósítása egy konkrét alkalmazásban Nagyméretű adattáblák szelídítése partícionálással."— Előadás másolata:

1 Partitioning megvalósítása egy konkrét alkalmazásban Nagyméretű adattáblák szelídítése partícionálással

2 Bemutatkozás Szederkényi Zsolt Click On Informatikai Kft. Ügyvezető

3 Miről lesz szó? Minimális infó Click On-ról
Minimális infó magáról a partícionálásról Esettanulmány Egy konkrét példán keresztül, de általános megközelítésben Nem lesznek konkrét rekordszámok, futási idők, hardware paraméterek, csak nagyságrendek

4 -ról CLICK ON Kft. kizárólag magyar tulajdonú, független technológiai vállalkozás Meghatározó tevékenység Alkalmazás és rendszerfejlesztés Tanácsadás Kompetencia területek CRM Portál megoldások Ügyfélszolgálati megoldások Dokumentum menedzsment Ügyviteli rendszerek Néhány fontosabb referencia ISM Középületépítő Rt. Lattmann Kft. (St Gobain Co.) MATÁV MTA és intézményei Strabag Kft. TVK UPC Magyarország Kft. Vertesz Elektrronikai Kft (Group Schneider Co.) MOL A BBJ Book Of Lists kiadványa (2003): Click On-t a 49. helyre sorolta a magyarországi fejlesztőcégek között

5 Oracle partícionálás (általános áttekintés)
Tartomány Lista Hash Vegyes Hónapok szerinti felosztás Előző hónapok csak olvashatók Rendelések tábla

6 Nagyméretű adatbázisok (VLDB) támogatása vegyes partícionálással
Vegyes: tartomány és lista partícionálás JAN FEB OKT NOV DEC Bp Győr Miskolc Pécs Szeged

7 Egy konkrét feladat A kihívás
Egy távközlési cég hívásadatainak elemzése Limitált hardware erőforrások 7*24 adatszolgáltatás 7*24 adatbetöltés

8 Kezelendő adatok Hívásadatok legalább 1 évnyi on-line
(milliárdos nagyságrend) Hívásadatok különböző forrásból Központok felől Billing rendszerekből Előfeldolgozó rendszerekből Ügyféladatok (milliós nagyságrend)

9 Feladat Különböző forrásból származó (elméletileg azonos tartalmú) hívásadatok összevetése Különböző szempontok szerinti standardizálható lekérdezések Az egész adatmennyiség folyamatos elemzése Csalásfelderítés (fraud) Adatszolgáltatási kötelezettségek (egyszerre OLTP és Datawarehouse jellegű elemzések, lekérdezések)

10 Tervezés „1.0” (Partitioning nélkül)
Táblák Hívásadatok (A, B, C), indexekkel Ügyféladatok Betöltés Batch jelleggel érkezik az input (TXT), SQLLDER Lekérdezés SQL-ekkel

11 Eredmény 1.0 : csőd! Import Egy napi adat betöltése 3 napig tart !!!
Export (Backup) Megoldhatatlan Tuning Oracle varázsparaméterek Oprendszer Diszkek Memória

12 Na még 1*! (Tervezés 2.0) Import
Szedjük le az indexeket különben lehetetlen insert-álni ennyi rekordot Az egész tábláról? Csak az aktuális idősávról Export (Backup) Bontsuk időszeletekre hisz mindig csak az újabb időszakot kell menteni Régebbi adatok törlése Bontsuk szeletekre az adatbázist, a régebbi szeletet mindig „irtsuk ki”

13 Megoldási lehetőségek
Időszeletek Heti blokk a hívásrekordoknak Havi blokk az ügyféladatoknak Verzió A Legyen annyi tábla ahány időszak, majd a lekérdezések eldöntik melyik táblából keressenek Verzió B Funkciónként egy tábla, Oracle partíciókkal

14 Előkonvertált állományok
Import előkészítés Partícionált tábla INPUT állományok WEEK 1 IDX WEEK 2 IDX WEEK 3 IDX WEEK 4 IDX WEEK 5 IDX WEEK 6 IDX Előkonvertált állományok (heti file-ok)

15 Betöltés A „varázslás”
Előkonvertált állományok (heti file-ok) Partícionált tábla WEEK 1 IDX WEEK 3 WEEK 2 IDX TEMP TABLE WEEK 3 IDX WEEK 4 IDX WEEK 5 IDX 4. EXCHANGE PARTITION 2. INSERT /*APPEND+*/ WEEK 6 IDX WEEK 3 TEMP TABLE IDX 1.sqlldr 3. CREATE INDEX

16 Nagyságrendi méretek Partició adatok ~ 4GB adat / hét
~ 4GB index / hét 1 adatforrás Heti adatmennyiség: ~4 GB Heti indexméret: ~4 GB Hét: ~8 GB Év: 416 GB Partícionált tábla 1 WEEK 1 IDX WEEK 2 IDX WEEK 3 IDX WEEK 4 IDX WEEK 5 IDX WEEK 6 IDX

17 Backup WEEK 1 OLDEST WEEK OLDEST WEEK IDX WEEK 2 WEEK 2 IDX WEEK 2
Truncate partition, drop index WEEK 1 Partícionált tábla 1 Export partition OLDEST WEEK OLDEST WEEK IDX WEEK 2 WEEK 2 IDX WEEK 2 WEEK 3 IDX WEEK 4 IDX WEEK 5 IDX WEEK 6 IDX WEEK 7 IDX WEEK . IDX WEEK . IDX WEEK N IDX

18 Restore WEEK 1 IDX WEEK 2 IDX WEEK 3 WEEK 3 IDX IDX WEEK 4 IDX WEEK 5
Partícionált tábla 1 WEEK 1 IDX WEEK 2 IDX 3. EXCHANGE PARTITION WEEK 3 WEEK 3 IDX IDX WEEK 4 IDX 2. CREATE INDEX WEEK 5 IDX WEEK 6 IDX WEEK 3 TEMP TABLE WEEK 3 IDX WEEK 7 IDX WEEK . IDX WEEK . IDX 1.sqlldr WEEK 3 WEEK N IDX

19 Parallel query funkció
Lekérdezések Sebessége nagyságrendekkel nő Futási idők csökkennek Partícionált tábla 1 week IDX week IDX week IDX week IDX week IDX week IDX week IDX SELECT * FROM TABLE WHERE DATE BETWEEN 15-JAN-2000 and 20-FEB-2000 week IDX WEEK . IDX WEEK N IDX

20 Másképp? INPUT mennyiség és Forma NEM! Funkcionalitás HW

21 START Nincs kérdés Köszönöm a figyelmüket Van kérdés? Tudom a választ? Kérdés meghallgatása Kérdés megválaszolása Megígérem, hogy utánanézek

22 További információ www.click-on.hu 1-4690000


Letölteni ppt "Partitioning megvalósítása egy konkrét alkalmazásban Nagyméretű adattáblák szelídítése partícionálással."

Hasonló előadás


Google Hirdetések