SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
 
Obvladovanje	
  podatkovne	
  eksplozije	
  z	
  
uporabo	
  kompresije	
  in	
  par5cioniranja	
  v	
  
Oracle	
  bazi	
  skozi	
  prakso	
  
	
  
www.tusmobil.si	
  
	
  
	
  
Ognjen	
  Antonič,	
  Tušmobil	
  
ognjen.antonic@tusmobil.si	
  
hAp://www.tusmobil.si	
  
Na	
  kratko	
  o	
  Tušmobilu	
  
	
  
www.tusmobil.si	
   2	
  
-­‐ 	
  Tretji	
  mobilni	
  operater	
  na	
  slovenskem	
  trgu	
  
-­‐ 	
  Na	
  trgu	
  že	
  5	
  let,	
  od	
  konca	
  leta	
  2007	
  	
  
-­‐ 	
  Več	
  kot	
  250	
  5soč	
  ak5vnih	
  mobilnih	
  
uporabnikov	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Oracle	
  Baza	
  @	
  Tušmobil	
  
www.tusmobil.si	
   3	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
-­‐ 	
  Oracle	
  10.2	
  Enterprise	
  Edi5on	
  Real	
  Applica5on	
  
Clusters	
  
-­‐ 	
  Red	
  Hat	
  Enterprise	
  Linux	
  
-­‐ 	
  2	
  node	
  Intel	
  Xeon	
  based	
  server	
  cluster	
  
-­‐ 	
  >	
  5	
  TB	
  podatkov	
  
Strežniki	
  
	
  
www.tusmobil.si	
   4	
  
2	
  x	
  	
  IBM	
  x3650	
  
	
  2	
  x	
  Intel	
  Xeon	
  Dual	
  Core	
  3.16	
  GHz	
  
	
  48	
  GB	
  memory	
  
	
  Max	
  SGA	
  Size	
  24	
  GB	
  
	
  Automa5c	
  Shared	
  Memory	
  Management	
  
	
  Red	
  Hat	
  Enterprise	
  Linux	
  4	
  (Nahant	
  Update	
  8)	
  
	
  mul5ple	
  Gbit	
  ETH	
  and	
  4Gb	
  FC	
  
	
  Automa5c	
  Storage	
  Management	
  used	
  
	
  
	
  
	
  
	
  
	
  
Storage	
  
	
  
www.tusmobil.si	
   5	
  
1	
  x	
  	
  HP	
  XP	
  24000	
  
	
  ASM	
  upravljanje	
  
	
  64	
  GB	
  cache	
  za	
  Oracle	
  bazo	
  
	
  4	
  gbit	
  FC	
  bandwidth	
  
	
  (v	
  souporabi	
  z	
  ostalimi	
  aplikacijami	
  v	
  podjetju	
  )	
  
	
  
	
  
	
  
	
  
	
  
Koncept	
  integrirane	
  baze	
  podatkov	
  
www.tusmobil.si	
   6	
  
-­‐  Skupna	
  baza	
  za	
  obračunske	
  sisteme,	
  
mediacijo,	
  middleware,	
  poročanje/DWH	
  
-­‐  Znižan	
  čas	
  in	
  stroški,	
  ki	
  so	
  potrebni	
  za	
  
inves5cije	
  in	
  vzdrževanje	
  same	
  baze	
  
podatkov	
  in	
  z	
  njimi	
  povezanih	
  sistemov	
  
-­‐  Centralizirana	
  varnost	
  in	
  sledenje	
  
uporabnikom	
  
-­‐  Nižji	
  stroški	
  integracije	
  podatkov	
  (npr.	
  za	
  
korelacijo	
  med	
  omrežnimi	
  in	
  billing	
  
podatki,	
  se	
  samo	
  požene	
  poizvedba	
  
znotraj	
  iste	
  baze)	
  
	
  
	
  
	
  
	
  
	
  
Aplikacije,	
  ki	
  tečejo	
  na	
  Oracle	
  bazi	
  
	
  
www.tusmobil.si	
   7	
  
-­‐ 	
  Oracle	
  Communica5ons	
  Billing	
  and	
  
Revenue	
  Management	
  
-­‐ 	
  OLTP	
  	
  	
  
-­‐ 	
  Middleware	
  (JBoss)	
  
-­‐ 	
  OLTP	
  	
  	
  
-­‐ 	
  Media5on	
  (Media5on	
  Zone)	
  
-­‐ 	
  95%	
  batch	
  /	
  DWH	
  
-­‐ 	
  5%	
  OLTP	
  	
  
-­‐ DWH	
  &	
  Repor5ng	
  Applica5ons	
  
-­‐ 	
  DWH	
  +	
  SAP	
  Business	
  Objects	
  XI	
  R2	
  
	
  
	
  
	
  
	
  
	
  
Podatkovna	
  eksplozija	
  
	
  
www.tusmobil.si	
   8	
  
...	
  
www.tusmobil.si	
   9	
  
-­‐ 	
  Rast	
  števila	
  ak5vnih	
  uporabnikov	
  
