Mejores Manejadores de BD
Enviado por Laurolrl • 6 de Enero de 2018 • Documentos de Investigación • 1.393 Palabras (6 Páginas) • 175 Visitas
Mejores Manejadores de BD.
- MySQL
- ORACLE
- POSGRESQL
Consultas con * y sin where prohibido.
Nombre de instancia CursoSQL
Mejores Rendimiento en BD Patrones de diseño.
- Cache del lado del cliente. Tener almacenada información de manera local para no consultar muchas veces una BD. Un problema es que la información no está en tiempo real.
- Paginación. Mostrar consultas por partes al usuario.
- Cancelación de consultas en aplicaciones (C#, JAVA, ETC).
- Implementar querys con time-out, No debe tardar demasiado una consulta Y si es así que se cancele el query.
- No utilizar framewor ks para realizar conexiones a base de datos. Hacer las conexiones manualmente.
- Normalización, Garantiza que no se tenga redundancia (Duplicidad de datos). 6 reglas de Normalización (Se tiene que pasar las 3 primeras).
- Al incrementar el número de tablas relacionadas (Joins) aumenta drásticamente el tiempo de respuesta.
- Tipos de BD transacciones
- OLTP base de datos para realizar Insert, Update y Delete. Pueden correr consultas (select) pero no son para ello.
- BI, Base de datos de Inteligencia de negocios. Es una base de datos para hacer preguntas sobre el negocio.
- OLAP Base de datos para consultas (Datawarehouse), Contienen mucha información (Históricas). Contrario DE OLTP.
- CUBOS pasar información entre BD.
- No usar cursores más de lo necesario.
- Usa transacciones lo más corto posible.
- Cancelar el query al cancelar la opción en una aplicación.
- Evitar Bloqueos Muertos, Dos procesos que se bloquean entre sí.
- Querys Distribuidos.
- Base de datos con instancias, La instancia en la BD nos ayuda a revisar si la consulta está en el cache.
- Consulta de APP a BD 40 %
- Parsing 80% de la consulta
- Revisión Sintaxis
- Existencia de objetos
- Índices
- Generación Plan Ejecución
- SP ahorra el 90 % de tiempo en la consulta. No realiza el Parsing.
- Tiempo en conexión de app. Se tiene que tener una buena conexión de la APP a la BD.
- Conexión abierta, se tiene la conexión abierta siempre gasta más recursos.(No se usa)
- Disparador, Se abre y cierra la conexión con cada consulta. (No se usa).
- Data Sourse (Pool conexiones): Combina lo mejor de ambas. (Usada). Es una conexión que siempre está disponible y es óptima.
- Asignar usuarios por prioridad. Patrones de colas de prioridades.
- Patrón se tamaños. Es un patrón que hace las consultas del mismo tamaño, Las consultas más grandes las hace pequeñas dividiendo en partes.
- Sharding Patter
- Statinc Content Hosting Pattern. Este patrón nos recomienda guardar las imágenes, videos y audios en otra parte como link en la BD.
- Throttling Patter, Este patrón checa los recursos que está haciendo las consultas, si consume muchos recursos pausa la consulta y la ejecuta cundo el servidor tiene recursos disponibles para todas las consultas.
- Cluster (Importante investiga).
Como diseñar una BD transaccional
- Tipo de base de datos transaccional o Datawarehouse
Reglas de normalización.
Primera Regla
Las tablas deben de estar diseñadas de forma atómica es decir tiene que subdividir cada campo de la tabla. Subdividir Dirección: Calle, Numero, Colonia. Las fechas de consideran atómicas.
Segunda Regla
Llaves primarias tiene que enfatizar con las llaves secundarias.
Tercera Regla
Las columnas de las tablas tienen que ver en si de lo que trata la tabla, Es decir los atributos del objeto tienen que estar relacionados con el objeto.
Relacionados con la llave unitaria
Constraints para Validar que no se dupliquen datos
Constraint Primary key
Constraint Unique
Restricciones para las tablas
CHECK
RULE
NULL
NOT NULL
Char (50)
Trigger
Relaciones entre tablas Primary key y foreing key
Permite que se relacionen entre tablas que existan los mismos registros (ID) Entre tablas.
En una instancia de sql Server se pueden tener varias bases de datos y sus esquemas.
Oracle solo tiene una base de datos por esquema.
Diseñando BD.
Los tipos enteros numéricos son los datos más pequeños en la base de datos.
TIPS
Si los join se unen por campos pequeños se ejecuta más rápido la consulta.
Al crear una tabla siempre poner solo lo necesario en los campos (Los tipos de datos int, smallint, bigint).
Diferencia entre datos
- Char : En este tipo de datos el guarda todos el espacio asignado es fijo, pero ya que es un campo fijo es más rápido de leer.
- Varchar: Este tipo de datos es variable guarda solo lo necesario pero es mas lente ya que no es fijo.
- Nvarchar : Este tipo de dato te deja guardar cualquier unicodigo (acentos), pero es más grande el dato es decir al realizar una consulta es mas lento.
- Clob (text): Te permite guardar más caracteres Mas de 8 mil caracteres.
Montar un respaldo de una base.
Direccion;
C:\Program Files\Microsoft SQL Server\MSSQL12.CURSOSQL\MSSQL\Backup
En SQL Maneger:
Click derecho sobre Base de datos, restaurar base de datos.
Asignar dueño a la base de datos. (selecciona BD, PROPIEDADES, ARCHIVO, PROPIETARIO)
Plan de ejecución
Para ahorrar tiempo en una consulta se debe crear un índice pero ralentizan las operaciones de transacción, el índice solo funciona por la columna de la tabla a la que se le agrego el índice.
...