{"id":97,"date":"2013-08-30T11:42:56","date_gmt":"2013-08-30T11:42:56","guid":{"rendered":"https:\/\/aheaddata.com\/?p=97"},"modified":"2022-11-03T09:46:10","modified_gmt":"2022-11-03T09:46:10","slug":"que-ho-faca-la-base-de-dades","status":"publish","type":"post","link":"https:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/","title":{"rendered":"\u00a1Que lo haga la base de datos!"},"content":{"rendered":"<p>Cuando trabajaba en un grup de \u00abconsultor\u00eda\u00bb en la Universitat de Val\u00e8ncia, ten\u00edamos una expresi\u00f3n que resum\u00eda parte del trabajo de esta semana: \u00ab\u00a1<em>Que lo haga Oracle!<\/em>\u00ab.<\/p>\n<p><a href=\"https:\/\/aheaddata.com\/wp-content\/uploads\/2013\/08\/base-de-datos-1.jpg\"><img loading=\"lazy\" class=\"alignleft size-thumbnail wp-image-98\" alt=\"base-de-datos-1\" src=\"https:\/\/aheaddata.com\/wp-content\/uploads\/2013\/08\/base-de-datos-1-150x150.jpg\" width=\"150\" height=\"150\" srcset=\"https:\/\/aheaddata.com\/wp-content\/uploads\/2013\/08\/base-de-datos-1-150x150.jpg 150w, https:\/\/aheaddata.com\/wp-content\/uploads\/2013\/08\/base-de-datos-1-100x100.jpg 100w, https:\/\/aheaddata.com\/wp-content\/uploads\/2013\/08\/base-de-datos-1-31x31.jpg 31w, https:\/\/aheaddata.com\/wp-content\/uploads\/2013\/08\/base-de-datos-1-38x38.jpg 38w, https:\/\/aheaddata.com\/wp-content\/uploads\/2013\/08\/base-de-datos-1-215x215.jpg 215w, https:\/\/aheaddata.com\/wp-content\/uploads\/2013\/08\/base-de-datos-1.jpg 256w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><\/p>\n<p>Una de las preocupaciones que siempre tiene (o deber\u00eda tener) un programador es el rendimiento de lo que est\u00e1 creando. Al menos es una de las cosas que a mi me interesan (pod\u00e9is consultar la entrada anterior del blog en que se hablaba de la\u00a0<a title=\"Creaci\u00f3n de cache para marcas de GoogleMaps\" href=\"https:\/\/aheaddata.com\/es\/2013\/08\/web-serra-mariola\/\" target=\"_blank\" rel=\"noopener\">creaci\u00f3n de una <em>cache<\/em>\u00a0en WordPress para agilizar la carga de marcas en un mapa de GoogleMaps<\/a>). En esta ocasi\u00f3n hemos reingeniado parte de una aplicaci\u00f3n Java que ejecutaba una serie de tareas (<em>batch<\/em>) y realizaba numerosas inserciones en base de datos, de forma que ahora se hace todo desde base de datos. As\u00ed nos ahorramos las conexiones-desconexiones de la base de datos y las esperas y conversiones de datos que supone ejecutar c\u00f3digo Java (o PHP) y despu\u00e9s SQL, para volver a ejecutar Java y volver a ejecutar SQL, etc.<\/p>\n<p>La soluci\u00f3n nos ha dado el resultado siguiente:<\/p>\n<ul>\n<li>Una tarea que pod\u00eda costar un cuarto de hora en Java-SQL no llega ni al minuto cuando es plenamente ejecutada por la base de datos.<\/li>\n<li>El hecho de trabajarlo todo desde la base de datos nos ha facilitado tratar todo el proceso como a una transacci\u00f3n \u00fanica de base de datos: se realiza completa o se anula tambi\u00e9n completamente, como si el usuario no hubiese empezado el proceso.<\/li>\n<\/ul>\n<p>Per\u00f2 atenci\u00f3n, tambi\u00e9n tiene algunos inconvenientes:<\/p>\n<ul>\n<li>El\u00a0<a title=\"\u00bfQu\u00e9 es el redo log?\" href=\"https:\/\/es.wikipedia.org\/wiki\/Redo_Log_File\" target=\"_blank\" rel=\"noopener\">redo log<\/a>\u00a0de la base de datos ha de ser suficientmente grande para todas les operaciones que pensemos ejecutar como una \u00fanica transacci\u00f3n.<\/li>\n<li>Se complica la posibilidad de mostrarle al usuario una barra de progreso que responda al progreso real de la tarea, aunque en este caso no era importante.<\/li>\n<li>Esta soluci\u00f3, evidentemente, no ser\u00e1 v\u00e1lida para sistemas en los que la carga de la base de datos por parte de un usuario durante tiempos importantes (por ejemplo un minuto) pueda ser un problema.<\/li>\n<li>Las consultas SQL ser\u00e1n m\u00e1s complejas e incluso pueden hacer falta <em>triggers<\/em> o funciones PL-SQL.<\/li>\n<\/ul>\n<p>La moda de los CMS y dem\u00e1s sistemas de programaci\u00f3n \u00abpreconstruidos\u00bb hacen pensar a mucha gente que no hace falta saber SQL para programar. Est\u00e1 claro que eso puede ser cierto para proyectos sencillos y que no van a crecer en el futuro, pero cuando el rendimiento importa todos los detalles son cruciales.<\/p>","protected":false},"excerpt":{"rendered":"<p>Cuando trabajaba en un grup de \u00abconsultor\u00eda\u00bb en la Universitat de Val\u00e8ncia, ten\u00edamos una expresi\u00f3n que resum\u00eda parte del trabajo de esta semana: \u00ab\u00a1Que lo haga Oracle!\u00ab. Una de las preocupaciones que siempre tiene (o deber\u00eda tener) un programador es &hellip; <a href=\"https:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/\">Continuar<\/a><\/p>\n","protected":false},"author":333999,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[8],"tags":[100,11,10,9,12],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Que ho fa\u00e7a la base de dades!\u00a1Que lo haga la base de datos! - Ahead Data Inform\u00e1tica<\/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:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Que ho fa\u00e7a la base de dades!\u00a1Que lo haga la base de datos! - Ahead Data Inform\u00e1tica\" \/>\n<meta property=\"og:description\" content=\"Cuando trabajaba en un grup de \u00abconsultor\u00eda\u00bb en la Universitat de Val\u00e8ncia, ten\u00edamos una expresi\u00f3n que resum\u00eda parte del trabajo de esta semana: \u00ab\u00a1Que lo haga Oracle!\u00ab. Una de las preocupaciones que siempre tiene (o deber\u00eda tener) un programador es &hellip; Continuar\" \/>\n<meta property=\"og:url\" content=\"https:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/\" \/>\n<meta property=\"og:site_name\" content=\"Ahead Data Inform\u00e1tica\" \/>\n<meta property=\"article:published_time\" content=\"2013-08-30T11:42:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-03T09:46:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/aheaddata.com\/wp-content\/uploads\/2013\/08\/base-de-datos-1-150x150.jpg\" \/>\n<meta name=\"author\" content=\"web@aheaddata.com\" \/>\n<meta name=\"twitter:card\" content=\"summary\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"web@aheaddata.com\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/aheaddata.com\/es\/#website\",\"url\":\"https:\/\/aheaddata.com\/es\/\",\"name\":\"Ahead Data Inform\u00e1tica\",\"description\":\"Programaci\u00f3n, dise\u00f1o web y mantenimiento inform\u00e1tico\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/aheaddata.com\/es\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/\",\"url\":\"https:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/\",\"name\":\"Que ho fa\u00e7a la base de dades!\u00a1Que lo haga la base de datos! - Ahead Data Inform\u00e1tica\",\"isPartOf\":{\"@id\":\"https:\/\/aheaddata.com\/es\/#website\"},\"datePublished\":\"2013-08-30T11:42:56+00:00\",\"dateModified\":\"2022-11-03T09:46:10+00:00\",\"author\":{\"@id\":\"https:\/\/aheaddata.com\/#\/schema\/person\/86e344da57003c643d2f1faaff7b54a0\"},\"breadcrumb\":{\"@id\":\"https:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[[\"https:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/\"]]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inici\",\"item\":\"https:\/\/aheaddata.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Que ho fa\u00e7a la base de dades!\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/aheaddata.com\/#\/schema\/person\/86e344da57003c643d2f1faaff7b54a0\",\"name\":\"web@aheaddata.com\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/aheaddata.com\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6c685aadd1ebe248c8c9c5d003c88cf7?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6c685aadd1ebe248c8c9c5d003c88cf7?s=96&d=identicon&r=g\",\"caption\":\"web@aheaddata.com\"},\"url\":\"https:\/\/aheaddata.com\/es\/author\/webaheaddata-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Que ho fa\u00e7a la base de dades!\u00a1Que lo haga la base de datos! - Ahead Data Inform\u00e1tica","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:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/","og_locale":"es_ES","og_type":"article","og_title":"Que ho fa\u00e7a la base de dades!\u00a1Que lo haga la base de datos! - Ahead Data Inform\u00e1tica","og_description":"Cuando trabajaba en un grup de \u00abconsultor\u00eda\u00bb en la Universitat de Val\u00e8ncia, ten\u00edamos una expresi\u00f3n que resum\u00eda parte del trabajo de esta semana: \u00ab\u00a1Que lo haga Oracle!\u00ab. Una de las preocupaciones que siempre tiene (o deber\u00eda tener) un programador es &hellip; Continuar","og_url":"https:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/","og_site_name":"Ahead Data Inform\u00e1tica","article_published_time":"2013-08-30T11:42:56+00:00","article_modified_time":"2022-11-03T09:46:10+00:00","og_image":[{"url":"https:\/\/aheaddata.com\/wp-content\/uploads\/2013\/08\/base-de-datos-1-150x150.jpg"}],"author":"web@aheaddata.com","twitter_card":"summary","twitter_misc":{"Escrito por":"web@aheaddata.com","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/aheaddata.com\/es\/#website","url":"https:\/\/aheaddata.com\/es\/","name":"Ahead Data Inform\u00e1tica","description":"Programaci\u00f3n, dise\u00f1o web y mantenimiento inform\u00e1tico","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/aheaddata.com\/es\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/","url":"https:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/","name":"Que ho fa\u00e7a la base de dades!\u00a1Que lo haga la base de datos! - Ahead Data Inform\u00e1tica","isPartOf":{"@id":"https:\/\/aheaddata.com\/es\/#website"},"datePublished":"2013-08-30T11:42:56+00:00","dateModified":"2022-11-03T09:46:10+00:00","author":{"@id":"https:\/\/aheaddata.com\/#\/schema\/person\/86e344da57003c643d2f1faaff7b54a0"},"breadcrumb":{"@id":"https:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":[["https:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/"]]}]},{"@type":"BreadcrumbList","@id":"https:\/\/aheaddata.com\/es\/2013\/08\/que-ho-faca-la-base-de-dades\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inici","item":"https:\/\/aheaddata.com\/es\/"},{"@type":"ListItem","position":2,"name":"Que ho fa\u00e7a la base de dades!"}]},{"@type":"Person","@id":"https:\/\/aheaddata.com\/#\/schema\/person\/86e344da57003c643d2f1faaff7b54a0","name":"web@aheaddata.com","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/aheaddata.com\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6c685aadd1ebe248c8c9c5d003c88cf7?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6c685aadd1ebe248c8c9c5d003c88cf7?s=96&d=identicon&r=g","caption":"web@aheaddata.com"},"url":"https:\/\/aheaddata.com\/es\/author\/webaheaddata-com\/"}]}},"_links":{"self":[{"href":"https:\/\/aheaddata.com\/es\/wp-json\/wp\/v2\/posts\/97"}],"collection":[{"href":"https:\/\/aheaddata.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aheaddata.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aheaddata.com\/es\/wp-json\/wp\/v2\/users\/333999"}],"replies":[{"embeddable":true,"href":"https:\/\/aheaddata.com\/es\/wp-json\/wp\/v2\/comments?post=97"}],"version-history":[{"count":5,"href":"https:\/\/aheaddata.com\/es\/wp-json\/wp\/v2\/posts\/97\/revisions"}],"predecessor-version":[{"id":1137,"href":"https:\/\/aheaddata.com\/es\/wp-json\/wp\/v2\/posts\/97\/revisions\/1137"}],"wp:attachment":[{"href":"https:\/\/aheaddata.com\/es\/wp-json\/wp\/v2\/media?parent=97"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aheaddata.com\/es\/wp-json\/wp\/v2\/categories?post=97"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aheaddata.com\/es\/wp-json\/wp\/v2\/tags?post=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}