-­‐ 	
  Rast	
  števila	
  dogodkov,	
  ki	
  jih	
  opravi	
  
povprečni	
  uporabnik	
  mobilnega	
  omrežja	
  
-­‐ 	
  Naraščajoča	
  uporaba	
  mobilnega	
  interneta	
  
	
  
	
  
	
  
	
  
	
  
0,00	
  
2,00	
  
4,00	
  
6,00	
  
8,00	
  
10,00	
  
12,00	
  
Tušmobil	
  tržni	
  delež	
  
Rast	
  količine	
  zabeleženih	
  dogodkov	
  
www.tusmobil.si	
   10	
  
-­‐ 	
  22%	
  letna	
  rast	
  števila	
  dogodkov	
  na	
  mesec	
  
za	
  tradicionalne	
  storitve	
  (klici,	
  kratka	
  
sporočila)	
  
	
  
	
  
	
  
0	
  
20.000.000	
  
40.000.000	
  
60.000.000	
  
80.000.000	
  
100.000.000	
  
120.000.000	
  
140.000.000	
  
160.000.000	
  
Število	
  dogodkov	
  na	
  mesec	
  (klici,	
  SMSi)	
  
Eksplozija	
  uporabe	
  podatkovnih	
  storitev	
  
	
  
	
  
www.tusmobil.si	
   11	
  
-­‐ 	
  128%	
  letna	
  rast	
  števila	
  dogodkov,	
  ki	
  jih	
  
mesečno	
  zabeleži	
  omrežje	
  pri	
  uporabi	
  
podatkovnih	
  storitev	
  
	
  
	
  
	
  
	
  
0	
  
10.000.000	
  
20.000.000	
  
30.000.000	
  
40.000.000	
  
50.000.000	
  
60.000.000	
  
70.000.000	
  
80.000.000	
  
90.000.000	
  
100.000.000	
  
Število	
  dogodkov	
  na	
  mesec	
  podatki	
  
Rast	
  količine	
  obračunskih	
  podatkov	
  
	
  
	
  
	
  
www.tusmobil.si	
   12	
  
-­‐ 	
  38%	
  letna	
  rast	
  dogodkov	
  in	
  zapisov	
  v	
  
obračunskem	
  sistemu	
  (OLTP)	
  
	
  
	
  
	
  
	
  
0	
  
50.000.000	
  
100.000.000	
  
150.000.000	
  
200.000.000	
  
250.000.000	
  
300.000.000	
  
350.000.000	
  
Zaračunani	
  dogodki	
  
Zapisi	
  v	
  bazi	
  v	
  3NF	
  
Zasedba	
  podatkov	
  v	
  bazi	
  
www.tusmobil.si	
   13	
  
	
  
	
  
	
  
	
  
	
  
Uporaba GByte Odstotek	
  
DWH 3.609,59 69,25%
OLTP 1.603,15 30,75%
Skupaj 5.212,74 100,00%
3.609,59	
  
1.603,15	
  
Poraba	
  v	
  Gbyte	
  
DWH	
  
OLTP	
  
Struktura	
  podatkov	
  po	
  5pu	
  segmenta	
  
	
  
www.tusmobil.si	
   14	
  
Segment	
  Type GByte Odstotek
TABLE	
  PARTITION 2.418,66 46,40%
INDEX	
  PARTITION 1.798,73 34,51%
TABLE 713,46 13,69%
INDEX 164 3,15%
OTHER 117,89 2,26%
Skupaj	
   5.212,74 100,00%
2.418,66	
  
1.798,73	
  
713,46	
  
164	
   117,89	
  
Poraba	
  v	
  GByte	
  
TABLE	
  PARTITION	
  
INDEX	
  PARTITION	
  
TABLE	
  
INDEX	
  
OTHER	
  
Obvladovanje	
  podatkovne	
  eksplozije	
  v	
  
Oracle	
  bazi	
  na	
  Tušmobilu	
  
www.tusmobil.si	
   15	
  
-­‐  Oracle	
  Par55oning	
  (par5cioniranje)	
  
-­‐  Oracle	
  Database	
  Compression	
  
(kompresija)	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Oracle	
  Par55oning	
  na	
  kratko	
  
www.tusmobil.si	
   16	
  
-­‐  Omogoča	
  ločevanje	
  podatkov	
  v	
  tabelah	
  
in/ali	
  indeksih	
  v	
  bazi	
  na	
  več	
  segmentov,	
  
ki	
  so	
  posledično	
  lažje	
  obvladljivi	
  
-­‐  Omogoča	
  enostavno	
  upravljanje	
  z	
  
življenjskim	
  ciklom	
  podatkov	
  
-­‐  Olajša	
  upravljanje	
  same	
  baze	
  podatkov,	
  
kot	
  tudi	
  odzivnost	
  aplikacij,	
  oz.	
  SQL	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Uporaba	
  par5cioniranja	
  na	
  Tušmobilu	
  
www.tusmobil.si	
   17	
  
-­‐  Uporaba	
  časovnega	
  range	
  par55oning-­‐a	
  
