Stored Procedures vs. Programación Tradicional

Slides:



Advertisements
Presentaciones similares
Las aplicaciones requieren datos persistentes
Advertisements

Guido Rubin Escalabilidad.
Arquitecturas de BD Modelo ANSI/SPARC
Rocío Contreras Águila Primer Semestre 2010
Introducción a LAS Bases de Datos
Base de Datos Orientada a Objetos (OODBMS)
Noveno Semestre UNIDEC
Tecnologías para desarrollo de aplicaciones web. Un caso de uso
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
Vanguardia en Comunicación
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
¿QUÉ SON LAS BASES DE DATOS?
PATRON DAO Data Access Object (OBJETO DE ACCESO A DATOS)
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
Introduccion a base de datos
Daniel Correa Botero.  Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno.
INTEGRANTES ALEXIS MENDOZA ALDAIR ARRIETA CARLOS PASTOR LORENA RODRIGUEZ ANTHONY JIMENEZ.
Introducción a los Conceptos de Bases de Datos Docente: Ing. Marleny Soria Medina.
Bases de datos Distribuidas ITES de la región carbonífera 1 Bases de datos distribuidas.
SISTEMAS GETIONADORES DE BASES DE DATOS
ADMINISTRACION DE REDES SECUNECIA DE COMANDOS EN SITIOS CRUZADOS(XSS) DIEGO ALEXANDER MADRID DUQUE GABRIEL ANDRES AGUIRRE JARAMILLO INSTITUTO TECNOLOGICO.
UOC José Mª Casablanca González. Índice Introducción Objetivos generales y específicos Problema y posibles soluciones Características y definición.

BASES DE DATOS INTRODUCCION
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Bases de Datos Relacionales.  Responsable Cátedra: Silvina Migani  JTP: Liliana Romera  Ayudante:
DATA WAREHOUSE Equipo 9.
Programación Básica con NQC Patricio A. Castillo Pizarro 25/08/2007.
Bases De Datos En Biología Computacional Cristian S. Rocha 28 de Mayo del 2002.
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
Gestión de Contenido Electrónico
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Integración CORBA/OODB - Discusión Una Nueva Arquitectura para la Integración de CORBA y OODB Helios Alonso - Luis Pandolfi - Pablo Rodríguez Bocca Universidad.
Seminario de Informática Elementos Conceptuales
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
VENTAJAS DE LAS BASES DE DATOS.  Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto hace que se desperdicie.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Ing. Fredys Simanca Herrera.  Es muy habitual encontrarse con que más de un 30% de la información contenida en los sistemas operaciones o es incorrecta.
1 Unidad VI Arquitectura y Componentes de un SGBD.
EL DBA(Database Administrator)
Modelo de 3 capas.
Lenguaje Estructurado de Consulta
¿Qué es una Base de datos?
Diseño de una base de datos y elementos básicos Integrantes: López Ponce de León José Efrén Velazquez Martínez Brenda Equipo:10Grupo:307.
INSTRUCCIONES Elaboración de la Presentación:
Bases de Datos Unidad 1.
BASE DE DATOS.
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
BASE DE DATOS EDY GOMEZ C. Lic. En Informatica y Medios Audiovisuales
Karla Yunuen González Villanueva
Daniel Méndez ARTech Aplicaciones Web: user experience.
Simulador Redes Nombres etc,,.
Gestión de proyectos fin de carrera
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Preocupaciones del Analista Programador & Usuarios
Unidad 1. CONCEPTOS DE BASES DE DATOS
Aplicaciones en 2,3 y n capas
PARTICIPANTE: CAMACHO MAITE C.I T-01.
Lenguaje SQL.
Diccionario/Directorio de Datos
BASES DE DATOS CONCEPTOS BASICOS Elizabeth Maite Zarate Machaca “El tratamiento eficiente de la información al servicio del usuario”
¿Qué es una base de datos? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Desde.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Curso de programación Visual Chart 6 (1ªEd.)
Proyecto Harry Generador de aplicaciones. Objetivo Crear una herramienta de desarrollo de sistemas que permita minimizar los tiempos de programación mediante.
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
ASIGNACIÓN 1 INTEGRANTES: ANGEL FRANCO ANDREA MENDOZA ANDREINA GARCIA CRISTINA VILLALOBOS DAYANA DEPONTE DAVID.
 Trabaja con el esquema relacional surgido en los laboratorios de IBM  La instalación completa ocupa alrededor de 10 Mb incluyendo librerías, ejemplos.
