Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


sql basico, para entender el sql de forma convencinal, Apuntes de Matemáticas aplicadas a las Ciencias Sociales II

SQL (por sus siglas en inglés Structured Query Language; en español lenguaje de consulta estructurada) es un lenguaje de dominio específico utilizado en programación, diseñado para administrar, y recuperar información de sistemas de gestión de bases de datos relacionales.

Tipo: Apuntes

2019/2020

Subido el 04/06/2020

josemorelos
josemorelos 🇲🇽

1 documento

1 / 6

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
PostgreSQL.
PostgreSQL es un sistema de gestión de bases de datos relacional orientado a
objetos y libre, publicado bajo la licencia PostgreSQL, similar a la BSD o la MIT.
Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no
es manejado por una empresa o persona, sino que es dirigido por una comunidad de
desarrolladores que trabajan de forma desinteresada, altruista, libre o apoyados por
organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL
Global Development Group).
PostgreSQL no tiene un gestor de defectos, haciendo muy difícil conocer el estado
de sus defectos.
CARACTERÍSTICAS:
La última serie de producción es la 9.1. Sus características técnicas la hacen una
de las bases de datos más potentes y robustas del mercado. Su desarrollo comenzó hace
más de 16 años, y durante este tiempo, estabilidad, potencia, robustez, facilidad de
administración e implementación de estándares han sido las características que más se
han tenido en cuenta durante su desarrollo. PostgreSQL funciona muy bien con grandes
cantidades de datos y una alta concurrencia de usuarios accediendo a la vez al sistema.
Algunas de las características generales más importantes y soportadas por
PostgreSQL son:
Es una base de datos 100% ACID.
Soporta distintos tipos de datos: además del soporte para los tipos base, también
soporta datos de tipo fecha, monetarios, elementos gráficos, datos sobre redes (MAC,
IP...), cadenas de bits, etc. También permite la creación de tipos propios.
Incluye herencia entre tablas, por lo que a este gestor de bases de datos se le incluye
entre los gestores objeto-relacionales.
Copias de seguridad en caliente (Online/hot backups)
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga sql basico, para entender el sql de forma convencinal y más Apuntes en PDF de Matemáticas aplicadas a las Ciencias Sociales II solo en Docsity!

PostgreSQL. PostgreSQL es un sistema de gestión de bases de datos relacional orientado a objetos y libre, publicado bajo la licencia PostgreSQL, similar a la BSD o la MIT. Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group). PostgreSQL no tiene un gestor de defectos, haciendo muy difícil conocer el estado de sus defectos. CARACTERÍSTICAS: La última serie de producción es la 9.1. Sus características técnicas la hacen una de las bases de datos más potentes y robustas del mercado. Su desarrollo comenzó hace más de 16 años, y durante este tiempo, estabilidad, potencia, robustez, facilidad de administración e implementación de estándares han sido las características que más se han tenido en cuenta durante su desarrollo. PostgreSQL funciona muy bien con grandes cantidades de datos y una alta concurrencia de usuarios accediendo a la vez al sistema. Algunas de las características generales más importantes y soportadas por PostgreSQL son:

 Es una base de datos 100% ACID.

 Soporta distintos tipos de datos: además del soporte para los tipos base, también soporta datos de tipo fecha, monetarios, elementos gráficos, datos sobre redes (MAC, IP...), cadenas de bits, etc. También permite la creación de tipos propios.  Incluye herencia entre tablas, por lo que a este gestor de bases de datos se le incluye entre los gestores objeto-relacionales.  Copias de seguridad en caliente (Online/hot backups)

 Unicode  Juegos de caracteres internacionales  Regionalización por columna  Multi-Version Concurrency Control (MVCC)  Múltiples métodos de autentificación  Acceso encriptado vía SSL  SE-postgres  Completa documentación  Licencia BSD  Disponible para Linux y UNIX en todas sus variantes (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) y Windows 32/64bit. COMPONENTES: El Libpq es el responsable de manipular las comunicaciones entre la aplicación cliente y el postmaster (servicio del PostgreSQL en el servidor). El server está compuesto por 2 grandes subsistemas, el “Postmaster” que es el responsable de aceptar las comunicaciones con el cliente y autentificar y dar acceso. El “Postgre” se encarga de la administración de los querys y comandos enviados por el cliente. PostgreSQL trabaja bajo el concepto de “process per user”, eso significa un solo procesos cliente por conexión. Tanto el Postmaster como el Postgre deben estar juntos en el mismo servidor siempre. El Storage Manager es responsable de la administración general de almacenamiento de los datos, controla todos los trabajos del back-end incluido la administración del buffer, archivos, bloqueos y control de la consistencia de la información. TIPO DE TABLAS, OBJETOS, USUARIOS, TAMAÑO MÁXIMO DE LA BASE DE DATOS Y CARACTERÍSTICAS NECESARIAS PARA SER IMPLANTADA EN UNA EMPRESA COMERCIAL. El tamaño de una página en PostgreSQL puede ser tan pequeño como 8k (por defecto) hasta un máximo de 32k y no se permite que un tupla pueda ser más grande que una página de tamaño.

