MAYO 1 PROYECTO día de la madre el amor más grande
Bases de datos: conceptos y tipos
1.
2. Una base de datos es un sistema informático que funciona como
un almacén, donde se van a insertar grandes cantidades de
datos.
La idea de almacenar información no es la utilidad de una base
de datos, se necesita otro tipo de sistema, que pueda buscar
entre los datos, que los pueda ordenar o crear nuevas maneras
de buscar en ellos, más rápido, más fácil; a esto se le lama
“automatizar” la información, una vez logrado esto, entonces
estamos frente a lo que se llama un “Sistema de base de datos”.
3. Toda base de datos debe tener una serie de características, por
ejemplo, la seguridad (por lo general, se refiere a que sólo personas
autorizadas podrán acceder a la información contenida en ellas), la
otra es la integridad (esto significa que la información no tenga
pérdidas, que se pueda leer, que se pueda recuperar), e
independencia (esta característica es fundamental, ya que una buena
base de datos debería ser hecha para que trabaje de manera
independiente del sistema operativo o de otros programas que
interactúen con ella).
Hay más características que debe reunir una base de datos como ser
consistente (es decir, que la información que se guarde sea de la
manera correcta y que no esté repetida). Y finalmente, las bases de
datos actuales permiten el manejo correcto de transacciones. Esto
significa que se ha de permitir efectuar varias operaciones sobre la
base de datos pero tratadas como si fuera una sola. Es decir, si en el
conjunto de las operaciones de una transacción se produce un error,
entonces se deshacen todas las operaciones realizadas
anteriormente y se cancela la transacción.
http://www.aprenderaprogramar.com/index.php?option=com_attachments&task=download&id=500
4. SQL
Estas siglas corresponden a la expresión inglesa Structured Query
Language (entendida en español como Lenguaje Estructurado de
Consultas), que identifica a un tipo de lenguaje vinculado con el
manejo de un cierto tipo de bases de datos, llamada relacional que
permite la especificación de distintas clases de operaciones que e
pueden llevar a cabo entre éstas, gracias a ciertos tipos de
cálculos, el SQL brinda la posibilidad de realizar consultas con el
objetivo de buscar, recuperar o mostrar información de las bases
de datos de manera sencilla.
http://definicion.de/sql/#ixzz4NBHYssB7
5. Base de datos tipo SQL
Este tipo de bases de datos usan el lenguaje SQL para poder
accesar a ellas y hacer cálculos o transacciones con sus datos.
Este tipo de bases de datos necesitan un “formato” especial, para
que SQL las pueda reconocer y permita hacer dichas transacciones.
Este formato se refiere a los tipos de datos que la base de datos
tendrá, por ejemplo, fechas, números, letras, correos electrónico,
que en computación deben diferenciarse unos de otros, en la
manera de escribirlos o de insertarlos a las base de datos.
6. Base de datos relacional
Una base de datos relacional es una colección de elementos
de datos, organizados en un conjunto de tablas (una tabla es
similar a una hoja de Excel), desde la que se puede acceder a
los datos o volver a “montarlos” de muchas maneras diferentes sin
tener que reorganizar todas las tablas, pero básicamente para que
estas tablas se puedan relacionar entre sí.
A continuación, se muestra un ejemplo de una tabla:
7. Bases de datos “No-SQL”
Son muchas las aplicaciones que utilizan algún tipo de bases
de datos para funcionar. Hasta ahora estábamos
acostumbrados a utilizar bases de datos SQL como son por
ejemplo, MySQL, Oracle o MS (Microsoft) SQL, pero han
aparecido otras que reciben el nombre de NoSQL (Not only
SQL – No sólo SQL) y que han llegado con la intención de
hacer frente a las bases relacionales utilizadas por la mayoría
de los usuarios. La aparición del término No-SQL aparece con
la llegada de la web 2.0 ya que hasta ese momento sólo
subían contenido a la red aquellas empresas que tenían un
portal, pero con la llegada de Facebook, Twitter o YouTube,
cualquier usuario podía subir contenido, provocando así un
crecimiento muy fuerte de los datos. Es en este momento
cuando empiezan a aparecer los primeros problemas de la
gestión de toda esa información almacenada en bases de
datos relacionales.
8. En un principio, para solucionar estos problemas de accesibilidad,
las empresas que crean dichos contenidos y software especializado,
optaron por utilizar un mayor número de computadoras, también
especializadas, pero pronto se dieron cuenta de que esto no
solucionaba el problema, además de resultar muy caro. La otra
solución era la creación de sistemas pensados para un uso
específico que con el paso del tiempo han dado lugar a soluciones
robustas, apareciendo así el movimiento No-SQL.
9. Por lo tanto hablar de bases de datos NoSQL es hablar de
estructuras que nos permiten almacenar información en aquellas
situaciones en las que las bases de datos relacionales generan
ciertos problemas debido principalmente a problemas de
escalabilidad y rendimiento de las bases de datos relacionales
donde se dan cita miles de usuarios concurrentes y con millones
de consultas diarias. Además de lo comentado anteriormente,
las bases de datos NoSQL son sistemas de almacenamiento de
información que no cumplen con el esquema entidad–relación.
Tampoco utilizan una estructura de datos en forma de tabla
donde se van almacenando los datos sino que para el
almacenamiento hacen uso de otros formatos como clave–valor,
mapeo de columnas o grafos (ver epígrafe ‘Tipos de bases de
datos NoSQL’).
10. Ventajas de los sistemas No-SQL
Esta forma de almacenar la información ofrece ciertas ventajas sobre los
modelos relacionales. Entre las más significativas podemos destacar:
Se ejecutan en máquinas con pocos recursos (no requieren de apenas
recursos de computación, por lo que se pueden montar en máquinas de
un coste más reducido)
Escalabilidad horizontal (Para mejorar el rendimiento de estos
sistemas simplemente se consigue añadiendo más nodos, con la única
operación de indicar al sistema cuáles son los nodos que están
disponibles)
Pueden manejar gran cantidad de datos (Debido a que utiliza una
estructura distribuida, en muchos casos mediante tablas Hash)
No genera cuellos de botella (El principal problema de los sistemas
SQL es que necesitan transcribir cada sentencia para poder ser
ejecutada, y cada sentencia compleja requiere además de un nivel de
ejecución aún más complejo, lo que constituye un punto de entrada en
común, que ante muchas peticiones puede ralentizar el sistema)
11. Diferencias con las bases de datos SQL
No utilizan SQL como lenguaje de consultas (La mayoría de las bases
de datos No-SQL evitan utilizar este tipo de lenguaje o lo utilizan
como un lenguaje de apoyo. Por poner algunos ejemplos, Cassandra
utiliza el lenguaje CQL, MongoDB utiliza JSON o BigTable hace uso de
GQL)
No utilizan estructuras fijas como tablas para el almacenamiento de
los datos. Permiten hacer uso de otros tipos de modelos de
almacenamiento de información como sistemas de clave–valor, objetos
o grafos)
No suelen permitir operaciones JOIN. Las soluciones más directas
consisten en des normalizar los datos, o bien realizar el JOIN mediante
software, en la capa de aplicación
Arquitectura distribuida. Las bases de datos relacionales suelen estar
centralizadas en una única máquina o bien en una estructura máster–
esclavo, sin embargo en los casos No-SQL la información puede estar
compartida en varias máquinas mediante mecanismos de tablas Hash
distribuidas.
12. SQL Server Oracle Mongo DB Cassandra
Rendimiento y estabilidad
general del sistema de
archivos
Grn cantidad de herramientas
para administracion y
monitoreo
Escalabilidad limitada en
grandes bases de datos Escalabilidad, con límites
Gran comunidad de soporte Gran comunidad de soporte Escalable
Código propietario Código propietario Codigo abierto, iniciada con Facebook
Cara Cara Economica
Orientada a objetos Orientada a objetos Orientada a documentos
Ofrece drivers nativos para varios lenguajes de
programacion
Usa formato JSON, que estructura los datos isn perder su
entendimiento
Relacional Relacional No relacional, almacén de documentos Codigo abierto, ibre distribución
Orientada a desarrollo Orientada a desarrollo Orientada a creación de Wikis y Blogs
Escrito en Java, escalable, perite la lectura y
escritura, replicación mediante peer to peer.
basada en esquemas basada en esquemas No tiene4 esquemas
Solo para Windows Multiplataforma
Tiene la posibilidad de trabajar con datos estructurados
y no estructurados.
Permiten trabajar por pares de clave-valor y acceder a
distintas partes de los datos almacenados.
almacenamiento de escritura con alta frecuencia, rara
vez leen los datos estadísticos, tales como web,
contador de visitas
buen rendimiento en entornos con aplicaciones de alta
disponibilidad, donde el tiempo de funcionamiento
máximo es de vital importancia
Escrito en C++, utiliza BSON como API, realiza consultas
a través de JSON.