La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Stored Procedures vs. Programación Tradicional

Presentaciones similares


Presentación del tema: "Stored Procedures vs. Programación Tradicional"— Transcripción de la presentación:

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

2 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

3 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

4 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

5 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


Descargar ppt "Stored Procedures vs. Programación Tradicional"

Presentaciones similares


Anuncios Google