jueves, 12 de septiembre de 2019

MVC Modelo Vista ControladOR




¿Qué es MVC?

MVC (Model-View-Controller) es un patrón de diseño de software en torno a la interconexión de los tres tipos de componentes principales en un lenguaje de programación como PHP, a menudo con un fuerte enfoque en la programación orientada a objetos (POO). Estos tres tipos de componentes son vagamente llamados modelos, vistas y controladores.
El modelo es donde se guarda todo la lógica del negocio de una aplicación, la lógica del negocio puede ser cualquier cosa específica acerca de cómo una aplicación almacena los datos, o utiliza servicios de terceros con el fin de cumplir con sus necesidades. Si la aplicación debe acceder a la información en una base de datos, el código deberá estar guardado en el modelo.
La vista es donde se encontrarán todos los elementos de la interfaz de usuario de una aplicación, esta puede contener código HTML, hojas de estilo CSS y archivos Javascript. Cualquier cosa que el usuario pueda ver, es guardado en la vista, y algunas veces lo que ve el usuario actualmente es la combinación de varias vistas en la misma petición.
El controlador es el componente encargado de conectar el modelo con la vista. Los controladores aíslan la lógica del negocio de un modelo de los elementos de la interfaz de usuario de una vista y maneja la forma en la que la aplicación responde a la interacción del usuario en la vista. Los controladores son el primer punto de entrada en estos componentes, ya que la primera solicitud se pasa a un controlador, que luego instancia a los modelos y vistas requeridas para cumplir con una petición a la aplicación (2).

Ciclo de vida del MVC.
El usuario realiza una petición.
El controlador captura la petición del usuario.
El controlador llama al modelo.
El modelo interactúa con la base de datos, y retorna la información al controlador.
El controlador recibe la información y la envía a la vista.
La vista procesa la información recibida y la entrega de una manera visualmente entendible al usuario (3).




Ventajas de MVC

Las principales ventajas del uso del patrón MVC son (4):
La separación del Modelo y la Vista, lo cual logra separar los datos, de su representación visual.
Facilita el manejo de errores.
Permite que el sistema sea escalable si es requerido.
Es posible agregar múltiples representaciones de los datos.

Desventajas de MVC


Las principales desventajas del uso del patrón MVC son (4):
La cantidad de archivos que se deben mantener incrementa considerablemente.
La curva de aprendizaje es más alta que utilizando otros modelos.
Su separación en capas, aumenta la complejidad del sistema.
Share:

REPLICACIÓN DE BASE DE DATOS - (AA7 - Fase 3): “Replicación de base de datos"

(AA7 - Fase 3): “Replicación de base de datos"

VIDEO 



Introducción

Hoy en día existe un interés cada vez mayor en los protocolos asincrónicos, en los cuales las transacciones de las bases de datos se ejecutan localmente, y sus efectos se incorporan asincrónicamente en copias de seguridad remotas sin afectar su funcionamiento.

La implementación de reflejo de la base de datos se puede usar conjuntamente con la replicación para mejorar la disponibilidad para la base de datos de publicación. Debido a esto se incluye la creación de dos copias de una sola base de datos que suelen residir en diferentes equipos. En cada momento, solo una copia de la base de datos está disponible para los clientes, esta copia se conoce como la base de datos principal. Las actualizaciones realizadas por los clientes en la base de datos de la entidad de seguridad se aplican a la otra copia de la base de datos, conocida como la base de datos reflejada.

                  


Objetivo Principal de la Replicación


Copiar y mantener los objetos de las bases de datos en las múltiples bases de datos que levantan un sistema distribuido, la actualización constante de los datos y a su vez mejorar el funcionamiento protegiendo la disponibilidad de las aplicaciones, porque alterna opciones de acceso de los datos existentes.

REPLICACIÓN DE BASES DE DATOS

La replicación básicamente está codificada en un lenguaje de Décima Generación llamado ERCS001, que fue diseñado a mediados de los años 20 por el Matemático-Filósofo Khronwhell Strnhwell C.S., codificado en un entorno visual. Sirve además, entre otras cosas, para medir la cantidad de texto que se introduce en los datos.

Una replicación de base de datos es una técnica mediante la cual copiamos de forma exacta en otra ubicación una instancia de la base de datos. Se utiliza en entornos distribuidos de Sistemas de Gestión de Bases de Datos donde una sola base de datos tiene que ser utilizada y actualizada en varios lugares de forma simultánea.

En la actualidad existen en la red multitud de aplicaciones y de sistemas que tienen por debajo una base de datos que sigue el modelo cliente-servidor. Muchas veces esos sistemas deben de tener garantizada la accesibilidad por lo que para evitar problemas es necesario utilizar este tipo de técnicas de replicación de base de datos de forma que un fallo en uno de los servidores de base de datos no impida a los usuarios seguir utilizando la aplicación. La replicación se proporciona en los siguientes niveles:





Replicación básica: Las réplicas de tablas se gestionan para accesos de sólo lectura. Para modificaciones, se deberá acceder a los datos del sitio primario.


