{"id":15,"date":"2011-10-08T12:20:58","date_gmt":"2011-10-08T15:20:58","guid":{"rendered":"http:\/\/www.fernandosimon.com\/blog\/?p=15"},"modified":"2019-09-13T20:28:12","modified_gmt":"2019-09-13T23:28:12","slug":"iorm-parte-ii","status":"publish","type":"post","link":"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/","title":{"rendered":"IORM &#8211; Parte II"},"content":{"rendered":"<p>Depois de um breve hiato (mais um), volto a falar sobre o IORM. Acredito que seja interessante a leitura do \u00faltimo <em>post<\/em> para quem est\u00e1 chegando agora.<\/p>\n<p>Algo importante a ser observado no IORM \u00e9 a granularidade, qual o n\u00edvel de controle que voc\u00ea deseja ter sobre o I\/O do seu Exadata. At\u00e9 que n\u00edvel de controle voc\u00ea deseja chegar, mas lembrando que quanto maior o controle maior a complexidade de gerenciamento.<\/p>\n<p>Como disse no post anterior, o IORM \u00e9 um&nbsp;<em>resource manager<\/em>. Desta forma a sua configura\u00e7\u00e3o \u00e9 muito parecida com o <em>Resource Manager<\/em> do banco de dados, na realidade eles est\u00e3o intimamente ligados. Devido a esta similaridade, a configura\u00e7\u00e3o do IORM baseia-se em n\u00edveis e aloca\u00e7\u00e3o de recursos (cabe um adendo para dizer que pode ser por limite tamb\u00e9m).<\/p>\n<p>Assim, no IORM voc\u00ea pode exercer este controle de algumas formas, basicamente por dois grupos: <em>catplan<\/em> e <em>dbplan<\/em>. O <em>catplan<\/em> \u00e9 a distin\u00e7\u00e3o de I\/O por categorias, estas definidas dentro de cada banco de dados. E o <em>dbplan<\/em> \u00e9 a configura\u00e7\u00e3o baseada somente em banco de dados.<\/p>\n<p>A defini\u00e7\u00e3o de <em>catplan<\/em> vai al\u00e9m do IORM, ela vem diretamente do banco de dados. No <em>catplan<\/em> o I\/O distribu\u00eddo pelo plano do IORM leva em considera\u00e7\u00e3o as categorias definidas para o <em>Consumer Group<\/em> dentro do banco de dados. Por outro lado o <em>dbplan<\/em> faz com que a aloca\u00e7\u00e3o de I\/O seja direcionada pelo IORM entre os bancos de dados especificados no plano.<\/p>\n<p>Um ponto importante, e uma das grandes vantagens do IORM para mim, \u00e9 a possibilidade de utilizar mesmas categorias em bancos de dados distintos. Assim, por exemplo, voc\u00ea pode ter uma categoria <em>batch<\/em> no IORM para garantir (ou restringir) o I\/O independente do banco de origem.<\/p>\n<p>Voc\u00ea pode achar que isso estranho ou que n\u00e3o seja correto, mas em um cen\u00e1rio onde voc\u00ea tem diversos bancos no seu Exadata voc\u00ea n\u00e3o gostaria de ter uma rotina de carga de dados influenciando as consultas de sua aplica\u00e7\u00e3o cr\u00edtica, n\u00e3o \u00e9? Se voc\u00ea estivesse utilizando somente o <em>dbplan<\/em> o <em>batch<\/em> de um banco poderia estar influenciando (leia-se roubando I\/O) de outro banco.<\/p>\n<p>Al\u00e9m disso, voc\u00ea pode utilizar o <em>catplan<\/em> e <em>dbplan<\/em> em conjunto, maximizando a granularidade do seu controle. Assim mesmo especificando categorias voc\u00ea pode definir qual o banco que receber\u00e1 mais I\/O daquela categoria. Supondo dois bancos A e B e duas categorias C e D em um plano onde a categoria C tem 70% de I\/O e a D tem 20 % (sobrando 10% para qualquer outra) e o banco A com 60% e o B 40%. Isso significa que a categoria C tem garantia de 70% de I\/O e o banco A tem garantia de 60% destes 70%.<\/p>\n<p>Isso ocorre, pois o <em>catplan<\/em> tem prioridade sobre o <em>dbplan<\/em>. Infelizmente na documenta\u00e7\u00e3o n\u00e3o existe esta defini\u00e7\u00e3o clara desta rela\u00e7\u00e3o, mas em uma SR tive uma conversa com a equipe de desenvolvimento e esta informa\u00e7\u00e3o foi repassada.<\/p>\n<p>Assim, voc\u00ea pode ter uma id\u00e9ia b\u00e1sica de como a granularidade do IORM funciona, como voc\u00ea pode garantir a distribui\u00e7\u00e3o do I\/O entre categorias e bancos de dados. Indo um pouco mais, voc\u00ea pode observar que o plano do IORM pode ser facilmente integrado com o <em>Resource Manager<\/em> do banco de dados e, indo um pouco mais fundo, integrado com servi\u00e7os. Fica f\u00e1cil ver at\u00e9 onde podemos chegar, at\u00e9 que n\u00edvel de controle voc\u00ea pode ter e qual a granularidade de seu I\/O.<\/p>\n<p>Vamos aos fatos, qual o <em>storage<\/em> hoje em que voc\u00ea pode dizer que o I\/O para o servi\u00e7o que atende conex\u00f5es web pode ter prioridade sobre o que atende conex\u00f5es desktop, e isso independente do banco origem da conex\u00e3o e sem fazer qualquer altera\u00e7\u00e3o na estrutura de seu banco? Fica f\u00e1cil entender porque o Exadata n\u00e3o \u00e9 somente hardware, e isso que nem falei tudo sobre o IORM (como por exemplo, desabilitar o uso da <em>flashcache<\/em> ou o tipo de carga).<\/p>\n<p>Nos pr\u00f3ximos posts falarei um pouco mais do IORM e, o mais importante, com exemplos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Depois de um breve hiato (mais um), volto a falar sobre o IORM. Acredito que seja interessante a leitura do \u00faltimo post para quem est\u00e1 chegando agora. Algo importante a ser observado no IORM \u00e9 a granularidade, qual o n\u00edvel de controle que voc\u00ea deseja ter sobre o I\/O do seu Exadata. At\u00e9 que n\u00edvel [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[6,8,5,9],"tags":[],"class_list":["post-15","post","type-post","status-publish","format-standard","hentry","category-exadata","category-iorm","category-oracle","category-storage-server"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>IORM - Parte II - Fernando Simon<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"IORM - Parte II - Fernando Simon\" \/>\n<meta property=\"og:description\" content=\"Depois de um breve hiato (mais um), volto a falar sobre o IORM. Acredito que seja interessante a leitura do \u00faltimo post para quem est\u00e1 chegando agora. Algo importante a ser observado no IORM \u00e9 a granularidade, qual o n\u00edvel de controle que voc\u00ea deseja ter sobre o I\/O do seu Exadata. At\u00e9 que n\u00edvel [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/\" \/>\n<meta property=\"og:site_name\" content=\"Fernando Simon\" \/>\n<meta property=\"article:published_time\" content=\"2011-10-08T15:20:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-09-13T23:28:12+00:00\" \/>\n<meta name=\"author\" content=\"Simon\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Simon\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/\"},\"author\":{\"name\":\"Simon\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\"},\"headline\":\"IORM &#8211; Parte II\",\"datePublished\":\"2011-10-08T15:20:58+00:00\",\"dateModified\":\"2019-09-13T23:28:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/\"},\"wordCount\":707,\"commentCount\":3,\"articleSection\":[\"Exadata\",\"IORM\",\"Oracle\",\"Storage Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/\",\"name\":\"IORM - Parte II - Fernando Simon\",\"isPartOf\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#website\"},\"datePublished\":\"2011-10-08T15:20:58+00:00\",\"dateModified\":\"2019-09-13T23:28:12+00:00\",\"author\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.fernandosimon.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"IORM &#8211; Parte II\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#website\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/\",\"name\":\"Fernando Simon\",\"description\":\"Have you hugged your backup today?\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.fernandosimon.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\",\"name\":\"Simon\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g\",\"caption\":\"Simon\"},\"sameAs\":[\"http:\/\/www.fernandosimon.com\"],\"url\":\"https:\/\/www.fernandosimon.com\/blog\/author\/simon\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"IORM - Parte II - Fernando Simon","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/","og_locale":"en_US","og_type":"article","og_title":"IORM - Parte II - Fernando Simon","og_description":"Depois de um breve hiato (mais um), volto a falar sobre o IORM. Acredito que seja interessante a leitura do \u00faltimo post para quem est\u00e1 chegando agora. Algo importante a ser observado no IORM \u00e9 a granularidade, qual o n\u00edvel de controle que voc\u00ea deseja ter sobre o I\/O do seu Exadata. At\u00e9 que n\u00edvel [&hellip;]","og_url":"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/","og_site_name":"Fernando Simon","article_published_time":"2011-10-08T15:20:58+00:00","article_modified_time":"2019-09-13T23:28:12+00:00","author":"Simon","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Simon","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/#article","isPartOf":{"@id":"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/"},"author":{"name":"Simon","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9"},"headline":"IORM &#8211; Parte II","datePublished":"2011-10-08T15:20:58+00:00","dateModified":"2019-09-13T23:28:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/"},"wordCount":707,"commentCount":3,"articleSection":["Exadata","IORM","Oracle","Storage Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/","url":"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/","name":"IORM - Parte II - Fernando Simon","isPartOf":{"@id":"https:\/\/www.fernandosimon.com\/blog\/#website"},"datePublished":"2011-10-08T15:20:58+00:00","dateModified":"2019-09-13T23:28:12+00:00","author":{"@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9"},"breadcrumb":{"@id":"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.fernandosimon.com\/blog\/iorm-parte-ii\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fernandosimon.com\/blog\/"},{"@type":"ListItem","position":2,"name":"IORM &#8211; Parte II"}]},{"@type":"WebSite","@id":"https:\/\/www.fernandosimon.com\/blog\/#website","url":"https:\/\/www.fernandosimon.com\/blog\/","name":"Fernando Simon","description":"Have you hugged your backup today?","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fernandosimon.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9","name":"Simon","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g","caption":"Simon"},"sameAs":["http:\/\/www.fernandosimon.com"],"url":"https:\/\/www.fernandosimon.com\/blog\/author\/simon\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5ofTp-f","_links":{"self":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts\/15","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/comments?post=15"}],"version-history":[{"count":0,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts\/15\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/media?parent=15"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/categories?post=15"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/tags?post=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}