Tak tomu bych i veril. Kdyz vidim jakou performance ma nase Oracle databaze a kdyz ji srovnam s nasi Teradatou nebo necim jinym co nam tady bezi, tak Oracle je jako Ferrari mezi Skodovkama :) a to i kdyz dostava fakt zabrat (monthly reporting period). Doufam, ze se to klukum (od vedle:) povede a my pozdeji nahradime tu zasr…ehm Teradatu novym Oraclem.
Apropo Support: Dear Helpdesk, please investigate the following issue. I can't find any prophecies within the Oracle database :D
Oracle je takový druhý Microsoft, akorát není mezi „nepočítačovou“ veřejností tolik známý. Bude z vás peníze ždímat a ždímat a ždímat… Jestlipak si někdo dovedete představit, kolika penězi ročně podporuje česká státní správa především tyto dvě americké firmy a nebo kolik procent peněz, které těmto de facto monopolům, naše státní správa velmi ráda odevzdává, skončí u jejich českých poboček a kolik odteče za moře?
No my Informix pouzivame a mame koupene licence PVU (= Processor Value Unit), takze connections muze byt kolik je libo… Ale zrovna levne to take neni, i kdyz v porovnani s Oracle je to rozhodne min.
Navic Informix mi prijde rychlejsi, alespon tedy v OLTP coz ja nas „cup of tea“ :)
Ja jsem mluvil ohledne spolecnosti ve ktere delam a pro tu je priorita aby to fungovalo a aby to sneslo velkou zatez. Na penezich tak moc nezalezi. Ani kdyby to stalo jako 100× Ferrari 458 Italia :) Reknu jen, ze mame 600 000 zamestnancu a to vam musi stacit nato, aby jste si udelali predstavu kolik ma ta firma asi penez :)
Cely Oracle zije jen z poplatku za udrzbu. Tak je postaven cely jeho business model. Klidne Vam nabidne na zacatku obrovskou slevu za licenci a pak Vas 10 let zdima neuveritelne na poplatcich za udzbu. SQL od MS a Oraclu jsou dnes technicky plne srovnatelne ale u MS se plati jen licence.
Tohle u softwaru naprosto bezna praxe, zvlast v enterprise prostredu. Velke firmy plati stejne tak za udrzbu a podporu softwaru i Microsoftu nebo IBM, vlastne velke firmy se obvykle zdrahaji poridit si SW (teda aspon na dulezite veci) ke kteremu neni mozne ziskat placenou garantovanou podporu.
Nejsou technicky srovnatelne. Vyvijime produkt, ktery musi bezet u ruznych zakazniku na Oraclu, DB2 a MS-SQL. Behem vyvoje jsme narazeli na vsemozne problemy s MS-SQL (hlavne deadlocky), s DB2 se take nejake nasly, ale s Oraclem nikdy zadnej problem nebyl. Z mych zkusenosti je Oracle mercedesem mezi databazemi.
Když napíše tohle člověk z systinetu, tak to člověka zamrazí.
Třeba se mýlím a máte své tvrzení něčím potvrzené, ale většinou jsou taková prohlášení založená na neznalosti rozdílů v různých databázových prostředích. Už jsem viděl spoustu software, který prostě deadlocky vyráběl, protože člověk který psal databázovou část byl prostě oraclista a o jiných databázích nevěděl zhola nic.
Zakladni ceny jsou vicemene stejne, ale zalezi na dodatcich. Napriklad u DB2 EE je table partitioning, DataGuard, replikace jiz v cene. Krom toho ma DB2 i freeware edici, ktera je pouzitelna i pro mensi produkci (pro uctarinu pro tak do 200 zamestancu). Prirozene se prodava placena (ale jinak identicka) edice abychom zvysili svuj profit.
Dalsi vyhoda je ze kdyz si koupite produkt s bundlovanou db2 tak vas vyjde tak na 30% ceny co by stala samostatna verze. IBM dava velike slevy temto SW vyrobcum.
Nepokoušel bych se takto jednoduše srovnávat Teradatu a Oracle. Když už jste použil příměr s auty tak v něm budu pokračovat. Pokud na ferari naložíte 5 tun nákladu, tak se mu ulomí kolečka a nepohne se ani o píď. Stejný náklad na náklaďáku tatra 813 je stále rozumné zatížení. Ale asi nemá smysl se pokoušt s tatrou o rychlostní rekord (v počtu transakcí za vteřinu).
Databázově (zjednodušeně řečeno) to znamená asi tolik, že na Oraclu musíte veliké tabulky ručně partišnovat. Teradata to za vás dělá sama automaticky pro všechny tabulky, i na ty které vznikají v průběhu vyhodnocení dotazů. Tyto partition se automaticky distribují přes X disků (počítačů). A disky jsou pořád nejužším místem propustnosti databází. Paralení čtení/zápis velkých tabulek přes X disků pak znamená X krát rychlejší zpracování (50–100 disků v poli není v současné době není ničím vyjmečným).
V tom s vami plne souhlasim. Ale ty zkusenosti co mam s jejich supportem se nedaji srovnat. Oracle dokaze pusvihy vyresit do jednoho dne a Teradata do jednoho dne ani neodpovi na hlaseni zavady. Oracle si ocividne necha za support poradne priplatit, ale pak to alespon stoji za to (je videt kam ty penize tecou). Teradata nechce vic penez, ale taky nam neumi vysvetlit proc se jim tak kazi a proc jsou v resenich tak spomaleni.
No nevim, ale Vase poznamka o rozdelovani velkych table po discich mi prijde scestna (nejsem Oraclista, spis Informixista).
Protoze ja jako admin mam server s diskovym polem a na diskovem poli vytvarim v array logical discs, ktere musim dobre natahnout pres hodne fyzickych disku v tom poli (napr. pres 32–64 ks FC4). Pak uz mam jistotu, ze na takovem logical disc mam zarucenou dorbou propustnost…
Na urovni DB serveru pak podhazuji raw device, ktery na urovni OS vidim jako disk, ale ze je to v realu „pruh“ pres 32–64 disku vim ja a tudiz nemusim tabulku krajet, ale mam data pohromade (adresne), tudiz k nim rychleji pristoupim.
Máte pravdu, nevyjádřil jsem se úplně přesně. Tak to teď zkusím napravit: RAID stripes a partitioning jsou trošku něco jiného. Ukáži to na jednoduchém příkladu. Pokud hledáte v DB nějaký konkrétní klíč (odhlédněme od klasických indexů) tak musíte projít celou tabulku. Pokud jste ale schopen z hodnoty toho klíče uhodnout partition, pak vám stačí projít jen tuto partition. Tato prohledávaná partition může být klidně roztažená přes několik disků (díky RAID strip konfiguraci). Partitioning spíše funguje jako hash index, který vám výrazně snižuje počet bloků, které musíte přečíst.
Když DB engine potřebuje provést full scan, tak je už nehraje velkou roli, jestli máte použitý DB partitioning. Full scan nad deseti miliony záznamů možná skončí díky partitioningu jako full scanem nad jednotkami milionů záznamů, ale špatně je to tak jako tak. Naopak použití indexu znameá výrazné urychlení i bez partitioningu. Partitioning je totiž zamýšlen pro poněkud odlišné použití.