Transcripción de la presentación:

Stored Procedures vs. Programación Tradicional Grupo de Trabajo : PuntoNet Curso : programación WEB INGENIERIA DE SISTEMAS

Stored Procedures DEFINICIÓN Un procedimiento almacenado (stored procedured en inglés) es un programa (o procedimiento), usualmente llamado proc, sproc, StoPro, StoredProc, sp o SP, el cual es almacenado físicamente en una BD. Estos procedimientos, se usan a menudo, pero no siempre, para realizar consultas SQL sobre los objetos del banco de datos de una manera abstracta, desde el punto de vista del cliente de la aplicación. USOS Los usos 'típicos' de los procedimientos almacenados se aplican en la validación de datos. Otro uso común es la 'encapsulación' de un API para un proceso complejo o grande. Grupo de Trabajo : PuntoNet

Stored Procedures Ventajas Desventajas Seguridad al restringir el acceso a de la Base de Datos a los usuarios. Labor asignada al DBA. Transparencia del código de procedimientos almacenados a los usuarios. Centralización de código dado que los SP son parte de la BD, con lo cual el código no redunda en cada aplicación. Rapidez de procesamiento ya que están compilados en el motor de la BD. Mejor manejo cuando se realizan transacciones recurrentes y de altos volúmenes de extracción de información. Programabilidad, permite el uso de variables y estructuras de control Desventajas Un mal uso (o abuso) puede ocasionar , lógica de negocio dentro de la base de datos (aunque en este caso hay gente que lo hace por convicción y no por malos programadores). Pérdida de parte de control desde la capa de negocio Aumenta la dependencia del repositorio de datos. Sobrecargo de objetos innecesarios en la BD Son difíciles de realizar “debug”. Inyección de código SQL – Modo de diseño de Query. Grupo de Trabajo : PuntoNet

Programación Tradicional Independencia de la base de datos: aunque a veces sobrevalorado, esto de todas maneras significa que es relativamente realizable una migración a otro producto. Esto sin embargo, es un proceso relativamente largo. Diversidad de lenguajes: Por lo general las opciones para Stored Procedures son muy restringidas con cada vendedor. La diversidad de lenguajes promueve también la diversidad de los algoritmos y otras ventajas propias de cada lenguaje o sus librerías. Diversos niveles de abstracción, desde una llamada en Lenguaje C pasándole un string SQL, hasta los Frameworks de O/R Mapping. Dependerá de las características de la aplicación, los datos, los tiempos de respuesta esperados, el plazo disponible para el proyecto, etc. la tecnología que se empleará para escribir las aplicaciones. Al menos la diversidad de opciones está garantizada. Grupo de Trabajo : PuntoNet

Conclusiones Ni una ni otra !!! Con el crecimiento de los ORM (Object Relational Mapping), se están dejando de lado (en algunos casos, depende de la arquitectura de la app y del ORM utilizado), ya que éstos generan las consultas dinámicamente. Si bien pueden resultar muy optimizadas estas consultas nunca van a poder competir en performance con un SP, pero así y todo en muchos casos vale la pena perder un par de milisegundos en pos de un mejor modelo de datos (de objetos, no relacional) Mala Práctica ?? A los Stored Procedures se les termina dando las responsabilidades de todas las capas de una aplicación. Por eso, es recomendable que sean utilizados solo para operaciones básicas de SELECT, INSERT, UPDATE, DELETE. Además tanto en Java como en .Net poseen herramientas potentes para realizar el acceso a datos. Grupo de Trabajo : PuntoNet