Existe un “tiempo de acceso” para llegar a la data (sea read o write) que depende de:  Tiempo de búsqueda del OS en mover los brazos del disco duro.  Tiempo de rotación de los discos para que el brazo encuentre la posición física donde está la data.  Tiempo de transferencia de R/W de la data del disco a la memoria. Hay que buscar que reducir este tiempo para que el acceso a la data sea más rápido. Cada tipo de búsqueda tienen un tipo de índice adecuado para trabajarla, básicamente un índice es un “archivo” donde esta parte de la data y estructura de una tabla con las “search key” de búsqueda. La forma clásica es buscar por extremos y medios (búsqueda binaria), pero esto hace que sea altamente costosa la búsqueda, entonces es preferible organizar los índices en estructuras más eficientes como los árboles. El control de concurrencia es el que asegura que muchos usuarios puedan acceder a la data al mismo tiempo. Sin embargo al mismo tiempo se producen muchas operaciones de R/W, estas operaciones se conocen como transacciones. Ninguna transacción debe ver el resultado de otras transacciones inconclusas, si esto no fuera así estaríamos leyendo datos inconsistentes. Una transacción puede incluir dentro de sí muchas operaciones en la base de datos. Las transacciones deben cumplir el criterio ACID.  Consistency: la transacción solo termina si la data es consistente.  Isolation: la transacción es independiente de otras transacciones.  Atomicity: todas las acciones en la transacción se cumplen o no se cumple ninguna.  Durability: cuando la transacción termina el resultado de la misma es perdurable. PostgreSQL implementa el modelo MVCC (Multiversion Concurrency Control) desde la 8.3. Bajo MVCC las transacciones ven una imagen de la data al momento de iniciarla (para

ello la data se versiona con un timestamp), esto protege la transacción de inconsistencia de data cuando llegan 2 operaciones de R/ W sobre la misma. En simple el MVCC nunca modifica o elimina la data, nuevas filas de información de van añadiendo conforme se crea o actualiza la data y se marca la anterior como “no visible”, cuando se desea eliminar un dato igualmente se añade una fila de data y se marca como “no visible” al mismo tiempo. La data nunca es “visible” por otros usuarios hasta que no sea “commiteada”. La principal ventaja es que las operaciones de R nunca bloquean a las de W, y viceversa, podemos obtener backups en caliente sin bloquear la db. Como desventaja: consumimos más disco duro. Cuando 2 transacciones trabajan sobre el mismo objeto y al menos uno de ellos incluye operaciones de escritura entonces se produce un “conflicto”. Cuando 2 transacciones hacen exactamente lo mismo puede que sean “serializadas” para optimizar el acceso a la data. Antes de que una transacción pueda ejecutar un R/W sobre un objeto en la db debe obtener un “bloqueo”. Este bloqueo puede ser Compartido (Share) o Exclusivo (Exclusive), estos son administrador por un “Lock Manager”. Figura 3. Tipos de bloqueos en PostgreSQL. Si un bloqueo toma mucho tiempo en ejecutarse entonces se produce un Deadlock, el sistema lo muestra como un Timeout. Un bloqueo puede darse a una tupla, una página o