{"id":4101,"date":"2013-04-06T23:52:28","date_gmt":"2013-04-06T21:52:28","guid":{"rendered":"http:\/\/www.palentino.es\/blog\/?p=4101"},"modified":"2013-04-07T00:17:06","modified_gmt":"2013-04-06T22:17:06","slug":"la-eleccion-del-gestor-adecuado-de-informacion-para-tus-proyectos","status":"publish","type":"post","link":"https:\/\/www.palentino.es\/blog\/la-eleccion-del-gestor-adecuado-de-informacion-para-tus-proyectos\/","title":{"rendered":"La elecci\u00f3n del gestor adecuado de informaci\u00f3n para tus proyectos."},"content":{"rendered":"<p style=\"text-align: justify;\">La decisi\u00f3n de una correcta base de datos en tus proyectos no es algo trivial. De ello depende en el\u00a0 \u00e9xito de tus trabajos. El futuro del proyecto.<\/p>\n<p style=\"text-align: justify;\">Los responsables TI nos enfrentamos a dif\u00edciles decisiones al comienzo del proyecto que marcan el devenir del resultado.<\/p>\n<p style=\"text-align: justify;\">Existen diversos factores que voy a exponer en esta entrada\u2026<\/p>\n<p><!--more--><\/p>\n<p style=\"text-align: justify;\">La elecci\u00f3n de un gestor de bases de datos, se est\u00e1 convirtiendo en algo crucial para la empresas. Tendremos que considerar el tipo, puesto que no todas ellas se basan en SQL.<\/p>\n<p style=\"text-align: justify;\">Existen las bases de datos que no tienen que ser SQL y que representan un nicho importante en grandes empresas por sus ventajas.<\/p>\n<p style=\"text-align: justify;\">Uno de los grandes retos es elegir un gestor que se adapte al volumen de datos a manejar y precio por el que estamos dispuestos a pagar. Obviamente, las bases de datos Open Source o de c\u00f3digo abierto emergen como claras ganadoras en el plano\u00a0 econ\u00f3mico, ahorrando sustanciales cantidades de dinero a compa\u00f1\u00edas.<\/p>\n<p style=\"text-align: justify;\">La elecci\u00f3n de una base de datos debe ser estudiada detalladamente. Los gestores IT no pueden tomar dediciones equivocadas.<\/p>\n<p style=\"text-align: justify;\">Mysql y PostgreSQL son dos populares alternativas en el mundo de las bases de datos abiertas. Pero no son las \u00fanicas y en muchos casos las mejores. El campo de bases de datos es ya maduro, y existen muchos productos eficaces en el mercado.<\/p>\n<p style=\"text-align: justify;\"><strong>Consideraciones a tener en cuenta a la hora de seleccionar una base de datos.<\/strong><\/p>\n<ul>\n<li>Precio. Evidentemente.<\/li>\n<li><span style=\"text-align: justify;\">Concurrencia, n\u00famero de usuarios que son soportados por el gestor en un instante determinado. Desde unos pocos hasta millones.<\/span><\/li>\n<li><span style=\"text-align: justify;\">Tipo de datos a trabajar, no es lo mismo informaci\u00f3n en forma de registros, im\u00e1genes, pel\u00edculas, mapas, libros, objetos, etc.<\/span><\/li>\n<li><span style=\"text-align: justify;\">El volumen de los datos, cantidad de informaci\u00f3n. Desde Megas hasta Petabytes.<\/span><\/li>\n<li><span style=\"text-align: justify;\">Velocidad a la hora de realizar operaciones y transacciones. Velocidad a la hora de generar datos, de acceder a ellos o almacenarlos.<\/span><\/li>\n<li><span style=\"text-align: justify;\">La decisi\u00f3n sobre la importancia de las lecturas o escrituras.Pueden existir miles de usuario consultando informaci\u00f3n y pocos escribiendo.<\/span><\/li>\n<li><span style=\"text-align: justify;\">La necesidad de que la informaci\u00f3n se encuentre distribuida. En un s\u00f3lo equipo o a trav\u00e9s del planeta.<\/span><\/li>\n<li><span style=\"text-align: justify;\">Los mecanismos de acceso a la informaci\u00f3n por parte del motor. Si existen complejas consultas relacionadas. Si se va a realizar una miner\u00eda de datos y un procesamiento anal\u00edtico.<\/span><\/li>\n<li style=\"text-align: justify;\"><span style=\"text-align: justify;\">Nivel de experiencia y aprendizaje de los ingenieros encargados de trabajar con el motor del gestor, mecanismos de consulta, habilidades en el lenguaje. Este requisito es fundamental puesto que para determinadas filosof\u00edas y metodolog\u00edas de desarrollo, lo importante son las personas, y grado de conocimiento. Equipo de trabajo a tener en cuenta. Los gestores del motor y los encargados de manipular y consultar la informaci\u00f3n.<\/span><\/li>\n<li><span style=\"text-align: justify;\">El lenguaje de acceso empleado para manipular la informaci\u00f3n. Desde C hasta Golang o Python<\/span><\/li>\n<li><span style=\"text-align: justify;\">Grado de monitorizaci\u00f3n del gestor.<\/span><\/li>\n<li><span style=\"text-align: justify;\">El soporte ofrecido por el equipo de desarrollo del motor. Muy importante. Las actualizaciones del producto y mejoras. Elegir un gestor con futuro.<\/span><\/li>\n<li><span style=\"text-align: justify;\">Mecanismos de recuperaci\u00f3n de la informaci\u00f3n en caso de p\u00e9rdida de datos.<\/span><\/li>\n<li><span style=\"text-align: justify;\">Niveles de seguridad de acceso. Los datos son de uso com\u00fan o nos encontramos con informaci\u00f3n de car\u00e1cter personal o secreto.<\/span><\/li>\n<li><span style=\"text-align: justify;\">Niveles de integraci\u00f3n con diversas tecnolog\u00edas, para crear un ecosistema de\u00a0convivencia\u00a0entre diversos productos y versiones.<\/span><\/li>\n<li><span style=\"text-align: justify;\">Empleo. Si va a ser usada en la web, o en intranets locales. O diferentes delegaciones.<\/span><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Por lo tanto un responsable TI necesita estudiar todos estos aspectos para escoger el gestor adecuado.<\/p>\n<p style=\"text-align: justify;\"><strong>\u00daltimas tendencias en el mundo de las bases de datos.<\/strong><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000080;\"><strong>El State of the Art se dirige hacia el Big Data, la nube, los sistemas NoSQL, la alta disponibilidad, y adaptaci\u00f3n a arquitecturas multiprocesador y dispositivos de estado s\u00f3lido o (SSD)<\/strong><\/span><\/p>\n<p style=\"text-align: justify;\"><strong>Big Data:<\/strong> Un conjunto elevado de datos generalmente \u00a0generado por dispositivos o devices. Ejemplos: datos sobre climatolog\u00eda, actividad de los usuarios en la web, tr\u00e1fico, patrones de conducta social, informaci\u00f3n constante de procesos abiertos. Son datos abundantes y se incrementan de forma exponencial en el tiempo y con el uso. Una caracter\u00edstica interesante del Big data es que los datos por si solos no poseen valor. Es decir, saber la temperatura que hace a las 4:30 de la ma\u00f1ana de un\u00a0d\u00eda\u00a0cualquiera no es relevante, pero si analizamos todo en conjunto, la informaci\u00f3n, las medias, el resultado es informaci\u00f3n muy valiosa. El <a href=\"http:\/\/es.wikipedia.org\/wiki\/Big_data\" target=\"_blank\">big data<\/a> necesita pues gran cantidad de procesamiento y capacidades computacionales.<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/bigdata.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4111\" alt=\"bigdata\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/bigdata.gif\" width=\"576\" height=\"442\" \/><\/a><\/p>\n<p style=\"text-align: justify;\"><strong>NoSQL<\/strong><\/p>\n<p style=\"text-align: justify;\">Los desarrolladores y proveedores de informaci\u00f3n requieren mayor flexibilidad a la hora de almacenar datos. Sus estructuras de datos son diversas. Estos sistemas difieren de los SGBDR, siendo lo m\u00e1s destacado la no utilizaci\u00f3n del lenguaje SQL para realizar consultas. Estos sistemas no garantizan el ACID (atomicidad, coherencia, aislamiento y durabilidad) y habitualmente escalan bien horizontalmente.<\/p>\n<p style=\"text-align: justify;\">Los sistemas de bases de datos NoSQL crecieron con las principales compa\u00f1\u00edas de Internet, como Google, Amazon, Twitter y Facebook. Estas ten\u00edan que enfrentarse a desaf\u00edos con el tratamiento de datos que las tradicionales RDBMS no solucionaban. Con el crecimiento de la web en tiempo real exist\u00eda una necesidad de proporcionar informaci\u00f3n procesada a partir de grandes vol\u00famenes de datos que ten\u00edan unas estructuras horizontales m\u00e1s o menos similares. Estas compa\u00f1\u00edas se dieron cuenta que el rendimiento y sus propiedades de tiempo real eran m\u00e1s importantes que la coherencia, en la que las bases de datos relacionales tradicionales dedicaban una gran cantidad de tiempo de proceso.<\/p>\n<p style=\"text-align: justify;\">En ese sentido, a menudo, las bases de datos NoSQL est\u00e1n altamente optimizadas para las operaciones recuperar y agregar, y normalmente no ofrecen mucho m\u00e1s que la funcionalidad de almacenar los registros (p.ej. almacenamiento clave-valor). La p\u00e9rdida de flexibilidad en tiempo de ejecuci\u00f3n, comparado con los sistemas SQL cl\u00e1sicos, se ve compensada por ganancias significativas en escalabilidad y rendimiento cuando se trata con ciertos modelos de datos.<\/p>\n<p style=\"text-align: justify;\">Os dejo los enlaces de ejemplos de este sistema:<\/p>\n<ul>\n<li><a href=\"http:\/\/es.wikipedia.org\/wiki\/CouchDB\" target=\"_blank\">Apache CouchDB<\/a><\/li>\n<li><a style=\"text-align: justify;\" href=\"http:\/\/es.wikipedia.org\/wiki\/CouchDB\" target=\"_blank\"><span style=\"color: #333333;\">\u00a0<\/span><\/a><a href=\"http:\/\/es.wikipedia.org\/wiki\/MongoDB\" target=\"_blank\">MongoDB<\/a><\/li>\n<li><a href=\"http:\/\/es.wikipedia.org\/wiki\/CouchDB\" target=\"_blank\"><span style=\"color: #333333;\">\u00a0<\/span><\/a><a href=\"http:\/\/es.wikipedia.org\/wiki\/Neo4j\" target=\"_blank\">Neo4j<\/a><\/li>\n<li><a href=\"http:\/\/es.wikipedia.org\/wiki\/MongoDB\" target=\"_blank\"><span style=\"color: #333333;\">\u00a0<\/span><\/a><a href=\"http:\/\/en.wikipedia.org\/wiki\/FlockDB\" target=\"_blank\">FlockDB<\/a><\/li>\n<li><a href=\"http:\/\/es.wikipedia.org\/wiki\/Neo4j\" target=\"_blank\"><span style=\"color: #333333;\">\u00a0<\/span><\/a><a href=\"http:\/\/es.wikipedia.org\/wiki\/Apache_Cassandra\" target=\"_blank\">Cassandra<\/a><\/li>\n<li><a href=\"http:\/\/en.wikipedia.org\/wiki\/FlockDB\" target=\"_blank\"><span style=\"color: #333333;\">\u00a0<\/span><\/a><a href=\"http:\/\/www.project-voldemort.com\/voldemort\/\" target=\"_blank\">Voldemort<\/a><\/li>\n<li><a href=\"http:\/\/es.wikipedia.org\/wiki\/Apache_Cassandra\" target=\"_blank\"><span style=\"color: #333333;\">\u00a0<\/span><\/a><a href=\"http:\/\/en.wikipedia.org\/wiki\/Hypertable\" target=\"_blank\">Hypertable<\/a><\/li>\n<li><a href=\"http:\/\/www.project-voldemort.com\/voldemort\/\" target=\"_blank\"><span style=\"color: #333333;\">\u00a0<\/span><\/a><a href=\"http:\/\/en.wikipedia.org\/wiki\/HBase\" target=\"_blank\">HBase<\/a><\/li>\n<\/ul>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/nosql-logos.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4109\" alt=\"nosql-logos\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/nosql-logos.png\" width=\"400\" height=\"308\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/nosql-logos.png 400w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/nosql-logos-300x231.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\"><strong>Dispositivos de estado s\u00f3lido<\/strong><\/p>\n<p style=\"text-align: justify;\">La era de los discos duros mec\u00e1nicos est\u00e1 llegando a su fin d\u00eda a d\u00eda. Los accesos \u00a0al los dispositivos SSD a en cuanto a lectura y escritura poseen mayores virtudes. Las optimizaciones que se deben realizar para los accesos difieren de los discos duros tradicionales.<\/p>\n<p style=\"text-align: justify;\"><strong>La nube (cloud)<\/strong><\/p>\n<p style=\"text-align: justify;\">Las empresas de internet despliegan sus propios sistemas de almacenamiento.\u00a0 Accediendo principalmente a archivos a trav\u00e9s de la nube. Soportan principalmente m\u00faltiples sistemas operativos y optimizan de forma individual sus sistemas de b\u00fasqueda. Ejemplo Google Drive<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/Cloud_computing_layers.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4113\" alt=\"Cloud_computing_layers\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/Cloud_computing_layers.png\" width=\"348\" height=\"322\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/Cloud_computing_layers.png 348w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/Cloud_computing_layers-300x277.png 300w\" sizes=\"auto, (max-width: 348px) 100vw, 348px\" \/><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/cloud-storage.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-4114\" alt=\"cloud-storage\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/cloud-storage-300x199.jpg\" width=\"300\" height=\"199\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/cloud-storage-300x199.jpg 300w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/cloud-storage.jpg 700w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/a><\/p>\n<p style=\"text-align: justify;\"><strong>Alta disponibilidad<\/strong><\/p>\n<p style=\"text-align: justify;\">Disponibilidad se refiere a la habilidad de la comunidad de\u00a0usuarios\u00a0para acceder al sistema, someter nuevos trabajos, actualizar o alterar trabajos existentes o recoger los resultados de trabajos previos. Si un usuario no puede acceder al sistema se dice que est\u00e1 no disponible. El t\u00e9rmino tiempo de inactividad (downtime) es usado para definir cu\u00e1ndo el sistema no est\u00e1 disponible. Por poner un ejemplo, Mysql presenta una alternativa especializada llamada MYSQL Cl\u00faster que permite asegurar alta redundancia y disponibilidad. Otro ejemplo es Cl\u00faster Oracle mediante RAC, que es la soluci\u00f3n que Oracle presenta para que dos o m\u00e1s ordenadores llamados nodos puedan acceder a un solo repositorio de datos. SQl Server ofrece el reflejo de base de datos.<\/p>\n<p style=\"text-align: justify;\">M\u00e1s informaci\u00f3n :\u00a0 <a href=\"http:\/\/www.docstoc.com\/docs\/35935799\/Soluciones-de-alta-disponibilidad-en-bases-de-datos\" target=\"_blank\">http:\/\/www.docstoc.com\/docs\/35935799\/Soluciones-de-alta-disponibilidad-en-bases-de-datos<\/a><\/p>\n<p style=\"text-align: justify;\"><strong>Sistemas con m\u00faltiple procesador<\/strong><\/p>\n<p style=\"text-align: justify;\">Procesadores multi-core: la tecnolog\u00eda de procesador se dirige hace tiempo a n\u00facleos m\u00faltiples y procesamiento en paralelo. Las nuevas arquitecturas de software necesitan explotar la capacidad de computaci\u00f3n. El procesamiento en paralelo se basa principalmente en Multiprocesadores fuertemente acoplados que cooperan para la realizaci\u00f3n de los procesos. El objetivo del paralelismo en lo sistemas de bases de datos suele ser asegurar que la ejecuci\u00f3n del sistema se continuar\u00e1 realiz\u00e1ndose a una velocidad aceptable, incluso en el caso de que aumente el tama\u00f1o de la base de datos o el n\u00famero de transacciones. El n\u00facleo de estos motores deben aprovechar al m\u00e1ximo los sistemas con m\u00faltiples procesadores.<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/multicore.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4115\" alt=\"multicore\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/multicore.jpg\" width=\"386\" height=\"223\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/multicore.jpg 386w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2013\/04\/multicore-300x173.jpg 300w\" sizes=\"auto, (max-width: 386px) 100vw, 386px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La decisi\u00f3n de una correcta base de datos en tus proyectos no es algo trivial. De ello depende en el\u00a0 \u00e9xito de tus trabajos. El futuro del proyecto. Los responsables TI nos enfrentamos a dif\u00edciles decisiones al comienzo del proyecto que marcan el devenir del resultado. Existen diversos factores que voy a exponer en esta entrada\u2026<\/p>\n","protected":false},"author":1,"featured_media":4105,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[40],"tags":[59,383,39,35],"class_list":["post-4101","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bases-de-datos","tag-bases-de-datos-2","tag-sbfr","tag-sql","tag-tic"],"_links":{"self":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/4101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/comments?post=4101"}],"version-history":[{"count":8,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/4101\/revisions"}],"predecessor-version":[{"id":4107,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/4101\/revisions\/4107"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media\/4105"}],"wp:attachment":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media?parent=4101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/categories?post=4101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/tags?post=4101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}