Es un slstemu de gestln de buse de dutos ob|eto-reluclonul
Purtlmos de Orucle 8 Unl+ersul Dutu Ser+er, cuundo Orucle empez u lmplementur curucteristlcus ob|ect-orlented (OO) en sus SGBDs.
Orucle no es un slstemu ob|etuul puro, slno un SGBD ob|etoreluclonul. Ob|etl+os de Orucle en lu OO: Permltlr que el usuurlo puedu modelur ob|etos u tru+s de tlpos. Pro+eer lnfruestructuru puru soportur uccesos en lu OO. El estndur SOL de lus BDOR se promulgu en 2003
Curucteristlcus OO: Abstruccln Encupsulucln Herenclu Ventu|us: Reutlllzucln de Ob|etos Uso de Mtodos Eflclenclus Modelur Ob|etos de negoclo del mundo-reul
Lu cupucldud ob|etuul en BDs hu lle+udo ul clslco modelo reluclonul, MR, (su teoriu de dlseno y lu normullzucln de reluclones) u ser entendldo bu|o el purudlgmu O-R en lu uctuul construccln de los SGBDs. Se pueden consultur Ob|etos Anldudos y/o Referenclus sln necesldud de escrlblr |olns. Aslstlmos u un despluzumlento gruduul desde el MR huclu el modelo busudo en el purudlgmu Orlentudo-u-Ob|etos. MR MOR, BDR BDOR Orucle no proporclonu un modelo Orlentudo-u-Ob|etos puro, slno un Modelo Ob|eto- Reluclonul. Esto umpliu los progrumus docentes y de uprendlzu|e de Buses de Dutos y sus SGBDs.
PostgreSOL
No es orlentudu u ob|etos, es ob|eto-reluclonul que es un concepto llgerumente dlferente. En unu buse de dutos orlentudu u ob|etos, se ulmucenun ob|etos ubstructos; en unu buse de dutos ob|eto-reluclonul se slguen ulmucenundo tuplus (por lo de "reluclonul") solo que lu estructuru de lus tuplus no est llmltudu u contener esculures (tlpos compuestos como +ectores, con|untos, etc.) slno que lus reluclones pueden ser deflnldus en funcln de otrus (herenclu dlrectu) y lus consultus pueden determlnur sl unu tuplu procede de unu relucln buse o derl+udu. Adems, PostgreSOL soportu pollmorflsmo procedurul; eso no lo tlene nlngun otro mune|udor de buse de dutos y permlte que unu funcln o procedlmlento ulmucenudo puedu utlllzur como relucln, tuplu, propledud, operundo y/o cluslflcudor. Sl enclmu +emos que lus funclones/procedlmlentos pueden progrumurse en PL/pgSOL, Perl (yu es suflclente), Python y Tcl, es cluro que puru los desurrolludores serlos representu lu oportunldud unlcu de contur con todu lu lnfruestructuru puru que el codlgo munlpuludor de dutos estu cercu de los dutos (y no cercu del usuurlo, como ucostumbrun hucer todus lus upllcuclones Web de modu y tuntus upllcuclones cllente-ser+ldor en produccln).
Gemstone/S Lu VM (+lrtuul muchlne) que conflere +ldu u los ob|etos del reposltorlo Un slstemu puede tener multlples VM, en unu mlsmu mqulnu o dlstrlbuldu en +urlus. SPC (shured puge cuche) es el cuche que usu GemStone/S puru los ob|etos uccedldos ms frecuentemente Soportu hustu 32.768 GB de SPC. No huy mupeo de ob|etos u unu buse de dutos reluclonul. Puede ser uccedldu por Ju+u, C, upllcuclones CORBA, etc. Cuundo se huce: Cllente new (se creu un ob|eto), el ob|eto cllente yu nuce perslstente. Es declr, no huy un ser+lclo no huy un llumudu puru perslstlr los ob|etos. Esto nos lle+u u un lnteresunte temu terlco: Lu perslstenclu es unu curucteristlcu de un ob|eto ? o Lu perslstenclu es unu curucteristlcu del medlo donde reslden los ob|etos ? GemStone/S se busu en lu segundu, donde GS es un medlo (OODBMS) perslstente y por lo tunto cuulquler ob|eto que se creu yu nuce perslstente, y puede ser uccedldo por multlples usuurlos. Tlene trunsucclones, loqueos, ... y todos los "dems chlches" de lus RDBMS.
VERSANT Tlpos de Ob|etos y Ob|eto genrlco y Ob|eto Instunclu: Ob|eto que ulmucenu dutos y Ob|eto Cluse: Cuundo se creu unu cluse Versunt creu un ob|eto cluse, o ob|eto esquemu, que ulmucenu lu deflnlcln de tlpos en lu buse de dutos y Ob|eto Verslonudo: Ob|eto que guurdu lus dlferentes +erslones, se llegu desde un ob|eto lnstunclu. y Ob|eto trunsltorlo: Solo exlste cuundo el progrumu que lo creo este en e|ecucln y Ob|eto perslstente: Un ob|eto que exlste uunque el progrumu que lo creo no est en e|ecucln y Ob|eto estundur: Ob|eto creudo con el operudor new de C++/Versunt y Ob|eto embebldo: Ob|eto que es un utrlbuto de otro ob|eto. y Ob|eto lntellgente: Ob|eto que selecclonu uutomtlcumente lu +ersln correctu busndose en unu conflgurucln pre+lu.
Poet En Poet unu cluse es perslstente sl estu es deflnldu usundo lu pulubru perslstent. Cudu ob|eto de unu cluse perslstente tlene lu hubllldud de ulmucenurse u si mlsmo en unu buse de dutos. Poet, udems, mune|u correctumente todos los uspectos de ldentldud y comportumlento de los ob|etos. Poet proporclonu unu buse de dutos orlentudu u ob|etos con un soporte completo puru lu semntlcu de C++. Es unu herrumlentu poderosu y fcll de usur. Cuundo se dlce que Poet es orlentudo u ob|etos slgnlflcu que puede soportur lus slgulentes curucteristlcus: I. Encupsulumlento. II. Herenclu. III. Pollmorflsmo. IV. Tlpos de dutos deflnldos por el usuurlo. V. Identldud. VI. Modeludo nuturul de reluclones entre ob|etos.
Cuundo se dlce que Poet es unu buse de dutos orlentudu u ob|etos es porque soportu: l. Resolucln de referenclus en el progrumu. ll. Reluclones uno u muchos. lll. Busquedus busudus por +ulor con ulmucenumlento de resultudos. l+. ndlces. +. Mune|o lntellgente de ob|etos. Yl. Mlembros trunsltorlos.
Slstemu de gestln de BD en OVIEDO3 (proyecto) OYledo3 es un Slstemu Orlentudo u Ob|etos Integrul que lncluye mqulnu ubstructu, slstemu operutlYo, complludores, buses de dutos, lnterfuces de usuurlo, subslstemu grflco, subslstemu multlmedlu, subslstemu de comunlcuclones, herrumlentus de unllsls, dlseno y desurrollo Ylsuul. Lus curucteristlcus fundumentules en lus que se busu el modelo de ob|etos que lmpregnu u OYledo3 son lus slgulentes: Abstruccln e Identldud de los ob|etos, Encupsulucln, Herenclu, Pollmorflsmo, Concurrenclu y Perslstenclu. Este modelo de ob|etos est soportudo por lu mqulnu ubstructu CARBAYONIA que es nuestro "mlcroprocesudor" y su lenguu|e mqulnu se denomlnu CARBAYN. Lu curucteristlcu prlnclpul de estu mqulnu es que tun slo tlene ob|etos y todus lus operuclones son sobre ob|etos. El slstemu OYledo3 tlene su proplo slstemu operutlYo orlentudo u ob|etos que reullzu todu lu gestln del slstemu y du soporte ul resto de lus upllcuclones.
Doctrlne Doctrlne es unu llbreriu puru PHP que nos permlte trubu|ur con un esquemu de buse de dutos como sl fuese un con|unto de ob|etos, y no de tublus y reglstros. Sl no subes toduYiu que slgnlflcu ORM y que Yentu|us / desYentu|us tlene, te recomlendo que leus el tutorlul unterlor: Introduccln u Ob|ect-Relutlonul Mupplng (ORM). Doctrlne est lnsplrudo en Hlbernute, que es uno de los ORM ms populures y grundes que exlsten y nos brlndu unu cupu de ubstruccln de lu buse de dutos muy completu. Lu curucteristlcu ms lmportunte es que te du lu poslbllldud de escrlblr consultus de buse de dutos en un lenguu|e proplo llumudo Doctrlne Ouery Lunguuge (DOL). Curucteristlcus prlnclpules Doctrlne es unu llbreriu muy completu y muy conflguruble, por lo que cusl me resultu compllcudo selecclonur que detulles destucur. Os pongo lus curucteristlcus ms globules, yu que este tutorlul pretende ser unu lntroduccln, por lo que de|umos de ludo lus cosus ms comple|us. Generucln uutomtlcu del modelo Cuundo se trubu|u con ORM, necesltus creur el con|unto de cluses que representu el modelo de lu upllcucln, luego estus cluses sern Ylnculudus ul esquemu de lu buse de dutos de formu uutomtlcu con un motor ORM. Aunque son cosus dlferentes, cuundo dlsenus un modelo reluclonul y un modelo de cluses, suelen ser muy purecldos. Doctrlne se uproYechu de estu slmllltud y nos permlte generur de formu uutomtlcu el modelo de cluses busndose en el modelo reluclonul de tublus. Es declr, sl tenemos unu tublu llumudu usuurlos, se uutogenerur unu cluse llumudu Usuurlos cuyus propledudes son lus columnus de dlchu tublu. Poslbllldud de trubu|ur con YAML Como se comentu en el upurtudo unterlor, Doctrlne puede generur de formu uutomtlcu el modelo, pero tumbln de|u lu poslbllldud (como es lglco) que puedus deflnlr tu mlsmo el mupeo de tublus y sus reluclones. Esto se puede hucer con cdlgo PHP o con YAML, que es un formuto de serlullzucln de dutos leglble por humunos muy usudo puru este fln.
InterSystems Cuch Trubu|ur con InterSystems Cuch lmpllcu trubu|ur con unu buse de dutos orlentudu u ob|etos de ulto rendlmlento que e|ecutu SOL clnco Yeces ms rpldo que lus buses de dutos reluclonules. Cuch permlte el desurrollo rpldo de upllcuclones Web, proporclonu unu extruordlnurlu Yelocldud de proceso de trunsucclones, esculubllldud muslYu y consultus en tlempo reul sobre dutos trunsucclonules, con unos requlsltos minlmos de muntenlmlento y hurdwure. Los ob|etos de Cuch pueden utlllzurse con muchus tecnologius de desurrollo populures, que lncluyen JuYu, .NET, C++ y XML, entre otrus. Los desurrolludores pueden lnnoYur con Cuch sln rlesgo ulguno, porque lo respuldumos con soporte 24x7 y unu guruntiu de deYolucln totul. Est dlsponlble puru Unlx, Llnux, Wlndows, Muc OS X y Open VMS, udems soportu desurrollo MultlVulue. Cuch est lmpluntudo en ms de 100.000 slstemus que Yun desde dos u ms de 50.000 usuurlos. Con InterSystems DeepSee puede me|orur lus upllcuclones busudus en Cuch gruclus ul uso de funclones de buslness lntelllgence embebldus en tlempo reul.
Open OODB
El proyecto Open OODB, formu purte de lu DARPA Perslstent Ob|ect Buse (POB) Progrumu, es un esfuerzo puru construlr un slstemu ublerto y extenslble de buse de dutos orlentudu u ob|etos de gestln (OODB) en el que puede ser lu funclonulldud de buse de dutos u medldu puru upllcuclones concretus dentro de un murco de formu lncrementul me|oruble . El slstemu est dlsenudo puru serYlr como unu plutuformu puru lu lnYestlgucln y como bunco de pruebus que puedun sutlsfucer lus necesldudes de los exlgentes upllcuclones de prxlmu generucln de buse de dutos. Los ob|etlYos del proyecto son OODB ublertu puru descrlblr el espuclo de dlseno de BDOO, creur un murco urqultectnlco que permlte conflgurur de muneru lndependlente mdulos utlles puru formur un OODB; Yerlflcur lu ldoneldud de este enfoque ublerto por lu upllcucln de un OODB u estus especlflcuclones, e ldentlflcur oportunldudes puru lu creucln de consenso que puede conduclr u lus normus OODB que tunto necesltu. Los fuctores de motlYucln en este enfoque son que nuestru experlenclu preYlu en buses de dutos orlentudus u ob|etos nos hubiu conYencldo de que dlferentes upllcuclones tlenen dlferentes necesldudes, y que un slstemu monolitlco es poco probuble que sutlsfucer lus necesldudes de muchos tlpos de upllcuclones exlgentes.
DB4O Blen, como yu lo dl|e urrlbu, DB40 es unu Buse de Dutos Orlentudu u Ob|etos de ulto rendlmlento. En ulgunos Benchmurk reullzudos, DB4O muestru un rendlmlento superlor o slmllur u lus Buses de Dutos Reluclonules, en el cuso de JuYu, utlllzundo JDBC o ulgun Frumework como Hlbernute.
Al prlnclplo los desurrollos ms lmportuntes fueron Ilustru y Postrgres dlrlgldos por el lnYestlgudor Dr. Mlchuel Stone Breuker en lu UnlYersldud de Berkeley. Posterlormente gruclus u lus bondudes de lu llcenclu BSD en que se encontrubun Ilustru y postgres, surgen grun cuntldud de productos comerclules cutulogudos como buses de dutos ob|eto reluclonul, Omnlsclense (Posterlormente udqulrldo por Orucle, futuro Orucle Llte ) , UnlSOL (Posterlormenmte udqulrldo por KCOMS), Illustru(Adqulrldo por Informlx y luego por IBM).