kot	
  osnovnega	
  orodja	
  za	
  obvladovanje	
  
velike	
  količine	
  podatkov	
  
-­‐  Podatki	
  so	
  par5cionirani	
  po	
  le5h,	
  
četrtletjih,	
  mesecih	
  ali	
  pa	
  tudi	
  dnevno,	
  
odvisno	
  od	
  količine	
  podatkov	
  v	
  
posamični	
  tabeli	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Primer	
  časovnega	
  range	
  par5cioniranja	
  
www.tusmobil.si	
   18	
  
partition by range (EVENT_TIME)!
(!
partition cdrs_201202 values less than (to_date('01.03.2012', 'dd.mm.yyyy')),!
partition cdrs_201203 values less than (to_date('01.04.2012', 'dd.mm.yyyy')),!
partition cdrs_201204 values less than (to_date('01.05.2012', 'dd.mm.yyyy')),!
partition cdrs_201205 values less than (to_date('01.06.2012', 'dd.mm.yyyy')),!
partition cdrs_201206 values less than (to_date('01.07.2012', 'dd.mm.yyyy')),!
partition cdrs_201207 values less than (to_date('01.08.2012', 'dd.mm.yyyy')),!
partition cdrs_201208 values less than (to_date('01.09.2012', 'dd.mm.yyyy')),!
partition cdrs_201209 values less than (to_date('01.10.2012', 'dd.mm.yyyy')),!
partition cdrs_201210 values less than (to_date('01.11.2012', 'dd.mm.yyyy')),!
partition cdrs_201211 values less than (to_date('01.12.2012', 'dd.mm.yyyy')),!
partition cdrs_201212 values less than (to_date('01.01.2013', 'dd.mm.yyyy’) ,!
partition cdrs_pmax values less than (maxvalue)!
);	
  
Par5cioniranje	
  kot	
  orodje	
  za	
  upravljanje	
  z	
  
življenjskim	
  ciklom	
  podatkov	
  
www.tusmobil.si	
   19	
  
-­‐  Kompresiranje	
  in	
  premik	
  manj	
  ak5vnih	
  
podatkov	
  na	
  cenejše	
  diskovje,	
  npr	
  RAID5	
  
namesto	
  RAID10	
  
-­‐  Arhiviranje	
  ali	
  uničenje	
  starih	
  podatkov	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Premik	
  na	
  cenejše	
  diskovje	
  s	
  
kompresiranjem	
  
www.tusmobil.si	
   20	
  
!
ALTER TABLE mediation.records !
MOVE PARTITION RECORDS_201209 -- septemberski podatki!
TABLESPACE mediation_raid5 -- cenejše diskovje!
COMPRESS;!
!
!
!
--Če imamo indekse na tabeli, še te uredimo:!
ALTER TABLE mediation.records !
MODIFY PARTITION RECORDS_201209 !
REBUILD UNUSABLE LOCAL INDEXES;!
!
!
	
  
Arhiviranje,	
  oz.	
  umik	
  starih	
  podatkov	
  
www.tusmobil.si	
   21	
  
!
-- Premik podatkov v arhivsko tabelo!
ALTER TABLE mediation.records !
EXCHANGE PARTITION RECORDS_201109!
WITH TABLE mediation_archive.records;!
!
--Truncate podatkov v stari particiji!
ALTER TABLE mediation.records !
TRUNCATE PARTITION RECORDS_201109;!
!
--Drop stare particije!
ALTER TABLE mediation.records !
DROP PARTITION RECORDS_201109;!
!
	
  
Vzdrževanje	
  sta5s5k	
  par5cioniranih	
  
podatkov	
  
www.tusmobil.si	
   22	
  
-­‐  Pobiranje	
  sta5s5k	
  na	
  par5cijah,	
  kjer	
  je	
  
ak5vnost	
  zaključena	
  
-­‐  Kopiranje	
  sta5s5k	
  iz	
  svežih	
  z	
  insert	
  in	
  
update	
  ak5vnostjo	
  zaključenih	
  par5cij	
  na	
  
katerih	
  smo	
  sta5s5ke	
  pobrali,	
  na	
  nove	
  
par5cije,	
  ki	
  bodo	
  v	
  uporabi	
  v	
  prihodnos5	
  
-­‐  Občasno	
  pobiranje	
  globalnih	
  sta5s5k	
  na	
  
celotni	
  par5cionirani	
  tabeli	
  
	
  
	
  
	
  
	
  
	
  
	
  
Pobiranje	
  sta5s5ke	
  na	
  par5ciji	
  
www.tusmobil.si	
   23	
  
-- pobiranje statistike na posamični particiji!
!
SYS.DBMS_STATS.GATHER_TABLE_STATS !
( OwnName => 'MEDIATION’,!
TabName => 'RECORDS’,!
PartName => 'RECORDS_201209’,!
Granularity => 'PARTITION’,!
Estimate_Percent => 10,!
Method_Opt => 'FOR ALL INDEXED COLUMNS
SIZE 251’,!
Degree => 2!
Cascade => TRUE!
No_Invalidate => FALSE!
);!
!
	
  
Kopiranje	
  sta5s5k	
  na	
  prihodnje	
  par5cije	
  
www.tusmobil.si	
   24	
  
-- kopiranje statistike iz ene na drugo particijo!
SYS.DBMS_STATS.COPY_TABLE_STATS !
( ’MEDIATION', !
’RECORDS', !
'RECORDS_201209', -- iz septemberske particije!
'RECORDS_201210', -- na oktobersko particijo!
FORCE=>TRUE !
);!
!
-- Odklepanje statistik pred pobiranjem in kopiranjem!
SYS.DBMS_STATS.UNLOCK_TABLE_STATS!
(’MEDIATION',’RECORDS’);!
!
Zaklepanje statistik po pobiranju in kopiranju: !
SYS.DBMS_STATS.LOCK_TABLE_STATS!
(’MEDIATION',’RECORDS');!
	
  
	
  
Pobiranje	
  globalne	
  sta5s5ke	
  
www.tusmobil.si	
   25	
  
-- pobiranje globalne statistike!
SYS.DBMS_STATS.GATHER_TABLE_STATS !
(!
OwnName => 'MEDIATION’,!
TabName => ’RECORDS’,!
Granularity => 'GLOBAL’,!
Estimate_Percent => 1,!
Method_Opt => 'FOR ALL INDEXED COLUMNS
SIZE 251’,!
Degree => 4,!
Cascade => TRUE,!
No_Invalidate => FALSE!
);!
	
  
	
  
Oracle	
  Table	
  Compression	
  na	
  kratko	
  
www.tusmobil.si	
   26	
  
-­‐  Deluje	
  na	
  podlagi	
  eliminacije	
  podvojenih	
  
vrednos5	
  znotraj	
  database	
  block-­‐a	
  
-­‐  Omogoča	
  znatno	
  znižanje	
  potreb	
  po	
  
diskovnem	
  prostoru,	
  prostoru	
  za	
  backup	
  
-­‐  Manj	
  podatkov	
  na	
  disku	
  omogoča	
  tudi	
  
precej	
  višje	
  preformanse	
  aplikacij	
  in	
  
SQLa,	
  predvsem	
  pri	
  full	
  table	
  scan-­‐ih,	
  
hitrejši	
  backup	
  baze	
  in	
  podobno	
  
-­‐  V	
  kombinaciji	
  z	
  hitrimi	
  diski,	
  manj	
  
podatkov	
  kot	
  posledica	
  kompresije	
  
omogoča	
  tudi	
  eliminacijo	
  indeksov	
  (npr.	
  
za	
  DWH	
  potrebe)	
  
	
  
	
  
Uporaba	
  podatkovne	
  kompresije	
  na	
  
Tušmobilu	
  
www.tusmobil.si	
   27	
  
-­‐  Uporaba	
  t.i.	
  table	
  level	
  /	
  par55on	
  level	
  
(non-­‐OLTP)	
  kompresije	
  
-­‐  Podatki	
  OLTP	
  aplikacij	
  se	
  kompresirajo	
  
naknadno,	
  ko	
  postanejo	
  neak5vni	
  
(kompresiranje	
  starih	
  par5cij)	
  
-­‐  Podatki	
  za	
  DWH	
  namene	
  se	
  nalagajo	
  
direktno	
  kompresirano	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Primer	
  kompresije	
  v	
  praksi,	
  tabela	
  z	
  CDR	
  
zapisi	
  (klici	
  +	
  SMSi)	
  
www.tusmobil.si	
   28	
  
-­‐  Par5cija	
  z	
  dogodki	
  za	
  prvih	
  7	
  dni	
  v	
  
mesecu	
  septembru	
  2012	
  
-­‐  >	
  33	
  M	
  vrs5c	
  
-­‐  19,2	
  GBytes	
  nekompresirano	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
 	
  
www.tusmobil.si	
   29	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
 	
  
www.tusmobil.si	
   30	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Rezulta5	
  kompresije	
  
www.tusmobil.si	
   31	
  
0,00	
  
5,00	
  
10,00	
  
15,00	
  
20,00	
  
25,00	
  
Velikost	
  GB	
  Surova	
   Velikost	
  GB	
  
Kompresirano	
  
Velikost	
  GB	
  
Surova	
  
Velikost	
  GB	
  
Kompresirano	
   Prihranek	
  GB	
  Razmerje	
  
19,20	
   6,56	
   12,64	
   2,92	
  
Prihranki	
  
www.tusmobil.si	
   32	
  
-­‐  12,64	
  GB	
  prihranka	
  za	
  četr5no	
  meseca	
  
pomeni:	
  
-­‐  12,64	
  *	
  4	
  =	
  50,56	
  GB	
  na	
  mesec	
  
-­‐  50,56	
  *	
  12	
  =	
  606,72	
  GB	
  letno	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Pa	
  še	
  poročila	
  tečejo	
  hitreje	
  
www.tusmobil.si	
   33	
  
Čas	
  brez	
  kompresije	
   Čas	
  s	
  kompresijo	
  
Izvedba	
  1	
   155	
   51	
  
Izvedba	
  2	
   121	
   44	
  
Izvedba	
  3	
   161	
   36	
  
Povprečje	
   146	
   44	
  
select /*+ full(r) parallel(r 4) */!
!count(*) !
from mediation.records partition
( RECORDS_201209A ) r;!
...	
  precej	
  hitreje	
  J	
  
www.tusmobil.si	
   34	
  
Čas	
  brez	
  kompresije	
   Čas	
  s	
  kompresijo	
   Razmerje	
  
146	
   44	
   3,33	
  
0	
  
20	
  
40	
  
60	
  
80	
  
100	
  
120	
  
140	
  
160	
  
Čas	
  brez	
  kompresije	
  
Čas	
  s	
  kompresijo	
  
Nalaganje	
  podatkov	
  z	
  uporabo	
  kompresije	
  
www.tusmobil.si	
   35	
  
-­‐  Tabele	
  morajo	
  bi5	
  kreirane	
  s	
  COMPRESS,	
  
enako	
  par5cije	
  
-­‐  Preko	
  SQL	
  z	
  uporabo	
  APPEND	
  namiga	
  
-­‐  Preko	
  sqlloaderja	
  z	
  uporabo	
  direct	
  path	
  
nalaganja	
  
!
!
!
!--SQL insert z APPEND namigom !
!insert /*+ append */!
!into ...!
	
  
!--SQL loader z direct path nalaganjem!
!sqlldr control=events.ctl  direct=true !
	
  
	
  
Kako	
  izboljša5	
  kompresijsko	
  razmerje	
  
www.tusmobil.si	
   36	
  
-­‐  Skozi	
  ustrezno	
  grupiranje,	
  oz.	
  vrstni	
  red	
  
nalaganja	
  podatkov	
  -­‐	
  podobni	
  podatki,	
  oz	
  
podatki	
  z	
  is5mi/ponavljajočimi	
  se	
  
vrednostmi	
  naj	
  bodo	
  skupaj	
  
-­‐  Z	
  uporabo	
  večjega	
  db_block_size	
  
Par5cioniranje	
  +	
  Kompresija	
  =	
  J	
  
www.tusmobil.si	
   37	
  
-­‐  Prednos5	
  par5cioniranja	
  in	
  kompresije	
  v	
  
Oracle	
  bazi	
  se	
  mul5plicirajo	
  
-­‐  Odlični	
  orodji	
  za	
  obvladovanje	
  
podatkovne	
  eksplozije,	
  oz.	
  enormnih	
  
količin	
  podatkov	
  
-­‐  Zreli	
  orodji,	
  ki	
  sta	
  del	
  Oracle	
  Enterprise	
  
Edi5on	
  že	
  desetletje	
  (od	
  9iR2	
  naprej)	
  
www.tusmobil.si	
   38	
  
Ognjen	
  Antonič	
  
Tušmobil,	
  IT	
  oddelek	
  
E-­‐mail:	
  ognjen.antonic@tusmobil.si	
  
hAp://si.linkedin.com/in/oantonic/	
  
	
  
	
  
	
  
	
  
	
  
	
  
www.tusmobil.si	
  
	
   39	
  

Contenu connexe

En vedette

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

En vedette (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

Obvladovanje podatkovne eksplozije z uporabo kompresije in particioniranja

  • 1.   Obvladovanje  podatkovne  eksplozije  z   uporabo  kompresije  in  par5cioniranja  v   Oracle  bazi  skozi  prakso     www.tusmobil.si       Ognjen  Antonič,  Tušmobil   ognjen.antonic@tusmobil.si   hAp://www.tusmobil.si  
  • 2. Na  kratko  o  Tušmobilu     www.tusmobil.si   2   -­‐   Tretji  mobilni  operater  na  slovenskem  trgu   -­‐   Na  trgu  že  5  let,  od  konca  leta  2007     -­‐   Več  kot  250  5soč  ak5vnih  mobilnih   uporabnikov                  
  • 3. Oracle  Baza  @  Tušmobil   www.tusmobil.si   3                   -­‐   Oracle  10.2  Enterprise  Edi5on  Real  Applica5on   Clusters   -­‐   Red  Hat  Enterprise  Linux   -­‐   2  node  Intel  Xeon  based  server  cluster   -­‐   >  5  TB  podatkov  
  • 4. Strežniki     www.tusmobil.si   4   2  x    IBM  x3650    2  x  Intel  Xeon  Dual  Core  3.16  GHz    48  GB  memory    Max  SGA  Size  24  GB    Automa5c  Shared  Memory  Management    Red  Hat  Enterprise  Linux  4  (Nahant  Update  8)    mul5ple  Gbit  ETH  and  4Gb  FC    Automa5c  Storage  Management  used            
  • 5. Storage     www.tusmobil.si   5   1  x    HP  XP  24000    ASM  upravljanje    64  GB  cache  za  Oracle  bazo    4  gbit  FC  bandwidth    (v  souporabi  z  ostalimi  aplikacijami  v  podjetju  )            
  • 6. Koncept  integrirane  baze  podatkov   www.tusmobil.si   6   -­‐  Skupna  baza  za  obračunske  sisteme,   mediacijo,  middleware,  poročanje/DWH   -­‐  Znižan  čas  in  stroški,  ki  so  potrebni  za   inves5cije  in  vzdrževanje  same  baze   podatkov  in  z  njimi  povezanih  sistemov   -­‐  Centralizirana  varnost  in  sledenje   uporabnikom   -­‐  Nižji  stroški  integracije  podatkov  (npr.  za   korelacijo  med  omrežnimi  in  billing   podatki,  se  samo  požene  poizvedba   znotraj  iste  baze)            
  • 7. Aplikacije,  ki  tečejo  na  Oracle  bazi     www.tusmobil.si   7   -­‐   Oracle  Communica5ons  Billing  and   Revenue  Management   -­‐   OLTP       -­‐   Middleware  (JBoss)   -­‐   OLTP       -­‐   Media5on  (Media5on  Zone)   -­‐   95%  batch  /  DWH   -­‐   5%  OLTP     -­‐ DWH  &  Repor5ng  Applica5ons   -­‐   DWH  +  SAP  Business  Objects  XI  R2            
  • 8. Podatkovna  eksplozija     www.tusmobil.si   8  
  • 9. ...   www.tusmobil.si   9   -­‐   Rast  števila  ak5vnih  uporabnikov   -­‐   Rast  števila  dogodkov,  ki  jih  opravi   povprečni  uporabnik  mobilnega  omrežja   -­‐   Naraščajoča  uporaba  mobilnega  interneta             0,00   2,00   4,00   6,00   8,00   10,00   12,00   Tušmobil  tržni  delež  
  • 10. Rast  količine  zabeleženih  dogodkov   www.tusmobil.si   10   -­‐   22%  letna  rast  števila  dogodkov  na  mesec   za  tradicionalne  storitve  (klici,  kratka   sporočila)         0   20.000.000   40.000.000   60.000.000   80.000.000   100.000.000   120.000.000   140.000.000   160.000.000   Število  dogodkov  na  mesec  (klici,  SMSi)  
  • 11. Eksplozija  uporabe  podatkovnih  storitev       www.tusmobil.si   11   -­‐   128%  letna  rast  števila  dogodkov,  ki  jih   mesečno  zabeleži  omrežje  pri  uporabi   podatkovnih  storitev           0   10.000.000   20.000.000   30.000.000   40.000.000   50.000.000   60.000.000   70.000.000   80.000.000   90.000.000   100.000.000   Število  dogodkov  na  mesec  podatki  
  • 12. Rast  količine  obračunskih  podatkov         www.tusmobil.si   12   -­‐   38%  letna  rast  dogodkov  in  zapisov  v   obračunskem  sistemu  (OLTP)           0   50.000.000   100.000.000   150.000.000   200.000.000   250.000.000   300.000.000   350.000.000   Zaračunani  dogodki   Zapisi  v  bazi  v  3NF  
  • 13. Zasedba  podatkov  v  bazi   www.tusmobil.si   13             Uporaba GByte Odstotek   DWH 3.609,59 69,25% OLTP 1.603,15 30,75% Skupaj 5.212,74 100,00% 3.609,59   1.603,15   Poraba  v  Gbyte   DWH   OLTP  
  • 14. Struktura  podatkov  po  5pu  segmenta     www.tusmobil.si   14   Segment  Type GByte Odstotek TABLE  PARTITION 2.418,66 46,40% INDEX  PARTITION 1.798,73 34,51% TABLE 713,46 13,69% INDEX 164 3,15% OTHER 117,89 2,26% Skupaj   5.212,74 100,00% 2.418,66   1.798,73   713,46   164   117,89   Poraba  v  GByte   TABLE  PARTITION   INDEX  PARTITION   TABLE   INDEX   OTHER  
  • 15. Obvladovanje  podatkovne  eksplozije  v   Oracle  bazi  na  Tušmobilu   www.tusmobil.si   15   -­‐  Oracle  Par55oning  (par5cioniranje)   -­‐  Oracle  Database  Compression   (kompresija)                  
  • 16. Oracle  Par55oning  na  kratko   www.tusmobil.si   16   -­‐  Omogoča  ločevanje  podatkov  v  tabelah   in/ali  indeksih  v  bazi  na  več  segmentov,   ki  so  posledično  lažje  obvladljivi   -­‐  Omogoča  enostavno  upravljanje  z   življenjskim  ciklom  podatkov   -­‐  Olajša  upravljanje  same  baze  podatkov,   kot  tudi  odzivnost  aplikacij,  oz.  SQL                  
  • 17. Uporaba  par5cioniranja  na  Tušmobilu   www.tusmobil.si   17   -­‐  Uporaba  časovnega  range  par55oning-­‐a   kot  osnovnega  orodja  za  obvladovanje   velike  količine  podatkov   -­‐  Podatki  so  par5cionirani  po  le5h,   četrtletjih,  mesecih  ali  pa  tudi  dnevno,   odvisno  od  količine  podatkov  v   posamični  tabeli                  
  • 18. Primer  časovnega  range  par5cioniranja   www.tusmobil.si   18   partition by range (EVENT_TIME)! (! partition cdrs_201202 values less than (to_date('01.03.2012', 'dd.mm.yyyy')),! partition cdrs_201203 values less than (to_date('01.04.2012', 'dd.mm.yyyy')),! partition cdrs_201204 values less than (to_date('01.05.2012', 'dd.mm.yyyy')),! partition cdrs_201205 values less than (to_date('01.06.2012', 'dd.mm.yyyy')),! partition cdrs_201206 values less than (to_date('01.07.2012', 'dd.mm.yyyy')),! partition cdrs_201207 values less than (to_date('01.08.2012', 'dd.mm.yyyy')),! partition cdrs_201208 values less than (to_date('01.09.2012', 'dd.mm.yyyy')),! partition cdrs_201209 values less than (to_date('01.10.2012', 'dd.mm.yyyy')),! partition cdrs_201210 values less than (to_date('01.11.2012', 'dd.mm.yyyy')),! partition cdrs_201211 values less than (to_date('01.12.2012', 'dd.mm.yyyy')),! partition cdrs_201212 values less than (to_date('01.01.2013', 'dd.mm.yyyy’) ,! partition cdrs_pmax values less than (maxvalue)! );  
  • 19. Par5cioniranje  kot  orodje  za  upravljanje  z   življenjskim  ciklom  podatkov   www.tusmobil.si   19   -­‐  Kompresiranje  in  premik  manj  ak5vnih   podatkov  na  cenejše  diskovje,  npr  RAID5   namesto  RAID10   -­‐  Arhiviranje  ali  uničenje  starih  podatkov                    
  • 20. Premik  na  cenejše  diskovje  s   kompresiranjem   www.tusmobil.si   20   ! ALTER TABLE mediation.records ! MOVE PARTITION RECORDS_201209 -- septemberski podatki! TABLESPACE mediation_raid5 -- cenejše diskovje! COMPRESS;! ! ! ! --Če imamo indekse na tabeli, še te uredimo:! ALTER TABLE mediation.records ! MODIFY PARTITION RECORDS_201209 ! REBUILD UNUSABLE LOCAL INDEXES;! ! !  
  • 21. Arhiviranje,  oz.  umik  starih  podatkov   www.tusmobil.si   21   ! -- Premik podatkov v arhivsko tabelo! ALTER TABLE mediation.records ! EXCHANGE PARTITION RECORDS_201109! WITH TABLE mediation_archive.records;! ! --Truncate podatkov v stari particiji! ALTER TABLE mediation.records ! TRUNCATE PARTITION RECORDS_201109;! ! --Drop stare particije! ALTER TABLE mediation.records ! DROP PARTITION RECORDS_201109;! !  
  • 22. Vzdrževanje  sta5s5k  par5cioniranih   podatkov   www.tusmobil.si   22   -­‐  Pobiranje  sta5s5k  na  par5cijah,  kjer  je   ak5vnost  zaključena   -­‐  Kopiranje  sta5s5k  iz  svežih  z  insert  in   update  ak5vnostjo  zaključenih  par5cij  na   katerih  smo  sta5s5ke  pobrali,  na  nove   par5cije,  ki  bodo  v  uporabi  v  prihodnos5   -­‐  Občasno  pobiranje  globalnih  sta5s5k  na   celotni  par5cionirani  tabeli              
  • 23. Pobiranje  sta5s5ke  na  par5ciji   www.tusmobil.si   23   -- pobiranje statistike na posamični particiji! ! SYS.DBMS_STATS.GATHER_TABLE_STATS ! ( OwnName => 'MEDIATION’,! TabName => 'RECORDS’,! PartName => 'RECORDS_201209’,! Granularity => 'PARTITION’,! Estimate_Percent => 10,! Method_Opt => 'FOR ALL INDEXED COLUMNS SIZE 251’,! Degree => 2! Cascade => TRUE! No_Invalidate => FALSE! );! !  
  • 24. Kopiranje  sta5s5k  na  prihodnje  par5cije   www.tusmobil.si   24   -- kopiranje statistike iz ene na drugo particijo! SYS.DBMS_STATS.COPY_TABLE_STATS ! ( ’MEDIATION', ! ’RECORDS', ! 'RECORDS_201209', -- iz septemberske particije! 'RECORDS_201210', -- na oktobersko particijo! FORCE=>TRUE ! );! ! -- Odklepanje statistik pred pobiranjem in kopiranjem! SYS.DBMS_STATS.UNLOCK_TABLE_STATS! (’MEDIATION',’RECORDS’);! ! Zaklepanje statistik po pobiranju in kopiranju: ! SYS.DBMS_STATS.LOCK_TABLE_STATS! (’MEDIATION',’RECORDS');!    
  • 25. Pobiranje  globalne  sta5s5ke   www.tusmobil.si   25   -- pobiranje globalne statistike! SYS.DBMS_STATS.GATHER_TABLE_STATS ! (! OwnName => 'MEDIATION’,! TabName => ’RECORDS’,! Granularity => 'GLOBAL’,! Estimate_Percent => 1,! Method_Opt => 'FOR ALL INDEXED COLUMNS SIZE 251’,! Degree => 4,! Cascade => TRUE,! No_Invalidate => FALSE! );!    
  • 26. Oracle  Table  Compression  na  kratko   www.tusmobil.si   26   -­‐  Deluje  na  podlagi  eliminacije  podvojenih   vrednos5  znotraj  database  block-­‐a   -­‐  Omogoča  znatno  znižanje  potreb  po   diskovnem  prostoru,  prostoru  za  backup   -­‐  Manj  podatkov  na  disku  omogoča  tudi   precej  višje  preformanse  aplikacij  in   SQLa,  predvsem  pri  full  table  scan-­‐ih,   hitrejši  backup  baze  in  podobno   -­‐  V  kombinaciji  z  hitrimi  diski,  manj   podatkov  kot  posledica  kompresije   omogoča  tudi  eliminacijo  indeksov  (npr.   za  DWH  potrebe)      
  • 27. Uporaba  podatkovne  kompresije  na   Tušmobilu   www.tusmobil.si   27   -­‐  Uporaba  t.i.  table  level  /  par55on  level   (non-­‐OLTP)  kompresije   -­‐  Podatki  OLTP  aplikacij  se  kompresirajo   naknadno,  ko  postanejo  neak5vni   (kompresiranje  starih  par5cij)   -­‐  Podatki  za  DWH  namene  se  nalagajo   direktno  kompresirano                
  • 28. Primer  kompresije  v  praksi,  tabela  z  CDR   zapisi  (klici  +  SMSi)   www.tusmobil.si   28   -­‐  Par5cija  z  dogodki  za  prvih  7  dni  v   mesecu  septembru  2012   -­‐  >  33  M  vrs5c   -­‐  19,2  GBytes  nekompresirano                
  • 29.     www.tusmobil.si   29                
  • 30.     www.tusmobil.si   30                
  • 31. Rezulta5  kompresije   www.tusmobil.si   31   0,00   5,00   10,00   15,00   20,00   25,00   Velikost  GB  Surova   Velikost  GB   Kompresirano   Velikost  GB   Surova   Velikost  GB   Kompresirano   Prihranek  GB  Razmerje   19,20   6,56   12,64   2,92  
  • 32. Prihranki   www.tusmobil.si   32   -­‐  12,64  GB  prihranka  za  četr5no  meseca   pomeni:   -­‐  12,64  *  4  =  50,56  GB  na  mesec   -­‐  50,56  *  12  =  606,72  GB  letno                
  • 33. Pa  še  poročila  tečejo  hitreje   www.tusmobil.si   33   Čas  brez  kompresije   Čas  s  kompresijo   Izvedba  1   155   51   Izvedba  2   121   44   Izvedba  3   161   36   Povprečje   146   44   select /*+ full(r) parallel(r 4) */! !count(*) ! from mediation.records partition ( RECORDS_201209A ) r;!
  • 34. ...  precej  hitreje  J   www.tusmobil.si   34   Čas  brez  kompresije   Čas  s  kompresijo   Razmerje   146   44   3,33   0   20   40   60   80   100   120   140   160   Čas  brez  kompresije   Čas  s  kompresijo  
  • 35. Nalaganje  podatkov  z  uporabo  kompresije   www.tusmobil.si   35   -­‐  Tabele  morajo  bi5  kreirane  s  COMPRESS,   enako  par5cije   -­‐  Preko  SQL  z  uporabo  APPEND  namiga   -­‐  Preko  sqlloaderja  z  uporabo  direct  path   nalaganja   ! ! ! !--SQL insert z APPEND namigom ! !insert /*+ append */! !into ...!   !--SQL loader z direct path nalaganjem! !sqlldr control=events.ctl  direct=true !    
  • 36. Kako  izboljša5  kompresijsko  razmerje   www.tusmobil.si   36   -­‐  Skozi  ustrezno  grupiranje,  oz.  vrstni  red   nalaganja  podatkov  -­‐  podobni  podatki,  oz   podatki  z  is5mi/ponavljajočimi  se   vrednostmi  naj  bodo  skupaj   -­‐  Z  uporabo  večjega  db_block_size  
  • 37. Par5cioniranje  +  Kompresija  =  J   www.tusmobil.si   37   -­‐  Prednos5  par5cioniranja  in  kompresije  v   Oracle  bazi  se  mul5plicirajo   -­‐  Odlični  orodji  za  obvladovanje   podatkovne  eksplozije,  oz.  enormnih   količin  podatkov   -­‐  Zreli  orodji,  ki  sta  del  Oracle  Enterprise   Edi5on  že  desetletje  (od  9iR2  naprej)  
  • 38. www.tusmobil.si   38   Ognjen  Antonič   Tušmobil,  IT  oddelek   E-­‐mail:  ognjen.antonic@tusmobil.si   hAp://si.linkedin.com/in/oantonic/