1. CURSO NACIONAL
FORMACIÓN DISICPLINAR
DOCENTES DE EDUCACIÓN MEDIA SUPERIOR
INSTITUCIONES DE EDUCACIÓN PÚBLICA DE EDUCACIÓN MEDIA SUPERIOR
CURSO: INFORMÁTICA
Actividad de Aprendizaje No.4
(Base de Datos)
PRESENTA:
Imelda Gómez Pichardo
FACILITADORA:
Lic. Fátima Concepción Rodríguez Góngora
2. Que es una base de datos
• Una base de datos es una colección de información organizada de
forma que un programa de ordenador pueda seleccionar
rápidamente los fragmentos de datos que necesite. Una base de
datos es un sistema de archivos electrónico. Las bases de datos
tradicionales se organizan por campos, registros y archivos.
3. ¿Qué es una base de datos de tipo SQL?
• SQL (por sus siglas en inglés Structured Query Language; en español
lenguaje de consulta estructurada) es un lenguaje específico del
dominio que da acceso a un sistema de gestión de bases de
datos relacionales que permite especificar diversos tipos de
operaciones en ellos.
4. ¿Qué es una base de datos de tipo MySQL?
MySQL es un sistema de administración de bases de datos (Database
Management System, DBMS) para bases de datos relacionales.
Así, MySQL no es más que una aplicación que permite gestionar
archivos llamados de bases de datos.
5. ¿Qué es una base de datos No- SQL?
En informática, NoSQL (a veces llamado "no sóloSQL") es una amplia
clase de sistemas de gestión debases de datos que difieren del modelo
clásico de SGBDR (Sistema de Gestión de Bases de DatosRelacionales)
en aspectos importantes, siendo el más destacado que no
usan SQL como lenguaje principal de consultas.
6. Bases de datos más populares (incluir diferenciales de
cada una y sus ventajas sobre otras bases de datos):
SQL Server.
SQL Server 2016 SP1* es una base de datos fiable completa para cargas
de trabajo exigentes. SQL Server 2016 SP1* Developer es una edición
gratuita con todo el conjunto de características, que se puede usar
como una base de datos de desarrollo y pruebas en un entorno que no
sea de producción.
7. Características
• Soporte de transacciones.
• Soporta procedimientos almacenados.
• Incluye también un entorna grafico de administración, que permite el uso de comandos DDL y DDL gráficamente.
• Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el servidor y los terminales o clientes de la
red sólo acceden a la información.
• Además permite administrar información de otros servidores de datos.
Este sistema incluye una versión reducida, llamada MSDE con el mismo motor de base de datos pero orientado a proyectos más
pequeños, que en sus versiones 2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en forma gratuita.
Es común desarrollar proyectos completos empleando Microsoft SQL Server y Microsoft access a través de los llamados ADP Access
data proyect. De esta forma se completa la base de datos (Microsoft SQL Server), con el entorno de desarrollo (VBA Access), a través
de la implementación de aplicaciones de dos capas mediante el uso de formularios Windows.
En el manejo de SQL mediante líneas de comando se utiliza el SQLCMD, osql, o PowerShell.
Para el desarrollo de aplicaciones más complejas (tres o más capas), Microsoft SQL Server incluye interfaces de acceso para varias
plataformas de desarrollo, entre ellas .NET, pero el servidor sólo está disponible para Sistemas Operativos.
El tipo NUMERIC fue mejorado para ser usado como identificador de columna a partir de la versión 2008 R2.
• Soporta procedimientos almacenados. Incluye también un potente entorno gráfico de administración, que permite el uso de
comandos DDL y DML gráficamente. Permite trabajar en modo cliente - servidor, donde la información y datos se alojan en el
servidor y los terminales o clientes de la red sólo acceden a la información.
8. Ventajas
A contrario de sistemas de bases de datos como Microsoft Access que son
"pasivas" y contienen un archivo a cual hay que conectar y la ejecución de los
comandos se lleva a cabo en el cliente (la computadora de usuario), en SQL Server
hay número de servicios, software que están ejecutadas en la memoria del servidor
por parte del sistema, y por lo tanto aprovechan las capacidades del servidor que
es más potente que los clientes, previenen congestión en la red, y pueden
programar tareas que corran aunque el cliente no está conectado.
En cada instalación de SQL Server hay 4 bases de datos de sistema, y la capacidad
de crear nuevas bases de datos por el usuario, en los cuales los datos están
almacenados en tablas.
• Manos ayudantes. Un ventaja de instalar un sistema de servidores SQL es que
estás uniendo una comunidad de servidores de SQL de Microsoft. ...
• Simple y lleno de características.
• Seguridad y estabilidad.
9. Desventaja
MSSQL usa Address Windowing Extensión (AWE) para hacer el direccionamiento de
64 - bit. Esto le impide usar la administración dinámica de memoria y sólo le
permite alojar un máximo de 64GB de memoria compartida. MSSQL no maneja
compresión de datos (en SQL Server 2005 y 2000, solamente la versión 2008
Enterprise Edition incluye esta característica), por lo que ocupa mucho espacio en
disco. MSSQL está atado a la plataforma del sistema operativo sobre la cual se
instala una pésima implementación de los tipos de datos variables como varchar.
1. Utiliza mucho la memoria RAM para las instalaciones y utilización de software.
2. No se puede utilizar como practicas porque se prohíben muchas cosas, tiene
restricciones en lo particular.
3. La relación, calidad y el precio esta muy debajo comparado con oracle.
4. Tiene muchos bloqueos a nivel de página, un tamaño de página fijo y
demasiado pequeño, una pésima implementación de los tipos de datos variables.
10. Oracle.
• Oracle. Oracle SQL (por las siglas en inglés de "lenguaje de preguntas
estructuradas") es un lenguaje de computación diseñado para
gestionar datos almacenados en bases de datos RDBMS (por las siglas
en inglés de "sistemas relacionales de gestión de bases de datos"). Un
RDBMS es un sistema de tablas que guardan datos y representan las
relaciones entre ellos. SQL tiene varios elementos estructurales,
incluyendo cláusulas, expresiones, preguntas, afirmaciones y
predicados. Oracle SQL se usa comúnmente para la gestión de datos
de bases de datos Oracle, también llamadas Oracle RDBMS
11. CARACTERISTICAS
CARACTERISTICAS DE ORACLE. Oracle es un sistema gestor de base de
datos con característica objeto-relacionales, que pertenece al modelo
evolutivo de SGBD. Sus características principales son las siguientes:
En torno cliente / servidor.
Gestión de grandes bases de datos.
12. VENTAJAS
Ventaja: sistema de gestión y control centralizado
Las sentencias de Oracle SQL permiten que los datos se controlen desde un
repositorio central tabular. Un administrador de bases de datos (DBA por sus siglas
en inglés) es responsable de crear usuarios, asignar privilegios, añadir registros,
eliminar información redundante, modificar datos existentes y procesar preguntas.
Estos datos almacenados centralmente son compartidos y accedidos por varias
aplicaciones. Esto elimina la redundancia en la entrada y almacenamiento de datos.
Ventaja: estadarización
Una ventaja principal de Oracle SQL es su estandarización y consistencia entre
distintas implementaciones. SQL fue estandarizado por primera vez por el ANSI
(Instituto Estadounidense de Estandarización) en1986, y luego ratificado en 1987
por la Organización Internacional de Estandarización (ISO), el cual sigue siendo el
organismo de estandarización.
13. Desventaja
Desventaja: inhabilidad de implementar el procesamiento recursivo
De acuerdo con "SQL para tontos", una de las mayores desventajas de SQL es su incapacidad de ejecutar procesamientos recursivos.
El procesamiento recursivo es un tipo de función de computadora (o programa) en el cual uno de los pasos o procedimientos vuelve a
hacer correr el programa entero (o el procedimiento). SQL carece de construcciones de tipo lazo que son comunes en otros tipos de
lenguajes de programación de alto nivel. No se pueden repetir acciones y no hay forma de definir construcciones repetitivas en SQL.
Desventaja: incompatibilidad y complejidad
Una de las mayores desventajas de Oracle SQL es la inconsistencia e incompatibilidad de datos en las áreas del tiempo y sintaxis de
datos, concatenación de cadenas y sensibilidad de caracteres. El lenguaje es complejo, con un enfoque de palabras clave similar en
estructura a COBOL (por las cifras en inglés de lenguaje común orientado a los negocios), con menos reglas de sintaxis y gramática.
Desventaja: funcionalidad limitada
SQL es un dominio específico o lenguaje de propósito especial, y su uso está limitado a un dominio de programa específico. Las
sentencias de SQL son operadas en tablas y conjuntos de datos, como por ejemplo bases de datos de personal y hojas de cálculo de
contabilidad. SQL es un lenguaje declarativo específico de dominio que está limitado a la representación tabular de los datos.
14. Mongo DB.
• MongoDB es una base de datos orientada a documentos. Esto quiere
decir que en lugar de guardar los datos en registros, guarda los datos
en documentos. Estos documentos son almacenados en BSON, que es
una representación binaria de JSON.
15. Características
Esto significa que MongoDB trata los archivos de datos como si
estuvieran en memoria. Esta es la característica fundamental del motor
de almacenamiento de MongoDB. Escalabilidad Horizontal con Shards
Sharding es un método utilizado para almacenar datos a través de
múltiples computadoras.
16. Ventajas
Una diferencia clave entre las bases de datos de NoSQL y las bases de datos relacionales tradicionales, es el hecho de que NoSQL es
una forma de almacenamiento no estructurado.
Esto significa que NoSQL no tiene una estructura de tabla fija como las que se encuentran en las bases de datos relacionales.
• Las bases de datos de NoSQL presentan muchas ventajas en comparación con las bases de datos tradicionales.
• A diferencia de las bases de datos relacionales, las bases de datos NoSQL están basadas en key-value pairs
• Algunos tipos de almacén de bases de datos NoSQL incluyen diferentes tipos de almacenes como por ejemplo el almacén de
columnas, de documentos, de key value store, de gráficos, de objetos, de XML y otros modos de almacén de datos.
• Algunos tipos de almacén de bases de datos NoSQL incluyen almacenes de columnas, de documentos, de valores de claves, de
gráficos, de objetos, de XML y otros modos de almacén de datos.
• Podría decirse que las bases de datos NoSQL de código abierto tienen una implementación rentable. Ya que no requieren las
tarifas de licencia y pueden ejecutarse en hardware de precio bajo.
• Cuando trabajamos con bases de datos NoSQL, ya sean de código abierto o tengan un propietario, la expansión es más fácil y más
barata que cuando se trabaja con bases de datos relacionales. Esto se debe a que se realiza un escalado horizontal y se distribuye
la carga por todos los nodos. En lugar de realizarse una escala vertical, más típica en los sistemas de bases de datos relacionales.
17. Desventajas
Por supuesto, las bases de datos NoSQL no son perfectas, y no siempre van a ser la
elección ideal.
• La mayoría de las bases de datos NoSQL no admiten funciones de fiabilidad, que son
soportadas por sistemas de bases de datos relacionales. Estas características de fiabilidad
pueden resumirse en: “atomicidad, consistencia, aislamiento y durabilidad.” Esto
también significa que las bases de datos NoSQL, que no soportan esas características,
ofrecen consistencia para el rendimiento y la escalabilidad.
• Con el fin de apoyar las características de fiabilidad y coherencia, los desarrolladores
deben implementar su propio código, lo que agrega más complejidad al sistema.
• Esto podría limitar el número de aplicaciones en las que podemos confiar para realizar
transacciones seguras y confiables, como por ejemplo los sistemas bancarios.
• Otras formas de complejidad encontradas en la mayoría de las bases de datos NoSQL,
incluyen la incompatibilidad con consultas SQL. Esto significa que se necesita un lenguaje
de consulta manual, haciendo los procesos mucho más lentos y complejos.
18. Oracle NoSQL.
Pese a la no existencia de una definición formal, cuando hablamos de
base datos NoSQL, también conocidas como “No sólo SQL”, nos
referimos a una amplia clase de sistemas de gestión de datos
(mecanismos para el almacenamiento y recuperación de datos) que
difieren, en aspectos importantes, del modelo clásico de relaciones
entre entidades (o tablas) existente en los sistemas de gestión bases de
datos relacionales, siendo el más destacado el que no usan SQL como
lenguaje principal de consulta.
19. Características
• Alta disponibilidad, fiabilidad y escalabilidad son las características que
pretende impulsar Oracle con su “NoSQL database”. Es un terreno donde el
resto de grandes fabricantes de software han demostrado gran interés,
incluso adoptando soluciones basadas en código abierto como la
plataforma Hadoop
• Consistencia eventual
• Flexibilidad en el sistema
• Escalabilidad orizontal
• Estructura distribuida (particionado, replica)
• Tolerancia a fallos y redundancia (base de datos de documentos,
almacenamiento clave valor, bases de datos grafos)
20. Ventajas
1.- Es de código abierto - Sobre todas las cosas buenas
Los productos de código abierto proporcionan a los desarrolladores grandes beneficios, sobre todo por su estado sin costo alguno. Otros beneficios: el software de código abierto
tiende a ser más confiable, seguro y rápido de implementar que las alternativas propietarias.
Gestores NoSQL populares son Cassandra, CouchDB, Hbase, MongoDB y Redis.
2.- Escalamiento sencillo.
NoSQL sustituye a la antiguo "escalar" el mantra de los gestores de las bases de datos con una nueva: "manera" en lugar de añadir más servidores para manejar más carga de datos,
una base de datos NoSQL permite a una empresa distribuir la carga entre varios hosts a medida que aumenta la carga.
3.- Diferentes DBs NoSQL para diferentes proyectos
MongoDB y Redis son buenas opciones para el almacenamiento de escritura con alta frecuencia, rara vez leen los datos estadísticos, tales como web, contador de visitas.
Hadoop, una libre, DB distribuida que hace un buen trabajo almacenando grandes de datos tales como estadísticas del tiempo o el trabajo de análisis de negocio.
Memcache, una db transeúnte, destaca en la web, el almacenamiento de sesiones, y las estadísticas a corto plazo.
Cassandra y Riak (clusters automáticos, tiendas redundantes) un buen rendimiento en entornos con aplicaciones de alta disponibilidad, donde el tiempo de funcionamiento máximo
es de vital importancia.
Impresionante implementaciones NoSQL de
Empresas como Amazon, Facebook, la BBC, y Google se basan en DB NoSQL. NoSQL vuela alto en la Nube
4.- NoSQL y la nube es un ajuste natural. Los servidores de hoy en día son de bajo costo y fácilmente pueden ser ampliados a petición mediante un servicio como Amazon EC2. Al
igual que toda la tecnología de la nube, EC2 se basa en la virtualización. El eslabón débil de la virtualización es la E/S, la memoria y CPU que deben ser ágiles
5.- Las bases de datos NoSQL utilizan sobre todo el uso de memoria en vez del disco como la principal ubicación de escritura - lo que impide inconsistente rendimiento I/O. Y como
los almacenes de datos NoSQL aprovechan típicamente particiones horizontales, son capaces de tomar ventaja en la nube de la elástica del aprovisionamiento.
21. Desventajas
1.- El código abierto puede significar una "mancha" en el soporte para las empresas
Mientras que los principales proveedores de RMBMS tales como Oracle, IBM y Sybase ofrecen buenos soportes a pequeñas, medianas y grandes empresas y típicamente start-ups, los
vendedores de código abierto esperan ofrecer un soporte comparable -con excepción de un puñado de clientes blue-chip.
Generalmente un vendedor de código abierto no tiene el alcance global, servicios de soporte, y la credibilidad de Oracle o IBM.
2.- No están lo suficientemente maduros para algunas empresas
A pesar de sus puestas en práctica en algunas grandes empresas, las bases de datos NoSQL aún se enfrentan a un problema de credibilidad importante con muchas empresas. Los
críticos señalan la falta de madurez de NoSQL y los posibles problemas de inestabilidad, mientras que citan la madurez, y una gran funcionalidad y estabilidad de los RDBMSes.
3.- Limitaciones de Inteligencia de Negocios
Hay una o dos cuestiones acerca de las capacidades de BI de las bases de datos NoSQL. ¿Pueden estas bases de datos proporcionar la clase de minería de datos rigurosos que las
empresas se utilizan con las RDBMSes? ¿Cuántos conocimientos de programación se necesitan para hacer la consulta ad hoc y análisis?
Las respuestas no son precisamente positivas. Las bases de datos NoSQL no tienen muchos ganchos para el uso general de herramientas de BI, mientras que la más simple consulta
ad-hoc y análisis implica conocimientos de programación bastante buenos. Sin embargo, las soluciones están disponibles. Quest Software, por ejemplo, ha creado Toad para bases de
datos en la nube, que proporciona capacidades de consulta ad-hoc para algunas bases de datos NoSQL.
4.- La falta de experiencia
La novedad de NoSQL significa que no hay una gran cantidad de desarrolladores y administradores que conocen la tecnología -lo que hace difícil a las empresas encontrar personas
con los conocimientos técnicos apropiados. Por el contrario, el mundo RDBMS tiene miles de personas muy cualificadas.
5.- Problemas de compatibilidad
A diferencia de las bases de datos relacionales, que comparten ciertos estándares, las bases de datos NoSQL tienen pocas normas en común. Cada base de datos NoSQL tiene su
propia API, las interfaces de consultas son únicas y tienen peculiaridades. Esta falta de normas significa que es imposible cambiar simplemente de un proveedor a otro, por si no
quedara satisfecho con el servicio.
22. Cassandra
• Cassandra es un sistema de gestión de bases de datos desarrollado por Facebook, cuyo
objetivo era crear un DBMS sin fallos y que proporcione la máxima disponibilidad.
• Cassandra es principalmente una base de datos de almacenes de columnas. Algunos
estudios se refieren a Cassandra como un sistema híbrido, inspirado en BigTable de
Google, (base de datos de almacén de columnas), y en DynamoDB de Amazon, (base de
datos de valor clave).
• Esto se consigue proporcionando un sistema de valor clave. Pero las claves de Cassandra
apuntan a un conjunto de familias de columnas, dependiendo del sistema de archivos
distribuido “BigTable” de Google y de las características de disponibilidad de Dynamo
(tabla hash distribuida).
• Cassandra está diseñado para almacenar enormes cantidades de datos distribuidos a
través de diferentes nodos. Cassandra es un DBMS diseñado para manejar cantidades
masivas de datos, repartidos entre muchos servidores, mientras que proporciona un
servicio altamente disponible sin un solo punto de fallo, lo cual es esencial para un gran
servicio como Facebook.
23. Características
• No hay ni un solo punto de fallo. Para que esto se consiga, Cassandra debe funcionar como un racimo de nodos. Eso no significa que los datos de
cada clúster sean los mismos, sin embargo si debe serlo el software de gestión. Cuando ocurre un fallo en uno de los nodos, los datos en ese nodo
serán inaccesibles. Sin embargo, otros nodos (y datos) seguirán siendo accesibles.
• Un Hashing distribuido es un esquema que proporciona la funcionalidad de tabla hash, de manera que la adición o supresión de una ranura no
cambia significativamente la asignación de claves a dichas ranuras. Esto proporciona la capacidad de distribuir la carga a los servidores o nodos según
su capacidad y, a su vez, minimizar el tiempo de inactividad.
• Interfaz de cliente relativamente fácil de usar. Cassandra utiliza Apache Thrift para su interfaz de cliente. Apache Thrift ofrece un cliente RPC en varios
idiomas, pero la mayoría de los desarrolladores prefieren alternativas de código abierto construidas sobre Apple Thrift, como Hector.
• Otras características de disponibilidad. Una de las características de Cassandra es la replicación de datos. Básicamente, refleja datos a otros nodos del
clúster. La replicación puede ser aleatoria o específica para maximizar la protección de datos, colocándola por ejemplo en un nodo en un centro de
datos diferente. Otra característica que se encuentra en Cassandra es la política de partición. La directiva de partición, decide en qué nodo se va a
colocar la clave. Esto también puede ser aleatorio u ordenado. Al utilizar ambos tipos de políticas de partición, Cassandra puede lograr un equilibrio
entre el equilibrio de carga y la optimización del rendimiento de las consultas.
• Consistencia. Funciones como la replicación, hacen que la consistencia sea un desafío. Esto se debe al hecho de que todos los nodos deben estar
actualizados en cualquier punto en el tiempo con los valores más recientes. Sin embargo, Cassandra intenta mantener un equilibrio entre las acciones
de replicación y las acciones de lectura/escritura proporcionando esta personalización al desarrollador.
• Acciones de lectura / escritura. El cliente envía una solicitud a un único nodo de Cassandra. El nodo, de acuerdo con la política de replicación,
almacena los datos en el clúster. Cada nodo realiza primero el cambio de datos en el registro de confirmación y, a continuación, actualiza la estructura
de la tabla con el cambio, ambos realizados de forma sincrónica. La operación de lectura es también muy similar, una petición de lectura se envía a un
solo nodo y ese único nodo es el que determina qué nodo contiene los datos, de acuerdo con la política de partición/ ubicación.
24. Ventajas
orientado a columna familias, tolerante a fallos , ya que replica los
datos de forma automática a múltiples nodos; cuando un nodo falla
puede ser reemplazado sin ningún periodo de inactividad. permite
replicas a múltiples data centers; almacenamiento de los datos tipo
column family.
25. Desventajas
No orientado a transacciones este es le factor mas débil de esta
tecnología.
El hecho de tener los datos guardados columna a columna nos permite
retornar las filas mas rápidamente, pero al insertar, actualizar o borrar
un registro, se deberá hacer en mas de una ubicación; por esta razón
este tipo de base de datos no se recomienda para sistemas de tipo
OLTP orientados a transacciones y alta concurrencia.