{"id":8844,"date":"2016-09-20T11:16:25","date_gmt":"2016-09-20T11:16:25","guid":{"rendered":"https:\/\/dev.railscarma.com\/usage-sql-nosql-databases-single-rails-application\/"},"modified":"2021-06-06T11:29:09","modified_gmt":"2021-06-06T11:29:09","slug":"uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/","title":{"rendered":"Uso de bases de datos SQL y NoSQL en aplicaciones Single Rails (MySQL, PostgreSQL y MongoDB)"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"8844\" class=\"elementor elementor-8844\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5a734cd5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5a734cd5\" 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-504b0dab\" data-id=\"504b0dab\" 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-2486cd25 elementor-widget elementor-widget-text-editor\" data-id=\"2486cd25\" 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\tHay distintas razones por las que deber\u00eda pensar en tener varias bases de datos en su aplicaci\u00f3n Ruby on Rails. En mi situaci\u00f3n, esperaba almacenar grandes cantidades de datos. Considere que la base de datos predeterminada es MySQL. En el archivo Database.yml de nuestra aplicaci\u00f3n, escriba las conexiones para MySQL de forma normal. Despu\u00e9s de eso, para conectar postgresql en la misma aplicaci\u00f3n necesitamos crear archivos personalizados.\n\n<strong>Cree los archivos de base de datos personalizados para conectar postgresql<\/strong>\n\nVamos a configurar una segunda base de datos llamada <strong>\u201cEstad\u00edsticas\u201d<\/strong>\n\nPrimero que nada, crea el archivo. <strong>config\/database_stats.yml<\/strong> y compl\u00e9telo como lo hace con el archivo de configuraci\u00f3n de la base de datos principal. Su archivo se ver\u00e1 as\u00ed:\n\n<strong>desarrollo:<\/strong>\n<strong>\u00a0 adaptador: postgresql<\/strong>\n<strong>\u00a0 codificaci\u00f3n: utf8<\/strong>\n<strong>\u00a0 reconectar: falso<\/strong>\n<strong>\u00a0 base de datos: db_info_development<\/strong>\n<strong>\u00a0 piscina: 5<\/strong>\n<strong>\u00a0 anfitri\u00f3n: servidor local<\/strong>\n<strong>\u00a0 nombre de usuario: postgres<\/strong>\n<strong>\u00a0 contrase\u00f1a:<\/strong>\n\nAhora vamos a crear un directorio que contendr\u00e1 el esquema y todas las migraciones de la base de datos de Stats. Crear directorio con nombre <strong>db_stats<\/strong> en la ra\u00edz de los rieles y copie la estructura como se menciona a continuaci\u00f3n\n\n<strong>\u2013db<\/strong>\n<strong>\u00a0 -emigrar<\/strong>\n<strong>\u00a0 esquema.rb<\/strong>\n<strong>\u00a0 semillas.rb<\/strong>\n<strong>\u2013db_stats<\/strong>\n<strong>\u00a0 -emigrar<\/strong>\n<strong>\u00a0 esquema.rb<\/strong>\n<strong>\u00a0 semillas.rb<\/strong>\n\nLos archivos creados deben estar vac\u00edos.\n\n<strong>Agregar tareas de rake<\/strong>\n\nPara manejar la base de datos de estad\u00edsticas, necesitamos escribir tareas personalizadas para creaci\u00f3n, migraciones y otras funcionalidades. Crear un archivo<strong> lib\/tasks\/db_stats.rake<\/strong> con el siguiente contenido\n\n<strong>espacio de nombres: las estad\u00edsticas lo hacen<\/strong>\n\n<strong>\u00a0 espacio de nombres :db hacer |ns|<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 tarea: soltar hacer<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 Rastrillo::Tarea[\u201cdb:soltar\u201d].invocar<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 tarea: crear hacer<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Tarea[\u201cdb:create\u201d].invocar<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 tarea: configuraci\u00f3n hacer<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 Rastrillo::Tarea[\u201cdb:setup\u201d].invocar<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 tarea: migrar hacer<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 Rastrillo::Tarea[\u201cdb:migrar\u201d].invocar<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 tarea: revertir hacer<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 Rastrillo::Tarea[\u201cdb:rollback\u201d].invocar<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 tarea: hacer semillas<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 Rastrillo::Tarea[\u201cdb:seed\u201d].invocar<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 tarea: versi\u00f3n hacer<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 Rastrillo::Tarea[\u201cdb:versi\u00f3n\u201d].invocar<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 espacio de nombres: esquema hacer<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 tarea: cargar hacer<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Tarea[\u201cdb:schema:load\u201d].invocar<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 tarea: volcar hacer<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Tarea[\u201cdb:schema:dump\u201d].invocar<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 fin<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 espacio de nombres: prueba hacer<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 tarea: preparar hacer<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Tarea[\u201cdb:test:prepare\u201d].invocar<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 fin<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 # agrega y antepone las tareas adecuadas a todas las tareas definidas aqu\u00ed anteriormente<\/strong>\n<strong>\u00a0\u00a0\u00a0 ns.tasks.cada uno hace |tarea|<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 task.enhance [\u201cestad\u00edsticas:set_custom_config\u201d] hacer<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Rake::Tarea[\u201cstats:revert_to_original_config\u201d].invocar<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 fin<\/strong>\n<strong>\u00a0\u00a0\u00a0 fin<\/strong>\n<strong>\u00a0 fin<\/strong>\n\n<strong>\u00a0 tarea: set_custom_config hacer<\/strong>\n<strong>\u00a0\u00a0\u00a0 # guardar vars actuales<\/strong>\n<strong>\u00a0\u00a0\u00a0 @original_config = {<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 env_schema: ENV[&#039;ESQUEMA&#039;],<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 configuraci\u00f3n: Rails.application.config.dup<\/strong>\n<strong>\u00a0\u00a0\u00a0 }<\/strong>\n\n<strong>\u00a0\u00a0\u00a0 # establece variables de configuraci\u00f3n para base de datos personalizada<\/strong>\n<strong>\u00a0\u00a0\u00a0 ENV[&#039;SCHEMA&#039;] = \u201cdb_stats\/schema.rb\u201d<\/strong>\n<strong>\u00a0\u00a0\u00a0 Rails.application.config.paths[&#039;db&#039;] = [\u201cdb_stats\u201d]<\/strong>\n<strong>\u00a0\u00a0\u00a0 Rails.application.config.paths[&#039;db\/migrate&#039;] = [\u201cdb_stats\/migrate\u201d]<\/strong>\n<strong>\u00a0\u00a0\u00a0 Rails.application.config.paths[&#039;db\/seeds&#039;] = [\u201cdb_stats\/seeds.rb\u201d]<\/strong>\n<strong>\u00a0\u00a0\u00a0 Rails.application.config.paths[&#039;config\/database&#039;] = [\u201cconfig\/database_stats.yml\u201d]<\/strong>\n<strong>\u00a0 fin<\/strong>\n\n<strong>\u00a0 tarea: revert_to_original_config hacer<\/strong>\n<strong>\u00a0\u00a0\u00a0 # restablece las variables de configuraci\u00f3n a los valores originales<\/strong>\n<strong>\u00a0\u00a0\u00a0 ENV[&#039;SCHEMA&#039;] = @original_config[:env_schema]<\/strong>\n<strong>\u00a0\u00a0\u00a0 Rails.application.config = @original_config[:config]<\/strong>\n<strong>\u00a0 fin<\/strong>\n<strong>fin<\/strong>\n\nUna vez realizada toda esta configuraci\u00f3n, podemos crear la base de datos de estad\u00edsticas y ejecutar su primera migraci\u00f3n:\n<blockquote><strong>Estad\u00edsticas de rake de $:db:create<\/strong>\n<strong> Estad\u00edsticas de rake de $:db:migrar<\/strong><\/blockquote>\nEsto generar\u00e1 el archivo de esquema de la base de datos de estad\u00edsticas en <strong>db_stats\/schema.rb.<\/strong>\n\nAgregue un generador de migraci\u00f3n personalizado. No podemos usar el generador de rieles porque la ruta codifica el <strong>db\/migrar<\/strong>. Por lo tanto, necesitamos tener un generador personalizado para crear todas las migraciones para la base de datos de estad\u00edsticas. Crea el generador en <strong>lib\/generators\/stats_migration_generator.rb<\/strong> y pega el siguiente c\u00f3digo: require <strong>&#039;rieles\/generadores\/active_record\/migraci\u00f3n\/migraci\u00f3n_generador&#039;<\/strong>\n\n<strong>clase StatsMigrationGenerator &lt; ActiveRecord::Generadores::MigrationGenerator<\/strong>\n<strong>source_root File.join(File.dirname(ActiveRecord::Generators::MigrationGenerator.stance_method(:create_migration_file) .source_location.first), \u201cplantillas\u201d)<\/strong>\n\n<strong>\u00a0 def crear_archivo_migraci\u00f3n<\/strong>\n<strong>\u00a0\u00a0\u00a0 set_local_assigns!<\/strong>\n<strong>\u00a0\u00a0\u00a0 validar_nombre_archivo!<\/strong>\n<strong>\u00a0\u00a0\u00a0 plantilla_migraci\u00f3n @template_migraci\u00f3n, \u201cdb_stats\/migrate\/#{nombre_archivo}.rb\u201d<\/strong>\n<strong>\u00a0 fin<\/strong>\n<strong>fin<\/strong>\n\nCon todo esto implementado, ahora podemos generar migraciones para la base de datos de Estad\u00edsticas:\n<blockquote><strong>$ rieles g stats_migration nombre_migraci\u00f3n<\/strong><\/blockquote>\nEste archivo de migraci\u00f3n se crea en el directorio de migraci\u00f3n de la base de datos de estad\u00edsticas. <strong>db_stats\/migrar.<\/strong>\n\nDespu\u00e9s de eso, ejecute el siguiente comando para migrar.\n<blockquote><strong>Estad\u00edsticas de rake de $:db:migrar<\/strong><\/blockquote>\nFinalizar la conexi\u00f3n y los modelos para <strong>PostgreSQL<\/strong>\nYa casi hemos terminado. Agregar un nuevo archivo inicializador <strong>configuraci\u00f3n\/inicializadores\/db_stats.rb<\/strong> y pega lo siguiente:\n<blockquote><strong># guardar la configuraci\u00f3n de la base de datos de estad\u00edsticas en var global<\/strong>\n\n<strong>DB_STATS = YAML::load(ERB.new(File.read(Rails.root.join(\u201cconfig\u201d,\u201ddatabase_stats.yml\u201d))).resultado)[Rails.env]<\/strong><\/blockquote>\n<strong>Configurando mongodb:<\/strong>\n\nMongoid gem es un marco ODM (Object-Document-Mapper) para MongoDB en Ruby.\n<blockquote><strong>gema &#039;mongoide&#039;, &#039;~&gt; 5.1.0&#039;<\/strong><\/blockquote>\nPuede generar un archivo de configuraci\u00f3n ejecutando el generador. Mongoid se encargar\u00e1 de todo lo dem\u00e1s desde all\u00ed.\n<blockquote><strong>$ rieles g mongoide:config<\/strong><\/blockquote>\nLuego crea<strong> mongoide.yml<\/strong> como a continuaci\u00f3n\n\n<strong>desarrollo:<\/strong>\n<strong>\u00a0\u00a0 \u00a0clientela:<\/strong>\n<strong>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0por defecto:<\/strong>\n<strong>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0base de datos: mongoide<\/strong>\n<strong>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Hospedadores:<\/strong>\n<strong>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0-localhost:27017<\/strong>\n\nAhora en nuestra aplicaci\u00f3n hemos integrado con \u00e9xito el <strong>mysql<\/strong>, <strong>postgresql<\/strong> y <strong>mongodb<\/strong>\n\nConsidere tres modelos: usuario, producto, imagen. Usar estos tres modelos nos ayudar\u00e1 a conectar diferentes bases de datos en nuestra aplicaci\u00f3n. Modelo de usuario con conexi\u00f3n MySQL\n\n<strong>clase Usuario &lt; ActiveRecord::Base<\/strong>\n<strong>fin<\/strong>\n\n<strong>$ rieles g migraci\u00f3n crear_usuarios nombres de campo<\/strong>\n\n<strong>rastrillo db:migrar<\/strong>\n\nEste archivo de migraci\u00f3n se crea en db\/migrate y se almacenar\u00e1 en la base de datos MySQL.\n\n<strong>clase Producto &lt; ActiveRecord::Base<\/strong>\n<strong>\u00a0\u00a0 \u00a0establecer_conexi\u00f3n DB_STATS<\/strong>\n<strong>fin<\/strong>\n\n<strong>$ rieles g stats_migration create_products<\/strong>\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0 crear db_stats\/migrate\/20151201191642_create_products.rb<\/strong>\n\nEste archivo de migraci\u00f3n se crea en el directorio de migraci\u00f3n de la base de datos de estad\u00edsticas db_stats\/migrate.\n\n<strong>Imagen de clase<\/strong>\n<strong>\u00a0\u00a0 \u00a0incluir mongoide::Documento<\/strong>\n\n<strong>\u00a0\u00a0 \u00a0campo :nombre, tipo: Cadena<\/strong>\n<strong>\u00a0\u00a0 \u00a0campo: descripci\u00f3n, tipo: Cadena<\/strong>\n<strong>fin<\/strong>\n\nNo es necesario ejecutar ninguna migraci\u00f3n para mongodb ya que es <strong>ODM<\/strong>. Estos datos se crean bajo <strong>MongoDB.<\/strong>\n\nNo dude en <a href=\"\/es\/contactenos\/\">Cont\u00e1ctenos<\/a> si tienes alguna consulta.\n<div class=\"author-info\"><strong>Katneni Naga Sai Tejaswi<\/strong><\/div>\n<div class=\"author-info\"><strong>Desarrollador de software s\u00e9nior<\/strong><\/div>\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-2af19d6c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2af19d6c\" 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-6099c050\" data-id=\"6099c050\" 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-1d11eaed elementor-widget elementor-widget-heading\" data-id=\"1d11eaed\" 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-4b234b2e elementor-widget elementor-widget-shortcode\" data-id=\"4b234b2e\" 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=\"96baafee10\">\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>There are distinctive reasons why you should think about having various databases in your Ruby on Rails application. In my situation, I expected to store large quantities of data. Consider default database is MySQL. In our application database.yml file write connections for MySQL in normal way. After that, for connecting postgresql in the same application &hellip;<\/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":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[],"class_list":["post-8844","post","type-post","status-publish","format-standard","hentry","category-technical-articles"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB) - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development<\/title>\n<meta name=\"description\" content=\"There are distinctive reasons why you should think about having various databases in your Ruby on Rails application. In my situation, I expected to store\" \/>\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\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB) - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"og:description\" content=\"There are distinctive reasons why you should think about having various databases in your Ruby on Rails application. In my situation, I expected to store\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/\" \/>\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=\"2016-09-20T11:16:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-06T11:29:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/09\/Ruby-on-Rails-Development-Company.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\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=\"5 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\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB)\",\"datePublished\":\"2016-09-20T11:16:25+00:00\",\"dateModified\":\"2021-06-06T11:29:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/\"},\"wordCount\":917,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/\",\"url\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/\",\"name\":\"Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB) - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"datePublished\":\"2016-09-20T11:16:25+00:00\",\"dateModified\":\"2021-06-06T11:29:09+00:00\",\"description\":\"There are distinctive reasons why you should think about having various databases in your Ruby on Rails application. In my situation, I expected to store\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB)\"}]},{\"@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":"Uso de bases de datos SQL y NoSQL en aplicaciones Single Rails (MySQL, PostgreSQL y MongoDB) - RailsCarma - Empresa de desarrollo Ruby on Rails especializada en desarrollo offshore","description":"Hay distintas razones por las que deber\u00eda pensar en tener varias bases de datos en su aplicaci\u00f3n Ruby on Rails. En mi situaci\u00f3n, esperaba almacenar","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\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/","og_locale":"es_ES","og_type":"article","og_title":"Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB) - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","og_description":"There are distinctive reasons why you should think about having various databases in your Ruby on Rails application. In my situation, I expected to store","og_url":"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2016-09-20T11:16:25+00:00","article_modified_time":"2021-06-06T11:29:09+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/09\/Ruby-on-Rails-Development-Company.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":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB)","datePublished":"2016-09-20T11:16:25+00:00","dateModified":"2021-06-06T11:29:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/"},"wordCount":917,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"articleSection":["Technical Articles"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/","url":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/","name":"Uso de bases de datos SQL y NoSQL en aplicaciones Single Rails (MySQL, PostgreSQL y MongoDB) - RailsCarma - Empresa de desarrollo Ruby on Rails especializada en desarrollo offshore","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"datePublished":"2016-09-20T11:16:25+00:00","dateModified":"2021-06-06T11:29:09+00:00","description":"Hay distintas razones por las que deber\u00eda pensar en tener varias bases de datos en su aplicaci\u00f3n Ruby on Rails. En mi situaci\u00f3n, esperaba almacenar","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/uso-de-bases-de-datos-sql-nosql-aplicacion-de-rieles-unicos\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Usage Of SQL And NoSQL Databases In Single Rails Application(MySQL, PostgreSQL And MongoDB)"}]},{"@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\/8844","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=8844"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts\/8844\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/media?parent=8844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/categories?post=8844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/tags?post=8844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}