Replicación avanzada: Amplían las capacidades básicas de sólo- lectura de la replicación, permitiendo que las aplicaciones hagan actualizaciones a las réplicas de las tablas, a través de un sistema replicado de la base de datos. Con la replicación avanzada, los datos pueden proveer lectura y acceso a actualizaciones a los datos de las tablas.



VENTAJAS Y BENEFICIOS DE LA REPLICACIÓN

La replicación te puede ofrecer grandes beneficios relacionados principalmente con el rendimiento, disponibilidad y seguridad de los datos.

Aumento de la fiabilidad: mediante la replicación de base de datos a través de múltiples servidores, te aseguras que los datos van a estar disponibles incluso en el caso de que una de las máquinas tenga un fallo grave de hardware. El sistema distribuido de gestión de bases de datos debe ser capaz de enrutar a los usuarios afectados a otro de los nodos disponibles.
Mejora en el rendimiento: al estar los datos distribuidos en diferentes servidores, los múltiples accesos no saturan los servidores. Esto es importante sobre todo en el caso de aplicaciones que pueden tener miles o cientos de miles de peticiones simultáneas. El rendimiento de las aplicaciones aumenta notablemente.
Mejora en la seguridad de los datos: en un sistema transaccional tradicional, todas las actualizaciones de una base de datos se guardan en un mismo disco. La seguridad de tus datos queda entonces en manos de la estrategia de copias de seguridad que tengas implementada en ese servidor. Con la replicación de base de datos aumentas la seguridad de los datos ya que las actualizaciones están siendo escritas en varios servidores. Es decir, varios discos, varias fuentes de alimentación, CPU’s, etc. son utilizadas para asegurar que tus datos estarán a salvo en algunos servidores, aunque pueda ocurrir un desastre en otros.






MODELO DE REPLICACION

El modelo de Replicación que usa SQL es el de “Publicador – Suscriptor”. Este modelo consiste en Publicadores, Suscriptores y Distribuidores; las publicaciones y los artículos, y las suscripciones por tirón o empuje. Además incorpora agentes de administración como Agente de Instantánea, Agente Lector de Registro, Agente de Distribución, y Agente de Mezcla. Todos los agentes pueden funcionar debajo del agente del servidor del SQL y se pueden administrar completamente por el Administrador del Servidor de SQL.





















TIPOS DE REPLICACION

Podemos hablar al menos de 3 tipos de replicación de base de datos:

Replicación Instantánea: los datos de un servidor son simplemente copiados a otro servidor o a otra base de datos dentro del mismo servidor. Al copiarse todo no necesitas un control de cambios. Se suele utilizar cuando los datos cambian con muy poca frecuencia.

Replicación Transaccional: primero se envía una copia completa de la base de datos y luego se van enviando de forma periódica (o a veces continua) las actualizaciones de los datos que cambian. Se utiliza cuando necesitas que todos los nodos con todas las instancias de la base de datos tengan los mismos datos a los pocos segundos de realizarse un cambio.

Replicación de mezcla: los datos de dos o más bases de datos se combinan en una sola base de datos. En primer lugar se envía una copia completa de la base de datos. Luego el Sistema de Gestión de Base de Datos va comprobando los cambios que van apareciendo en los distintos nodos y a una hora programada o a petición los datos se sincronizan. Es sobre todo útil cuando cada nodo suele utilizar solo los datos que se actualizan allí pero que por circunstancias necesita tener también los datos de los otros sitios.

















CONCLUSIONES


La replicación es un mecanismo utilizado para propagar y diseminar datos en un ambiente distribuido, con el objetivo de tener mejor performance y confiabilidad, mediante la reducción de dependencia de un sistema de base de datos centralizado. Dada la diversidad de contextos donde se aplican mecanismos de replicación, se puede disponer de una gama de posibilidades, en vez de utilizar una única forma de replicar datos. Cada uno de los tipos de replicación se adapta en mayor o menor medida y pueden utilizarse en forma combinada para un caso específico. Los tipos de replicación disponibles permiten moverse desde contextos donde los sitios trabajan en forma completamente unos de otros, hasta contextos donde se requiere una alta consistencia transaccional.
La replicación es, sin lugar a dudas, una herramienta muy importante en entornos distribuidos de trabajo. Sin embargo, mal utilizada puede llevar a pérdidas de información y desestabilizaciones de sistemas. La replicación como tal no es un sustituto real del balanceo de carga de servidores de bases de datos (Oracle RAC), pero usada correctamente nos puede permitir una movilidad de trabajo muy grande.

Share:

Salmos 23

El Señor es mi pastor, nada me faltará. 2 En lugares de verdes pastos me hace descansar; junto a aguas de reposo me conduce. 3 El restaura mi alma; me guía por senderos de justicia por amor de su nombre. 4 Aunque pase por el valle de sombra de muerte, no temeré mal alguno, porque tú estás conmigo; tu vara y tu cayado me infunden aliento. 5 Tú preparas mesa delante de mí en presencia de mis enemigos; has ungido mi cabeza con aceite; mi copa está rebosando. 6 Ciertamente el bien y la misericordia me seguirán todos los días de mi vida, y en la casa del Señor moraré por largos días.