{"id":6508,"date":"2015-02-12T04:46:34","date_gmt":"2015-02-12T04:46:34","guid":{"rendered":"https:\/\/dev.railscarma.com\/scaling-applications-multiple-database-connection\/"},"modified":"2022-08-30T15:39:46","modified_gmt":"2022-08-30T15:39:46","slug":"aplicaciones-de-escalado-conexion-de-base-de-datos-multiple","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/","title":{"rendered":"Ampliaci\u00f3n de aplicaciones con conexi\u00f3n de m\u00faltiples bases de datos"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"6508\" class=\"elementor elementor-6508\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1b1765f1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1b1765f1\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-51764bfd\" data-id=\"51764bfd\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-629313b0 elementor-widget elementor-widget-text-editor\" data-id=\"629313b0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>Los requisitos comerciales cambian d\u00eda a d\u00eda y siempre seguimos optimizando o escalando nuestras aplicaciones en funci\u00f3n del uso, la incorporaci\u00f3n o resta de nuevas funciones. Sobre todo, el desarrollo \u00e1gil a\u00f1ade desaf\u00edos de vez en cuando.<\/p>\n\n\n\n<p>Las aplicaciones que dependen de bases de datos se pueden escalar separando la capa de la base de datos y escale de forma independiente. El equipo de OPS se encarga de dichos cambios de infraestructura en funci\u00f3n de la arquitectura de implementaci\u00f3n de la aplicaci\u00f3n.<\/p>\n\n\n\n<p>Como programador, podemos configurar nuestra aplicaci\u00f3n para que funcione con m\u00faltiples bases de datos. En este documento vamos a explicar c\u00f3mo podemos lograr esto en una aplicaci\u00f3n Rails.<\/p>\n\n\n\n<p>Hay 3 formas diferentes de conectar una base de datos adicional a una aplicaci\u00f3n<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Configurar base de datos.yml<\/li><li>Conexi\u00f3n directa<\/li><li>Escribiendo en el m\u00f3dulo<\/li><\/ol>\n\n\n\n<p class=\"Standard\"><b><span style=\"color: black;\">1. Configurar base de datos.yml:<\/span><\/b><\/p>\n\n\n\n<p class=\"Standard\"><span style=\"color: black;\">Como sabemos, Database.yml tendr\u00e1 3 conexiones de base de datos de forma predeterminada para desarrollo, prueba y producci\u00f3n. Podemos conectar otra base de datos a los tres entornos agregando el c\u00f3digo que se muestra a continuaci\u00f3n.<\/span><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><em>otro_desarrollo:<\/em><br><code><br>\n<em>&nbsp; adaptador: nombre_adaptador (mysql2, postgresql, oracle, Mssql, etc.)<\/em><\/code><\/p><p><em>&nbsp; base de datos: nombre_base_datos_desarrollo<\/em><\/p><p><em>&nbsp; nombre_usuario: nombre_usuario<\/em><\/p><p><em>&nbsp; contrase\u00f1a: ******<\/em><\/p><p><em>otra_prueba:<\/em><\/p><p><em>&nbsp; adaptador: nombre_adaptador (mysql2, postgresql, oracle, Mssql, etc.)<\/em><\/p><p><em>&nbsp; base de datos: base de datos_nombre_prueba<\/em><\/p><p><em>&nbsp; nombre_usuario: nombre_usuario<\/em><\/p><p><em>&nbsp; contrase\u00f1a: ******<\/em><\/p><p><em>otra_producci\u00f3n:<\/em><\/p><p><em>&nbsp; adaptador: nombre_adaptador (mysql2, postgresql, oracle, Mssql, etc.)<\/em><\/p><p><em>&nbsp; base de datos: nombre_base_datos_producci\u00f3n<\/em><\/p><p><em>&nbsp; nombre_usuario: nombre_usuario<\/em><\/p><p><em>&nbsp; contrase\u00f1a: ******<\/em><\/p><\/blockquote>\n\n\n\n<p>Despu\u00e9s de configurar la base de datos.yml, podemos conectarlo de 2 maneras seg\u00fan los casos siguientes<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Estructura de base de datos conocida<\/li><li>Estructura de base de datos desconocida<\/li><\/ul>\n\n\n\n<p><strong>Estructura de base de datos conocida:<\/strong><\/p>\n\n\n\n<p>Si conocemos la estructura de la base de datos, podemos crear modelos para cada uno y podemos establecer la conexi\u00f3n en el modelo.<\/p>\n\n\n\n<p><strong>Ejemplo:<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><code><em>clase OtraTabla &lt; ActiveRecord::Base<\/em><\/code><\/p><p><em>&nbsp; self.abstract_class = verdadero<\/em><\/p><p><em>&nbsp; establecer_conexi\u00f3n \u201cother_#{Rails.env}\u201d<\/em><\/p><p><em>fin<\/em><\/p><\/blockquote>\n\n\n\n<p>Esto tambi\u00e9n lo puede heredar otro modelo.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><code><em>clase Astronauta &lt;OtroTabla<\/em><\/code><\/p><p><em>&nbsp; tiene_muchos: misiones<\/em><\/p><p><em>&nbsp; has_many: lanzaderas, a trav\u00e9s de:: misiones<\/em><\/p><p><em>fin<\/em><\/p><\/blockquote>\n\n\n\n<p><strong>Estructura de base de datos desconocida<\/strong>:<\/p>\n\n\n\n<p>Cuando no conocemos la estructura de la base de datos, podemos escribir solo un modelo y podemos establecer la conexi\u00f3n con \u00e9l. Podemos hacer la basura en funci\u00f3n de los par\u00e1metros din\u00e1micos.<\/p>\n\n\n\n<p><strong>Ejemplo:<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><code><em>clase Conexi\u00f3n de base de datos externa &lt; ActiveRecord::Base<\/em><\/code><\/p><p><em>&nbsp; self.abstract_class = true # esta clase no tiene una tabla<\/em><\/p><p><em>&nbsp; establecer_conexi\u00f3n(:<\/em>nombre de la base de datos<em>)<\/em><\/p><p><em>fin<\/em><\/p><\/blockquote>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\"><li><strong> Conexi\u00f3n directa:<\/strong><\/li><\/ol>\n\n\n\n<p>En caso de que la segunda base de datos no tenga mucha importancia y se utilice en uno o dos lugares, podemos llamar directamente a la<\/p>\n\n\n\n<p>ActiveRecord::Base.establecer_conexi\u00f3n con credenciales y podremos interactuar con esa base de datos.<\/p>\n\n\n\n<p><strong>Ejemplo:<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><code><br>\n<em>ActiveRecord::Base.establecer_conexi\u00f3n(:adaptar<\/em><em>er=&gt;&quot;nombre_adaptador&quot;,:host=&gt;&quot;localhost&quot;,<\/em><\/code><\/p><p><code><em>:nombre de usuario<\/em> <em>=&gt;&quot;nombre_usuario&quot;,:contrase\u00f1a =&gt; &quot;*********&quot;,:base_datos =&gt; &quot;nombre_base_datos&quot;)<\/em><br>\n<\/code><\/p><\/blockquote>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\"><li><strong> Escribiendo en el m\u00f3dulo:<\/strong><\/li><\/ol>\n\n\n\n<p>Tambi\u00e9n podemos conectar la base de datos desde el m\u00f3dulo e incluirla en el modelo como se muestra a continuaci\u00f3n.<\/p>\n\n\n\n<p><strong>Ejemplo:<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><code><em>m\u00f3dulo SecondDatabaseMixin<\/em><\/code><\/p><p><em>&nbsp; ampliar ActiveSupport::Preocupaci\u00f3n<\/em><\/p><p><em>&nbsp; incluido {establecer_conexi\u00f3n \u201cother_#{Rails.env}\u201d }<\/em><\/p><p><em>fin<\/em><\/p><\/blockquote>\n\n\n\n<p><strong>Conexi\u00f3n de base de datos externa:<\/strong><\/p>\n\n\n\n<p>La base de datos a conectar puede existir en cualquier servidor. En caso de que no est\u00e9 en el mismo servidor podemos dar host como direcci\u00f3n IP del servidor donde existe.<\/p>\n\n\n\n<p><strong>Ejemplo:<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><code><em>adaptador: nombre_adaptador (mysql2, postgresql, oracle, Mssql, etc.)<\/em><\/code><\/p><p><em>&nbsp; host: external_db_server_ip (192.168.1.1)<\/em><\/p><p><em>&nbsp; nombre de usuario: nombre_usuario<\/em><\/p><p><em>&nbsp; contrase\u00f1a: *******<\/em><\/p><p><em>&nbsp; base de datos: nombre_bd<\/em><\/p><\/blockquote>\n\n\n\n<p><strong><em>Nota: <\/em><\/strong><em>Hay pocas gemas disponibles para <\/em><em>&nbsp;magic_multi_connections, Db-charme etc.,.<\/em><\/p>\n\n\n\n<p><span style=\"text-decoration: underline;\"><strong>Pros y contras:<\/strong><\/span><\/p>\n\n\n\n<p><strong>&nbsp;<\/strong><strong>Ventajas<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Si la aplicaci\u00f3n tiene varios clientes y cada uno quiere una base de datos diferente para sus clientes.<\/li><li>Ayuda en copias de seguridad para cada cliente.<\/li><li>Se puede utilizar otra base de datos en otra aplicaci\u00f3n que puede tener un adaptador diferente.<\/li><li>Cuando los usuarios informan que el acceso es lento, es f\u00e1cil saber qu\u00e9 base de datos est\u00e1 causando el problema.<\/li><\/ul>\n\n\n\n<p><strong>Contras<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Si la aplicaci\u00f3n es simple con menos usuarios<\/li><li>Mantenimiento del c\u00f3digo para el resto si hay alg\u00fan cambio en la estructura de la base de datos.<\/li><\/ul>\n\n\n\n<p><em>Leer m\u00e1s :&nbsp;<\/em><\/p>\n\n\n\n<h5 class=\"entry-title wp-block-heading\"><a href=\"\/es\/blog\/articulos-tecnicos\/una-forma-sencilla-de-aumentar-el-rendimiento-de-tu-aplicacion-rails-2\/\" target=\"_blank\" rel=\"noreferrer noopener\">Una forma sencilla de aumentar el rendimiento de su aplicaci\u00f3n Rails<\/a><\/h5>\n\n\n\n<p><a href=\"\/es\/blog\/railes-3\/introduccion-a-la-api-de-rieles\/\" target=\"_blank\" rel=\"noreferrer noopener\">Una introducci\u00f3n a la API de Rails<\/a><\/p>\n\n\n\n<p><a href=\"\/es\/blog\/articulos-tecnicos\/manipulacion-de-imagen\/\" target=\"_blank\" rel=\"noreferrer noopener\">Manipulaci\u00f3n de imagen<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/los-5-mejores-cms-de-sistemas-de-gestion-de-contenidos-ruby-on-rails\/\" target=\"_blank\" rel=\"noreferrer noopener\">Asociaciones polim\u00f3rficas con registro activo<\/a><\/p>\n\n\n\n<p><a href=\"\/es\/contactenos\/\">\u00a0P\u00f3ngase en contacto con nosotros.<\/a><\/p>\n\n\n\n<p><strong>Manasa Heggere <\/strong><\/p>\n\n\n\n<p>Desarrollador senior Ruby on Rails<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1b04c62f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1b04c62f\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d3d3aef\" data-id=\"d3d3aef\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-29b7831d elementor-widget elementor-widget-heading\" data-id=\"29b7831d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Suscr\u00edbete para recibir las \u00faltimas actualizaciones<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-17b56ca2 elementor-widget elementor-widget-shortcode\" data-id=\"17b56ca2\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"cargador\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"ec95fb1fc4\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"Direcci\u00f3n de correo electr\u00f3nico\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"Nombre\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"Suscribir\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"es\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Art\u00edculos Relacionados<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Gema Kaminari\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/gema-kaminari\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"gema kaminari\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Gema Kaminari\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/gema-kaminari\/?related_post_from=37277\">\r\n        Gema Kaminari  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"\u00bfPor qu\u00e9 contratar desarrolladores Ruby on Rails en 2026?\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/por-que-contratar-desarrolladores-de-ruby-on-rails\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"por qu\u00e9 contratar desarrolladores de Ruby on Rails en 2022\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"\u00bfPor qu\u00e9 contratar desarrolladores Ruby on Rails en 2026?\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/por-que-contratar-desarrolladores-de-ruby-on-rails\/?related_post_from=30627\">\r\n        \u00bfPor qu\u00e9 contratar desarrolladores Ruby on Rails en 2026?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Importancia de la arquitectura de software en el desarrollo de software empresarial\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/importancia-de-la-arquitectura-de-software-en-el-desarrollo-de-software-empresarial\/?related_post_from=36250\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Importancia de la arquitectura de software en el desarrollo de software empresarial\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Importancia de la arquitectura de software en el desarrollo de software empresarial\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/importancia-de-la-arquitectura-de-software-en-el-desarrollo-de-software-empresarial\/?related_post_from=36250\">\r\n        Importancia de la arquitectura de software en el desarrollo de software empresarial  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE: los mejores IDE para el desarrollo de Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/ruby-ide-las-mejores-ideas-para-el-desarrollo-de-ruby-on-rails\/?related_post_from=36125\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"MEJORES IDES PARA EL DESARROLLO DE RUBY ON RAILS\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Ruby IDE: los mejores IDE para el desarrollo de Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/ruby-ide-las-mejores-ideas-para-el-desarrollo-de-ruby-on-rails\/?related_post_from=36125\">\r\n        Ruby IDE: los mejores IDE para el desarrollo de Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>Los requisitos de la empresa cambian d\u00eda a d\u00eda y siempre optimizamos o escalamos nuestras aplicaciones en funci\u00f3n del uso y de las nuevas funciones que a\u00f1adimos o quitamos. En general, el desarrollo \u00e1gil a\u00f1ade retos de vez en cuando. Las aplicaciones que dependen de bases de datos pueden escalarse separando la capa de base de datos y escal\u00e1ndola de forma independiente. El equipo de OPS ...<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/es\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/\"> <span class=\"screen-reader-text\">C\u00f3mo crear una plataforma SaaS escalable con Ruby on Rails<\/span> Leer m\u00e1s \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":32043,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[379,629],"class_list":["post-6508","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles","tag-rails-application","tag-scaling-applications"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Scaling Applications with Multiple Database Connection-RailsCarma Blog<\/title>\n<meta name=\"description\" content=\"Applications depending on databases can be scaled by separating the database layer and scaling it independently. The OPS team does take care of such infrastructure changes based on the application deployment architecture.\" \/>\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.railscarma.com\/es\/blog\/articulos-tecnicos\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Scaling Applications with Multiple Database Connection-RailsCarma Blog\" \/>\n<meta property=\"og:description\" content=\"Applications depending on databases can be scaled by separating the database layer and scaling it independently. The OPS team does take care of such infrastructure changes based on the application deployment architecture.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2015-02-12T04:46:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-08-30T15:39:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/02\/blog_rc2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Scaling Applications with Multiple Database Connection\",\"datePublished\":\"2015-02-12T04:46:34+00:00\",\"dateModified\":\"2022-08-30T15:39:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/\"},\"wordCount\":612,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/02\/blog_rc2.jpg\",\"keywords\":[\"rails application\",\"Scaling Applications\"],\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/\",\"url\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/\",\"name\":\"Scaling Applications with Multiple Database Connection-RailsCarma Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/02\/blog_rc2.jpg\",\"datePublished\":\"2015-02-12T04:46:34+00:00\",\"dateModified\":\"2022-08-30T15:39:46+00:00\",\"description\":\"Applications depending on databases can be scaled by separating the database layer and scaling it independently. The OPS team does take care of such infrastructure changes based on the application deployment architecture.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/02\/blog_rc2.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/02\/blog_rc2.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Scaling Applications with Multiple Database Connection\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ampliaci\u00f3n de aplicaciones con m\u00faltiples conexiones de bases de datos-Blog RailsCarma","description":"Las aplicaciones que dependen de bases de datos se pueden escalar separando la capa de la base de datos y escale de forma independiente. El equipo de OPS se encarga de dichos cambios de infraestructura en funci\u00f3n de la arquitectura de implementaci\u00f3n de la aplicaci\u00f3n.","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.railscarma.com\/es\/blog\/articulos-tecnicos\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/","og_locale":"es_ES","og_type":"article","og_title":"Scaling Applications with Multiple Database Connection-RailsCarma Blog","og_description":"Applications depending on databases can be scaled by separating the database layer and scaling it independently. The OPS team does take care of such infrastructure changes based on the application deployment architecture.","og_url":"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2015-02-12T04:46:34+00:00","article_modified_time":"2022-08-30T15:39:46+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/02\/blog_rc2.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"Escrito por":"admin","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Scaling Applications with Multiple Database Connection","datePublished":"2015-02-12T04:46:34+00:00","dateModified":"2022-08-30T15:39:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/"},"wordCount":612,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/02\/blog_rc2.jpg","keywords":["rails application","Scaling Applications"],"articleSection":["Technical Articles"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/","url":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/","name":"Ampliaci\u00f3n de aplicaciones con m\u00faltiples conexiones de bases de datos-Blog RailsCarma","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/02\/blog_rc2.jpg","datePublished":"2015-02-12T04:46:34+00:00","dateModified":"2022-08-30T15:39:46+00:00","description":"Las aplicaciones que dependen de bases de datos se pueden escalar separando la capa de la base de datos y escale de forma independiente. El equipo de OPS se encarga de dichos cambios de infraestructura en funci\u00f3n de la arquitectura de implementaci\u00f3n de la aplicaci\u00f3n.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/02\/blog_rc2.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/02\/blog_rc2.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Scaling Applications with Multiple Database Connection"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Empresa de desarrollo Ruby on Rails especializada en desarrollo offshore","description":"RailsCarma es una empresa de desarrollo de Ruby on Rails en Bangalore. Nos especializamos en el desarrollo offshore de Ruby on Rails con sede en EE. UU. e India. Contrate desarrolladores experimentados de Ruby on Rails para disfrutar de la mejor experiencia web.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RielesCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"administraci\u00f3n","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts\/6508","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/comments?post=6508"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts\/6508\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/media\/32043"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/media?parent=6508"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/categories?post=6508"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/tags?post=6508"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}