SlideShare una empresa de Scribd logo
1 de 26
De una manera simple, es un contenedor que permite
almacenar la información de forma ordenada con diferentes
propósitos y usos. Por ejemplo, en una base de datos se
puede almacenar información de diferentes departamentos
(Ventas, Recursos Humanos, Inventarios, entre otros). El
almacenamiento de la información por sí sola no tiene un
valor, pero si combinamos o relacionamos la información con
diferentes departamentos nos puede dar valor. Por ejemplo,
combinar la información de las ventas del mes de junio del
2014 para el producto ‘X’ en la zona norte nos da un
indicativo del comportamiento de las ventas en un periodo de
tiempo.
 Existen muchas empresas con diferentes giros y dependiendo
del giro será el tipo de procesamiento que se le dará a la
información, esto determinará el tipo de base de datos a utilizar.
Existen diferentes tipos de bases de datos pero las más
comunes son las OLTP y OLAP.
 Las bases de datos de tipo OLTP (On Line Transaction
Processing) también son llamadas bases de datos dinámicas lo
que significa que la información se modifica en tiempo real, es
decir, se insertan, se eliminan, se modifican y se consultan
datos en línea durante la operación del sistema. Un ejemplo es
el sistema de un supermercado donde se van registrando cada
uno de los artículos que el cliente está comprando y a su vez el
sistema va actualizando el Inventario.
 Los pasos para organizar los datos en tu tabla son los siguientes:
1. Dale un nombre a tu tabla, para ellos sigue los consejos que te acabamos
de dar.
 2. Identifica los objetos, observa el listado de información que quieres alojar en
la base de datos, analízala e identifica esos objetos. Nombre, dirección, edad,
RUT, pueden ser algunos de esos objetos.
 3. Identifica y crea una tabla distinta según tus objetos. Puede que sea mejor
separar la información de contacto de la información personal en distintas
bases de datos.
 4. Identifica los atributos para cada objeto; separa la información que se
almacena lo que más te sea posible. Por ejemplo, si almacenas nombres de
personas en una tabla, puede separar el nombre en primer nombre y apellido.
Hacer esto te permitirá ordenar por el apellido, lo que será más útil de si
llegaran a estar juntas.
 5. Define y nombra columnas por cada atributo que identificaste en el paso
anterior. Da a cada columna un nombre que identifique claramente la
información que contiene. Los nombres de columna deben ser una sola
palabra, sin espacios. Por ejemplo, PrimerNombre ó primer_nombre
 Algunas palabras están reservadas por MySQL y SQL para su propio uso y no se puede utilizar
como nombres de columna. Algunas de las palabras que se utilizan actualmente en SQL o se
reservan para uso futuro, son ADD, ALL, AND, CREATE, DROP,GROUP, ORDER, RETURN,
SELECT, SET, TABLE, USE, WHERE, y muchos otras que no se puede utilizar como nombres
de columna. Para una lista completa de las palabras reservadas, consulte el manual de MySQL
en línea en www.mysql.com/doc/en/Reserved_words.html.
 6. Identificar la clave principal.
 Cada fila de una tabla necesita un identificador único. Ninguna fila de una tabla debe ser
exactamente igual a otra. Al diseñar tu tabla, tú decides qué columna tiene el identificador único,
llamado la clave principal.
 7. Definir los valores predeterminados.
 Puede definir un valor predeterminado que MySQL asignará a un campo cuando no hay datos
introducidos en él. Por ejemplo, si tu aplicación almacena una dirección que incluye un país,
puedes especificar, Chile como el predeterminado. Si el usuario no escribe un país, Chile será
automáticamente ingresado.
 8. Identificar las columnas que requieren datos.
 Puedes especificar que a ciertas columnas no se les permite estar vacías (también llamado
NULL). Por ejemplo, la columna que contiene la clave primaria no puede estar vacío. Eso
significa que MySQL no creará la fila y devolverá un mensaje de error. El valor puede ser un
espacio en blanco o una cadena vacía (por ejemplo, “”).
Según la variabilidad de la base de datos
 Bases de datos estáticas
 Son bases de datos únicamente de lectura, utilizadas
primordialmente para almacenar datos históricos que
posteriormente se pueden utilizar para estudiar el comportamiento
de un conjunto de datos a través del tiempo, realizar proyecciones,
tomar decisiones y realizar análisis de datos para
 Bases de datos dinámicas
 Son bases de datos donde la información almacenada se modifica con
el tiempo, permitiendo operaciones como actualización, borrado y
edición de datos, además de las operaciones fundamentales de
consulta. Un ejemplo, puede ser la base de datos utilizada en un
sistema de información de un supermercado.
 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. Una de sus características es el
manejo del álgebra y el cálculo relacional que permiten
efectuar consultas con el fin de recuperar, de forma
sencilla, información de bases de datos, así como hacer
cambios en ellas.
 SQL fue uno de los primeros lenguajes comerciales para
el modelo relacional de Edgar Frank Codd como se
describió en su papel de 1970 El modelo relacional de
datos para grandes bancos de datos compartidos. A pesar
de no adherirse totalmente al modelo relacional descrito
por Codd, pasó a ser el lenguaje de base de datos más
usado.
 SQL pasó a ser el estándar del Instituto Nacional
Estadounidense de Estándares (ANSI) en 1986 y de
la Organización Internacional de Normalización (ISO) en
1987. Desde entonces, el estándar ha sido revisado para
incluir más características. A pesar de la existencia de
ambos estándares, la mayoría de los códigos SQL no son
completamente portables entre sistemas de bases de
datos diferentes sin ajustes.
 En informática, NoSQL (a veces llamado "no sólo SQL")
es una amplia clase de sistemas de gestión de bases de
datos que difieren del modelo clásico de SGBDR (Sistema
de Gestión de Bases de Datos Relacionales) en aspectos
importantes, siendo el más destacado que no
usan SQL como lenguaje principal de consultas. Los datos
almacenados no requieren estructuras fijas como tablas,
normalmente no soportan operaciones JOIN, ni garantizan
completamente ACID (atomicidad, consistencia,
aislamiento y durabilidad), y habitualmente escalan
bien horizontalmente. Los sistemas NoSQL se denominan
a veces "no sólo SQL" para subrayar el hecho de que
también pueden soportar lenguajes de consulta de tipo
SQL.
 Por lo general, los investigadores académicos
se refieren a este tipo de bases de datos
como almacenamiento estructurado, término
que abarca también las bases de datos
relacionales clásicas. A menudo, las bases de
datos NoSQL se clasifican según su forma de
almacenar los datos, y comprenden categorías
como clave-valor, las implementaciones
de BigTable, bases de datos documentales,
y bases de datos orientadas a grafos.
 Microsoft SQL Server es un sistema de manejo de bases de datos
del modelo relacional, desarrollado por la empresa Microsoft.
 El lenguaje de desarrollo utilizado (por línea de comandos o mediante
la interfaz gráfica de Management Studio) es Transact-SQL(TSQL),
una implementación del estándar ANSI del lenguaje SQL, utilizado
para manipular y recuperar datos (DML), crear tablas y definir
relaciones entre ellas (DDL).
 Dentro de los competidores más destacados de SQL Server
están: Oracle, MariaDB, MySQL, PostgreSQL. SQL Server ha estado
tradicionalmente disponible solo para sistemas operativos Windows de
Microsoft, pero desde 2017 también está disponible para Linux y
Docker containers.
 Puede ser configurado para utilizar varias instancias en el mismo
servidor físico, la primera instalación lleva generalmente el nombre del
servidor, y las siguientes - nombres específicos (con un guion invertido
entre el nombre del servidor y el nombre de la instalación).
 Oracle Cloud es la nube más amplia e
integrada del sector con opciones de
despliegue que van desde la nube pública
hasta el centro de datos. Oracle Cloud ofrece
los mejores servicios en software como servicio
(SaaS), datos como servicio (DaaS), plataforma
como servicio (PaaS) e infraestructura como
servicio (IaaS). Oracle Cloud ayuda a las
organizaciones a aportar innovación y
transformar su negocio mediante el aumento de
la agilidad, la disminución de los costos y la
reducción de la complejidad de TI.
 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.
 Una de las diferencias más importantes con respecto a las bases de datos relacionales, es que no es
necesario seguir un esquema. Los documentos de una misma colección - concepto similar a una tabla de una
base de datos relacional -, pueden tener esquemas diferentes.
 Imaginemos que tenemos una colección a la que llamamos Personas. Un documento podría almacenarse de la
siguiente manera:
 { Nombre: "Pedro", Apellidos: "Martínez Campo", Edad: 22, Aficiones: ["fútbol","tenis","ciclismo"], Amigos: [ {
Nombre:"María", Edad:22 }, { Nombre:"Luis", Edad:28 } ] } El documento anterior es un clásico documento
JSON. Tiene strings, arrays, subdocumentos y números. En la misma colección podríamos guardar un
documento como este:
 { Nombre: "Luis", Estudios: "Administración y Dirección de Empresas", Amigos:12 } Este documento no sigue el
mismo esquema que el primero. Tiene menos campos, algún campo nuevo que no existe en el documento
anterior e incluso un campo de distinto tipo.
 Esto que es algo impensable en una base de datos relacional, es algo totalmente válido en MongoDB.
 En esta base de datos no existen las transacciones. Aunque nuestra aplicación puede utilizar alguna técnica
para simular las transacciones, MongoDB no tiene esta capacidad. Solo garantiza operaciones atómicas a nivel
de documento. Si las transacciones son algo indispensable en nuestro desarrollo, deberemos pensar en otro
sistema.
 Tampoco existen los JOINS. Para consultar datos relacionados en dos o más colecciones, tenemos que hacer
más de una consulta. En general, si nuestros datos pueden ser estructurados en tablas, y necesitamos las
relaciones, es mejor que optemos por un RDBMS clásico.
 Y para finalizar, están las consultas de agregación. MongoDB tiene un framework para realizar consultas de
este tipo llamado Aggregation Framework. También puede usar Map Reduce. Aún así, estos métodos no llegan
a la potencia de un sistema relacional. Si vamos a necesitar explotar informes complejos, deberemos pensar en
utilizar otro sistema. Eso sí, esta es una brecha que MongoDB va recortando con cada versión. En poco tiempo
esto podría dejar de ser un problema.
 ¿Cómo funciona MongoDB?
 MongoDB está escrito en C++, aunque las consultas se hacen pasando
objetos JSON como parámetro. Es algo bastante lógico, dado que los propios
documentos se almacenan en BSON. Por ejemplo:
 db.Clientes.find({Nombre:"Pedro"}); La consulta anterior buscará todos los
clientes cuyo nombre sea Pedro.
 MongoDB viene de serie con una consola desde la que podemos ejecutar los
distintos comandos. Esta consola está construida sobre JavaScript, por lo que
las consultas se realizan utilizando ese lenguaje. Además de las funciones de
MongoDB, podemos utilizar muchas de las funciones propias de JavaSciprt.
En la consola también podemos definir variables, funciones o utilizar bucles.
 Si queremos usar nuestro lenguaje de programación favorito, existen drivers
para un gran número de ellos. Hay drivers oficiales para C#, Java, Node.js,
PHP, Python, Ruby, C, C++, Perl o Scala. Aunque estos drivers están
soportados por MongoDB, no todos están en el mismo estado de madurez.
Por ejemplo el de C es una versión alpha. Si queremos utilizar un lenguaje
concreto, es mejor revisar los drivers disponibles para comprobar si son
adecuados para un entorno de producción
 ¿Dónde se puede utilizar MongoDB?
 Aunque se suele decir que las bases de datos NoSQL tienen un ámbito de
aplicación reducido, MongoDB se puede utilizar en muchos de los
proyectos que desarrollamos en la actualidad.
 Cualquier aplicación que necesite almacenar datos semi estructurados puede
usar MongoDB. Es el caso de las típicas aplicaciones CRUD o de muchos de
los desarrollos web actuales.
 Eso sí, aunque las colecciones de MongoDB no necesitan definir une
esquema, es importante que diseñemos nuestra aplicación para seguir uno.
Tendremos que pensar si necesitamos normalizar los datos, denormalizarlos o
utilizar una aproximación híbrida. Estas decisiones pueden afectar al
rendimiento de nuestra aplicación. En definitiva el esquema lo definen las
consultas que vayamos a realizar con más frecuencia.
 MongoDB es especialmente útil en entornos que requieran escalabilidad. Con
sus opciones de replicación y sharding, que son muy sencillas de configurar,
podemos conseguir un sistema que escale horizontalmente sin demasiados
problemas.
 ¿Cómo se instala MongoDB?
 La instalación de una instancia del servidor es un
juego de niños. Simplemente tenemos que bajar
los binarios para nuestro sistema operativo. Hay
versiones par Windows, Linux y MacOs. Una vez
bajados podremos arrancar el servicio de
MongoDB con un solo comando.
 mongod --dbpath data Con este comando
arrancamos el servicio mongod, que empezará a
escuchar peticiones por el puerto 27017. Es
importante indicar el parámetro --dbpath, con la
ruta dónde se almacenarán los ficheros de nuestra
base de datos
 Oracle NoSQL Database es una base de datos de valor-
clave distribuida tipo NoSQL de Oracle Corporation.
Proporciona semántica transaccional para manipulación
de datos, escalabilidad horizontal y administración y
supervisión sencillas.
 Oracle NoSQL Database proporciona un modelo de datos
muy simple para el desarrollador de la aplicación. Cada
fila se identifica mediante una clave única, y también tiene
un valor, de longitud arbitraria, que es interpretada por la
aplicación. La aplicación puede manipular (insertar, borrar,
actualizar, leer) una sola fila en una transacción. La
aplicación también puede realizar un análisis iterativo, no
transaccional de todas las filas en la base de datos.
 Arquitectura Oracle NoSQL Database se basa en el motor de almacenamiento de alta
disponibilidad Oracle Berkeley DBJava Edition. Además de eso, agrega una capa de servicios para su uso en
entornos distribuidos para proporcionar un almacenamiento clave / valor altamente disponible y distribuido,
adecuado para aplicaciones de gran volumen y sensibles a la latencia.
 A este respecto, una revisión de Infoworld menciona que Oracle compró la compañía que desarrolló Berkeley
DB, Sleepycat Software .
 Sharding y replicaciónOracle NoSQL Database es un sistema cliente-servidor, fragmentado , compartido y
nada . Los datos en cada fragmento se replican en cada uno de los nodos que comprenden el
fragmento. Proporciona un paradigma clave-valor simple para el desarrollador de la aplicación. La clave principal
de un registro es el hash para identificar el fragmento al que pertenece el registro. La base de datos Oracle
NoSQL está diseñada para admitir cambios dinámicos de la cantidad de fragmentos en respuesta a la
disponibilidad de hardware adicional. Si la cantidad de fragmentos cambia, los pares clave-valor se redistribuyen
dinámicamente entre el nuevo conjunto de fragmentos, sin que sea necesario apagar el sistema y
reiniciarse. Un fragmento está formado por un único nodo principal elegible que puede servir para solicitudes de
lectura y escritura, y varias réplicas (generalmente dos o más) que pueden servir para solicitudes de lectura. Las
réplicas se mantienen actualizadas mediante la replicación de transmisión. Cada cambio en el nodo maestro se
confirma localmente en el disco y también se propaga a las réplicas.
 Administración y supervisión del sistema Oracle NoSQL Database proporciona un servicio de administración, al
que se puede acceder desde una consola web o una interfaz de línea de comandos (CLI). Este servicio admite
la funcionalidad principal, como la capacidad de configurar, iniciar, detener y monitorear un nodo de
almacenamiento, sin requerir esfuerzo manual con archivos de configuración, scripts de shell u operaciones de
bases de datos explícitas. Además, también permite que los agentes Java Management Extensions
(JMX) o Simple Network Management Protl(SNMP) estén disponibles para la supervisión. Esto permite a los
clientes de administración sondear información sobre el estado, las métricas de rendimiento y los parámetros
operativos del nodo de almacenamiento y sus servicios administrados.
 datos transaccionales se entregan a todos los nodos de réplica con políticas de durabilidad
flexibles por transacción. En el caso de que el nodo de réplica principal falle, un proceso de
elección de conmutación automática basado en PAXOS basado en consenso minimiza el tiempo
de inactividad. Tan pronto como el nodo fallido se repare, vuelve a unirse al fragmento, se
actualiza y luego está disponible para procesar las solicitudes de lectura. Por lo tanto, el servidor
Oracle NoSQL Database puede tolerar fallas de nodos dentro de un fragmento y también
múltiples fallas de nodos en fragmentos distintos
 La colocación correcta de maestros y réplicas en el hardware del servidor (bastidores e
interruptores de interconexión) por parte de Oracle NoSQL Database tiene como objetivo
aumentar la disponibilidad en los servidores básicos.
 Equilibrio de carga transparenteOracle NoSQL Database Driver divide los datos en tiempo real y
los distribuye uniformemente en los nodos de almacenamiento. Es topología de red y consciente
de la latencia, enruta las operaciones de lectura y escritura al nodo de almacenamiento más
apropiado para optimizar la distribución y el rendimiento de la carga.
 Transacción conforme a ACIDLa base de datos Oracle NoSQL
proporciona transacciones compatibles con ACID para operaciones completas de Crear, Leer,
Actualizar y Eliminar (CRUD), con durabilidad ajustable y garantías transaccionales de
coherencia. También puede ejecutar una secuencia de operaciones como una única
unidad atómica , siempre y cuando todos los registros va a ser operado compartir el mismo Key
Key Path.
 Alta disponibilidad y tolerancia a fallas La base de datos Oracle NoSQL proporciona
una replicación de base de datos de réplica única y múltiple. Los Formato de datos
JSONOracle NoSQL Database tiene soporte para la serialización de datos Avro , que
proporciona un formato de datos binarios compacto basado en esquemas. Avro le
permite definir un esquema (usando JSON) para los datos contenidos en el valor de un
registro y también es compatible con la evolución del esquema. Topología inteligente
configurable Los administradores del sistema indican cuánta capacidad está disponible
en un nodo de almacenamiento determinado, lo que permite que nodos de
almacenamiento más capaces alojen varios nodos de replicación. Una vez que el sistema
conoce la capacidad de los nodos de almacenamiento en una configuración,
automáticamente asigna nodos de replicación de forma inteligente. Esto está destinado a
un mejor equilibrio de carga para el sistema, un mejor uso de los recursos del sistema y
la minimización del impacto del sistema en caso de fallo del nodo de
almacenamiento. Smart Topology también admite centros de datos, lo que garantiza que
se asigne inicialmente un conjunto completo de réplicas a cada centro de datos.
 Configuración elástica "Elasticidad" se refiere a la expansión dinámica en línea del clúster
desplegado. Se pueden agregar más nodos de almacenamiento para aumentar la
capacidad, el rendimiento, la confiabilidad o todo lo anterior. Oracle NoSQL Database
incluye una función de planificación de topología, con la cual un administrador puede
modificar la configuración de una base de datos NoSQL mientras la base de datos aún
está en línea. Esto le permite al administrador:
 Aumente la distribución de datos: aumentando el número de
fragmentos en el clúster, lo que aumenta el rendimiento de
escritura.
 Aumente el factor de replicación: asignando nodos de
replicación adicionales a cada fragmento, lo que aumenta el
rendimiento de lectura y la disponibilidad del sistema.
 Reequilibrar almacén de datos: al modificar la capacidad de un
nodo (s) de almacenamiento, el sistema puede reequilibrarse,
reasignando nodos de replicación a los nodos de
almacenamiento disponibles, según corresponda.
 El comando de reequilibrio de topología permite al
administrador mover nodos de replicación y / o particiones
desde nodos sobre utilizados en nodos de almacenamiento
subutilizados o viceversa
 Administración y supervisión del sistema Oracle NoSQL
Database proporciona un servicio de administración, al que se
puede acceder desde una consola web o una interfaz de línea
de comandos (CLI). Este servicio admite la funcionalidad
principal, como la capacidad de configurar, iniciar, detener y
monitorear un nodo de almacenamiento, sin requerir esfuerzo
manual con archivos de configuración, scripts de shell u
operaciones de bases de datos explícitas. Además, también
permite que los agentes Java Management Extensions
(JMX) o Simple Network Management Protocol, (SNMP) estén
disponibles para la supervisión. Esto permite a los clientes de
administración sondear información sobre el estado, las
métricas de rendimiento y los parámetros operativos del nodo
de almacenamiento y sus servicios administrados.
 Apache Cassandra es una base de datos NoSQL distribuida y basada en un
modelo de almacenamiento de «clave-valor», de código abierto que está
escrita en Java. Permite grandes volúmenes de datos en forma distribuida. Por
ejemplo, lo usa Twitter para su plataforma. Su objetivo principal es la
escalabilidad lineal y la disponibilidad. La arquitectura distribuida de
Cassandra está basada en una serie de nodos iguales que se comunican con
un protocolo P2P con lo que la redundancia es máxima. Está desarrollada
por Apache Software Foundation.
 Cassandra ofrece soporte robusto para múltiples centros de datos,​ con la
replicación asincrónica sin necesidad de un servidor maestro, que permiten
operaciones de baja latencia para todos los clientes.
 Cassandra también ofrece un gran rendimiento. En 2012, investigadores de la
Universidad de Toronto que estudian los sistemas NoSQL concluyeron que "En
términos de escalabilidad, hay un claro ganador a través de nuestros
experimentos. Cassandra logra el más alto rendimiento para el número
máximo de nodos en todos los experimentos", aunque "esto tiene como precio
una alta latencia de escritura y lectura"
 Descentralizado: Todos los nodos del clúster tiene el mismo rol. No
hay un único punto de fallo. Los datos se distribuyen a través del
clúster (por lo que cada nodo contiene datos diferentes). No existe un
nodo maestro por lo que cada nodo puede dar servicio a cualquier
solicitud.
 Soporta replicación y replicación de múltiples data center: Las
estrategias de replicación son configurables . Cassandra está
diseñado como un sistema distribuido, para el despliegue de un gran
número de nodos a través de múltiples centros de datos. La
arquitectura distribuida de Cassandra está diseñado para desplegarse
sobre múltiples data center, tener redundancia y recuperarse ante
desastres.
 Escalabilidad: El rendimiento de leer y escribir aumenta linealmente a
medida que se añaden nuevos nodos. Se pueden agregar nuevos
nodos sin necesidad de interrumpir la ejecución de la aplicación.
 Tolerancia a fallos:Los datos se replican
automáticamente a múltiples nodos para
recuperarse frente a fallos. Cassandra soporta
replicación a través de múltiples datacenter. Se
puede reemplazar nodos que presenten fallos sin
tiempo de inactividad o interrupción de la
aplicación.
 Consistencia:Se ofrece la elección de el nivel de
consistencia para las lecturas y escrituras.Un
ejemplo posible de consulta utilizando consistencia
es el siguiente: SELECT * FROM users WHERE
state='TX' USING CONSISTENCY QUORUM

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

Introducción a Base de datos y Access
Introducción a Base de datos y  AccessIntroducción a Base de datos y  Access
Introducción a Base de datos y Access
 
Partes de acces
Partes de accesPartes de acces
Partes de acces
 
1. Modelo de Datos
1. Modelo de Datos1. Modelo de Datos
1. Modelo de Datos
 
Jb and jd
Jb and jdJb and jd
Jb and jd
 
4 4 Bases De Datos
4 4 Bases De Datos4 4 Bases De Datos
4 4 Bases De Datos
 
Trabajo Final Base De Datos
Trabajo Final Base De DatosTrabajo Final Base De Datos
Trabajo Final Base De Datos
 
Diapositivas Base De Datos
Diapositivas Base De DatosDiapositivas Base De Datos
Diapositivas Base De Datos
 
Clase de informatica base de datos
Clase de informatica   base de datosClase de informatica   base de datos
Clase de informatica base de datos
 
BASE DE DATOS :)
BASE DE DATOS :)BASE DE DATOS :)
BASE DE DATOS :)
 
Dennis solorzano
Dennis solorzanoDennis solorzano
Dennis solorzano
 
BASE DE DATOS :)
BASE DE DATOS :)BASE DE DATOS :)
BASE DE DATOS :)
 
Optimización de base de datos ACCESS - Metodología de la Investigación
Optimización de base de datos ACCESS - Metodología de la InvestigaciónOptimización de base de datos ACCESS - Metodología de la Investigación
Optimización de base de datos ACCESS - Metodología de la Investigación
 
Jose osorio
Jose osorioJose osorio
Jose osorio
 
Introducción a los sistemas de bases de datos
Introducción a los sistemas de bases de datosIntroducción a los sistemas de bases de datos
Introducción a los sistemas de bases de datos
 
Teoria ACCESS
Teoria ACCESSTeoria ACCESS
Teoria ACCESS
 
Cuestionario base de datos
Cuestionario base de datosCuestionario base de datos
Cuestionario base de datos
 
base de datos
base de datos base de datos
base de datos
 
Act 4 vite_facundo
Act 4 vite_facundoAct 4 vite_facundo
Act 4 vite_facundo
 

Similar a Tipos de bases de datos por Juan del Ángel Oláez González

Similar a Tipos de bases de datos por Juan del Ángel Oláez González (20)

Base de datos yeiker
Base de datos yeikerBase de datos yeiker
Base de datos yeiker
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
alumno: jose carlos leocadio matines ...
                                    alumno: jose carlos leocadio matines     ...                                    alumno: jose carlos leocadio matines     ...
alumno: jose carlos leocadio matines ...
 
Base de datos 1
Base de datos 1Base de datos 1
Base de datos 1
 
Base de Datos, información sobre ellas, etc.
Base de Datos, información sobre ellas, etc.Base de Datos, información sobre ellas, etc.
Base de Datos, información sobre ellas, etc.
 
Presentación
PresentaciónPresentación
Presentación
 
Base de datos adrian ibarra
Base de datos adrian ibarraBase de datos adrian ibarra
Base de datos adrian ibarra
 
Base de datos adrian ibarra
Base de datos adrian ibarraBase de datos adrian ibarra
Base de datos adrian ibarra
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Base de datos jairo
Base de datos jairoBase de datos jairo
Base de datos jairo
 
Base de datos
Base de datosBase de datos
Base de datos
 
Generalidades bases de datos
Generalidades bases de datosGeneralidades bases de datos
Generalidades bases de datos
 
Base de datos 5º (2)
Base de datos 5º (2)Base de datos 5º (2)
Base de datos 5º (2)
 
Base de datos 5º (2)
Base de datos 5º (2)Base de datos 5º (2)
Base de datos 5º (2)
 
Base datos
Base datos Base datos
Base datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Introduccion a las bases de datos
Introduccion a las bases de datosIntroduccion a las bases de datos
Introduccion a las bases de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 

Último

02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señorkkte210207
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digitalNayaniJulietaRamosRa
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 

Último (9)

02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 

Tipos de bases de datos por Juan del Ángel Oláez González

  • 1.
  • 2. De una manera simple, es un contenedor que permite almacenar la información de forma ordenada con diferentes propósitos y usos. Por ejemplo, en una base de datos se puede almacenar información de diferentes departamentos (Ventas, Recursos Humanos, Inventarios, entre otros). El almacenamiento de la información por sí sola no tiene un valor, pero si combinamos o relacionamos la información con diferentes departamentos nos puede dar valor. Por ejemplo, combinar la información de las ventas del mes de junio del 2014 para el producto ‘X’ en la zona norte nos da un indicativo del comportamiento de las ventas en un periodo de tiempo.
  • 3.  Existen muchas empresas con diferentes giros y dependiendo del giro será el tipo de procesamiento que se le dará a la información, esto determinará el tipo de base de datos a utilizar. Existen diferentes tipos de bases de datos pero las más comunes son las OLTP y OLAP.  Las bases de datos de tipo OLTP (On Line Transaction Processing) también son llamadas bases de datos dinámicas lo que significa que la información se modifica en tiempo real, es decir, se insertan, se eliminan, se modifican y se consultan datos en línea durante la operación del sistema. Un ejemplo es el sistema de un supermercado donde se van registrando cada uno de los artículos que el cliente está comprando y a su vez el sistema va actualizando el Inventario.
  • 4.  Los pasos para organizar los datos en tu tabla son los siguientes: 1. Dale un nombre a tu tabla, para ellos sigue los consejos que te acabamos de dar.  2. Identifica los objetos, observa el listado de información que quieres alojar en la base de datos, analízala e identifica esos objetos. Nombre, dirección, edad, RUT, pueden ser algunos de esos objetos.  3. Identifica y crea una tabla distinta según tus objetos. Puede que sea mejor separar la información de contacto de la información personal en distintas bases de datos.  4. Identifica los atributos para cada objeto; separa la información que se almacena lo que más te sea posible. Por ejemplo, si almacenas nombres de personas en una tabla, puede separar el nombre en primer nombre y apellido. Hacer esto te permitirá ordenar por el apellido, lo que será más útil de si llegaran a estar juntas.  5. Define y nombra columnas por cada atributo que identificaste en el paso anterior. Da a cada columna un nombre que identifique claramente la información que contiene. Los nombres de columna deben ser una sola palabra, sin espacios. Por ejemplo, PrimerNombre ó primer_nombre
  • 5.  Algunas palabras están reservadas por MySQL y SQL para su propio uso y no se puede utilizar como nombres de columna. Algunas de las palabras que se utilizan actualmente en SQL o se reservan para uso futuro, son ADD, ALL, AND, CREATE, DROP,GROUP, ORDER, RETURN, SELECT, SET, TABLE, USE, WHERE, y muchos otras que no se puede utilizar como nombres de columna. Para una lista completa de las palabras reservadas, consulte el manual de MySQL en línea en www.mysql.com/doc/en/Reserved_words.html.  6. Identificar la clave principal.  Cada fila de una tabla necesita un identificador único. Ninguna fila de una tabla debe ser exactamente igual a otra. Al diseñar tu tabla, tú decides qué columna tiene el identificador único, llamado la clave principal.  7. Definir los valores predeterminados.  Puede definir un valor predeterminado que MySQL asignará a un campo cuando no hay datos introducidos en él. Por ejemplo, si tu aplicación almacena una dirección que incluye un país, puedes especificar, Chile como el predeterminado. Si el usuario no escribe un país, Chile será automáticamente ingresado.  8. Identificar las columnas que requieren datos.  Puedes especificar que a ciertas columnas no se les permite estar vacías (también llamado NULL). Por ejemplo, la columna que contiene la clave primaria no puede estar vacío. Eso significa que MySQL no creará la fila y devolverá un mensaje de error. El valor puede ser un espacio en blanco o una cadena vacía (por ejemplo, “”).
  • 6.
  • 7. Según la variabilidad de la base de datos  Bases de datos estáticas  Son bases de datos únicamente de lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones, tomar decisiones y realizar análisis de datos para  Bases de datos dinámicas  Son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y edición de datos, además de las operaciones fundamentales de consulta. Un ejemplo, puede ser la base de datos utilizada en un sistema de información de un supermercado.
  • 8.  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. Una de sus características es el manejo del álgebra y el cálculo relacional que permiten efectuar consultas con el fin de recuperar, de forma sencilla, información de bases de datos, así como hacer cambios en ellas.
  • 9.  SQL fue uno de los primeros lenguajes comerciales para el modelo relacional de Edgar Frank Codd como se describió en su papel de 1970 El modelo relacional de datos para grandes bancos de datos compartidos. A pesar de no adherirse totalmente al modelo relacional descrito por Codd, pasó a ser el lenguaje de base de datos más usado.  SQL pasó a ser el estándar del Instituto Nacional Estadounidense de Estándares (ANSI) en 1986 y de la Organización Internacional de Normalización (ISO) en 1987. Desde entonces, el estándar ha sido revisado para incluir más características. A pesar de la existencia de ambos estándares, la mayoría de los códigos SQL no son completamente portables entre sistemas de bases de datos diferentes sin ajustes.
  • 10.  En informática, NoSQL (a veces llamado "no sólo SQL") es una amplia clase de sistemas de gestión de bases de datos que difieren del modelo clásico de SGBDR (Sistema de Gestión de Bases de Datos Relacionales) en aspectos importantes, siendo el más destacado que no usan SQL como lenguaje principal de consultas. Los datos almacenados no requieren estructuras fijas como tablas, normalmente no soportan operaciones JOIN, ni garantizan completamente ACID (atomicidad, consistencia, aislamiento y durabilidad), y habitualmente escalan bien horizontalmente. Los sistemas NoSQL se denominan a veces "no sólo SQL" para subrayar el hecho de que también pueden soportar lenguajes de consulta de tipo SQL.
  • 11.  Por lo general, los investigadores académicos se refieren a este tipo de bases de datos como almacenamiento estructurado, término que abarca también las bases de datos relacionales clásicas. A menudo, las bases de datos NoSQL se clasifican según su forma de almacenar los datos, y comprenden categorías como clave-valor, las implementaciones de BigTable, bases de datos documentales, y bases de datos orientadas a grafos.
  • 12.  Microsoft SQL Server es un sistema de manejo de bases de datos del modelo relacional, desarrollado por la empresa Microsoft.  El lenguaje de desarrollo utilizado (por línea de comandos o mediante la interfaz gráfica de Management Studio) es Transact-SQL(TSQL), una implementación del estándar ANSI del lenguaje SQL, utilizado para manipular y recuperar datos (DML), crear tablas y definir relaciones entre ellas (DDL).  Dentro de los competidores más destacados de SQL Server están: Oracle, MariaDB, MySQL, PostgreSQL. SQL Server ha estado tradicionalmente disponible solo para sistemas operativos Windows de Microsoft, pero desde 2017 también está disponible para Linux y Docker containers.  Puede ser configurado para utilizar varias instancias en el mismo servidor físico, la primera instalación lleva generalmente el nombre del servidor, y las siguientes - nombres específicos (con un guion invertido entre el nombre del servidor y el nombre de la instalación).
  • 13.  Oracle Cloud es la nube más amplia e integrada del sector con opciones de despliegue que van desde la nube pública hasta el centro de datos. Oracle Cloud ofrece los mejores servicios en software como servicio (SaaS), datos como servicio (DaaS), plataforma como servicio (PaaS) e infraestructura como servicio (IaaS). Oracle Cloud ayuda a las organizaciones a aportar innovación y transformar su negocio mediante el aumento de la agilidad, la disminución de los costos y la reducción de la complejidad de TI.
  • 14.  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.  Una de las diferencias más importantes con respecto a las bases de datos relacionales, es que no es necesario seguir un esquema. Los documentos de una misma colección - concepto similar a una tabla de una base de datos relacional -, pueden tener esquemas diferentes.  Imaginemos que tenemos una colección a la que llamamos Personas. Un documento podría almacenarse de la siguiente manera:  { Nombre: "Pedro", Apellidos: "Martínez Campo", Edad: 22, Aficiones: ["fútbol","tenis","ciclismo"], Amigos: [ { Nombre:"María", Edad:22 }, { Nombre:"Luis", Edad:28 } ] } El documento anterior es un clásico documento JSON. Tiene strings, arrays, subdocumentos y números. En la misma colección podríamos guardar un documento como este:  { Nombre: "Luis", Estudios: "Administración y Dirección de Empresas", Amigos:12 } Este documento no sigue el mismo esquema que el primero. Tiene menos campos, algún campo nuevo que no existe en el documento anterior e incluso un campo de distinto tipo.  Esto que es algo impensable en una base de datos relacional, es algo totalmente válido en MongoDB.  En esta base de datos no existen las transacciones. Aunque nuestra aplicación puede utilizar alguna técnica para simular las transacciones, MongoDB no tiene esta capacidad. Solo garantiza operaciones atómicas a nivel de documento. Si las transacciones son algo indispensable en nuestro desarrollo, deberemos pensar en otro sistema.  Tampoco existen los JOINS. Para consultar datos relacionados en dos o más colecciones, tenemos que hacer más de una consulta. En general, si nuestros datos pueden ser estructurados en tablas, y necesitamos las relaciones, es mejor que optemos por un RDBMS clásico.  Y para finalizar, están las consultas de agregación. MongoDB tiene un framework para realizar consultas de este tipo llamado Aggregation Framework. También puede usar Map Reduce. Aún así, estos métodos no llegan a la potencia de un sistema relacional. Si vamos a necesitar explotar informes complejos, deberemos pensar en utilizar otro sistema. Eso sí, esta es una brecha que MongoDB va recortando con cada versión. En poco tiempo esto podría dejar de ser un problema.
  • 15.  ¿Cómo funciona MongoDB?  MongoDB está escrito en C++, aunque las consultas se hacen pasando objetos JSON como parámetro. Es algo bastante lógico, dado que los propios documentos se almacenan en BSON. Por ejemplo:  db.Clientes.find({Nombre:"Pedro"}); La consulta anterior buscará todos los clientes cuyo nombre sea Pedro.  MongoDB viene de serie con una consola desde la que podemos ejecutar los distintos comandos. Esta consola está construida sobre JavaScript, por lo que las consultas se realizan utilizando ese lenguaje. Además de las funciones de MongoDB, podemos utilizar muchas de las funciones propias de JavaSciprt. En la consola también podemos definir variables, funciones o utilizar bucles.  Si queremos usar nuestro lenguaje de programación favorito, existen drivers para un gran número de ellos. Hay drivers oficiales para C#, Java, Node.js, PHP, Python, Ruby, C, C++, Perl o Scala. Aunque estos drivers están soportados por MongoDB, no todos están en el mismo estado de madurez. Por ejemplo el de C es una versión alpha. Si queremos utilizar un lenguaje concreto, es mejor revisar los drivers disponibles para comprobar si son adecuados para un entorno de producción
  • 16.  ¿Dónde se puede utilizar MongoDB?  Aunque se suele decir que las bases de datos NoSQL tienen un ámbito de aplicación reducido, MongoDB se puede utilizar en muchos de los proyectos que desarrollamos en la actualidad.  Cualquier aplicación que necesite almacenar datos semi estructurados puede usar MongoDB. Es el caso de las típicas aplicaciones CRUD o de muchos de los desarrollos web actuales.  Eso sí, aunque las colecciones de MongoDB no necesitan definir une esquema, es importante que diseñemos nuestra aplicación para seguir uno. Tendremos que pensar si necesitamos normalizar los datos, denormalizarlos o utilizar una aproximación híbrida. Estas decisiones pueden afectar al rendimiento de nuestra aplicación. En definitiva el esquema lo definen las consultas que vayamos a realizar con más frecuencia.  MongoDB es especialmente útil en entornos que requieran escalabilidad. Con sus opciones de replicación y sharding, que son muy sencillas de configurar, podemos conseguir un sistema que escale horizontalmente sin demasiados problemas.
  • 17.  ¿Cómo se instala MongoDB?  La instalación de una instancia del servidor es un juego de niños. Simplemente tenemos que bajar los binarios para nuestro sistema operativo. Hay versiones par Windows, Linux y MacOs. Una vez bajados podremos arrancar el servicio de MongoDB con un solo comando.  mongod --dbpath data Con este comando arrancamos el servicio mongod, que empezará a escuchar peticiones por el puerto 27017. Es importante indicar el parámetro --dbpath, con la ruta dónde se almacenarán los ficheros de nuestra base de datos
  • 18.  Oracle NoSQL Database es una base de datos de valor- clave distribuida tipo NoSQL de Oracle Corporation. Proporciona semántica transaccional para manipulación de datos, escalabilidad horizontal y administración y supervisión sencillas.  Oracle NoSQL Database proporciona un modelo de datos muy simple para el desarrollador de la aplicación. Cada fila se identifica mediante una clave única, y también tiene un valor, de longitud arbitraria, que es interpretada por la aplicación. La aplicación puede manipular (insertar, borrar, actualizar, leer) una sola fila en una transacción. La aplicación también puede realizar un análisis iterativo, no transaccional de todas las filas en la base de datos.
  • 19.  Arquitectura Oracle NoSQL Database se basa en el motor de almacenamiento de alta disponibilidad Oracle Berkeley DBJava Edition. Además de eso, agrega una capa de servicios para su uso en entornos distribuidos para proporcionar un almacenamiento clave / valor altamente disponible y distribuido, adecuado para aplicaciones de gran volumen y sensibles a la latencia.  A este respecto, una revisión de Infoworld menciona que Oracle compró la compañía que desarrolló Berkeley DB, Sleepycat Software .  Sharding y replicaciónOracle NoSQL Database es un sistema cliente-servidor, fragmentado , compartido y nada . Los datos en cada fragmento se replican en cada uno de los nodos que comprenden el fragmento. Proporciona un paradigma clave-valor simple para el desarrollador de la aplicación. La clave principal de un registro es el hash para identificar el fragmento al que pertenece el registro. La base de datos Oracle NoSQL está diseñada para admitir cambios dinámicos de la cantidad de fragmentos en respuesta a la disponibilidad de hardware adicional. Si la cantidad de fragmentos cambia, los pares clave-valor se redistribuyen dinámicamente entre el nuevo conjunto de fragmentos, sin que sea necesario apagar el sistema y reiniciarse. Un fragmento está formado por un único nodo principal elegible que puede servir para solicitudes de lectura y escritura, y varias réplicas (generalmente dos o más) que pueden servir para solicitudes de lectura. Las réplicas se mantienen actualizadas mediante la replicación de transmisión. Cada cambio en el nodo maestro se confirma localmente en el disco y también se propaga a las réplicas.  Administración y supervisión del sistema Oracle NoSQL Database proporciona un servicio de administración, al que se puede acceder desde una consola web o una interfaz de línea de comandos (CLI). Este servicio admite la funcionalidad principal, como la capacidad de configurar, iniciar, detener y monitorear un nodo de almacenamiento, sin requerir esfuerzo manual con archivos de configuración, scripts de shell u operaciones de bases de datos explícitas. Además, también permite que los agentes Java Management Extensions (JMX) o Simple Network Management Protl(SNMP) estén disponibles para la supervisión. Esto permite a los clientes de administración sondear información sobre el estado, las métricas de rendimiento y los parámetros operativos del nodo de almacenamiento y sus servicios administrados.
  • 20.  datos transaccionales se entregan a todos los nodos de réplica con políticas de durabilidad flexibles por transacción. En el caso de que el nodo de réplica principal falle, un proceso de elección de conmutación automática basado en PAXOS basado en consenso minimiza el tiempo de inactividad. Tan pronto como el nodo fallido se repare, vuelve a unirse al fragmento, se actualiza y luego está disponible para procesar las solicitudes de lectura. Por lo tanto, el servidor Oracle NoSQL Database puede tolerar fallas de nodos dentro de un fragmento y también múltiples fallas de nodos en fragmentos distintos  La colocación correcta de maestros y réplicas en el hardware del servidor (bastidores e interruptores de interconexión) por parte de Oracle NoSQL Database tiene como objetivo aumentar la disponibilidad en los servidores básicos.  Equilibrio de carga transparenteOracle NoSQL Database Driver divide los datos en tiempo real y los distribuye uniformemente en los nodos de almacenamiento. Es topología de red y consciente de la latencia, enruta las operaciones de lectura y escritura al nodo de almacenamiento más apropiado para optimizar la distribución y el rendimiento de la carga.  Transacción conforme a ACIDLa base de datos Oracle NoSQL proporciona transacciones compatibles con ACID para operaciones completas de Crear, Leer, Actualizar y Eliminar (CRUD), con durabilidad ajustable y garantías transaccionales de coherencia. También puede ejecutar una secuencia de operaciones como una única unidad atómica , siempre y cuando todos los registros va a ser operado compartir el mismo Key Key Path.
  • 21.  Alta disponibilidad y tolerancia a fallas La base de datos Oracle NoSQL proporciona una replicación de base de datos de réplica única y múltiple. Los Formato de datos JSONOracle NoSQL Database tiene soporte para la serialización de datos Avro , que proporciona un formato de datos binarios compacto basado en esquemas. Avro le permite definir un esquema (usando JSON) para los datos contenidos en el valor de un registro y también es compatible con la evolución del esquema. Topología inteligente configurable Los administradores del sistema indican cuánta capacidad está disponible en un nodo de almacenamiento determinado, lo que permite que nodos de almacenamiento más capaces alojen varios nodos de replicación. Una vez que el sistema conoce la capacidad de los nodos de almacenamiento en una configuración, automáticamente asigna nodos de replicación de forma inteligente. Esto está destinado a un mejor equilibrio de carga para el sistema, un mejor uso de los recursos del sistema y la minimización del impacto del sistema en caso de fallo del nodo de almacenamiento. Smart Topology también admite centros de datos, lo que garantiza que se asigne inicialmente un conjunto completo de réplicas a cada centro de datos.  Configuración elástica "Elasticidad" se refiere a la expansión dinámica en línea del clúster desplegado. Se pueden agregar más nodos de almacenamiento para aumentar la capacidad, el rendimiento, la confiabilidad o todo lo anterior. Oracle NoSQL Database incluye una función de planificación de topología, con la cual un administrador puede modificar la configuración de una base de datos NoSQL mientras la base de datos aún está en línea. Esto le permite al administrador:
  • 22.  Aumente la distribución de datos: aumentando el número de fragmentos en el clúster, lo que aumenta el rendimiento de escritura.  Aumente el factor de replicación: asignando nodos de replicación adicionales a cada fragmento, lo que aumenta el rendimiento de lectura y la disponibilidad del sistema.  Reequilibrar almacén de datos: al modificar la capacidad de un nodo (s) de almacenamiento, el sistema puede reequilibrarse, reasignando nodos de replicación a los nodos de almacenamiento disponibles, según corresponda.  El comando de reequilibrio de topología permite al administrador mover nodos de replicación y / o particiones desde nodos sobre utilizados en nodos de almacenamiento subutilizados o viceversa
  • 23.  Administración y supervisión del sistema Oracle NoSQL Database proporciona un servicio de administración, al que se puede acceder desde una consola web o una interfaz de línea de comandos (CLI). Este servicio admite la funcionalidad principal, como la capacidad de configurar, iniciar, detener y monitorear un nodo de almacenamiento, sin requerir esfuerzo manual con archivos de configuración, scripts de shell u operaciones de bases de datos explícitas. Además, también permite que los agentes Java Management Extensions (JMX) o Simple Network Management Protocol, (SNMP) estén disponibles para la supervisión. Esto permite a los clientes de administración sondear información sobre el estado, las métricas de rendimiento y los parámetros operativos del nodo de almacenamiento y sus servicios administrados.
  • 24.  Apache Cassandra es una base de datos NoSQL distribuida y basada en un modelo de almacenamiento de «clave-valor», de código abierto que está escrita en Java. Permite grandes volúmenes de datos en forma distribuida. Por ejemplo, lo usa Twitter para su plataforma. Su objetivo principal es la escalabilidad lineal y la disponibilidad. La arquitectura distribuida de Cassandra está basada en una serie de nodos iguales que se comunican con un protocolo P2P con lo que la redundancia es máxima. Está desarrollada por Apache Software Foundation.  Cassandra ofrece soporte robusto para múltiples centros de datos,​ con la replicación asincrónica sin necesidad de un servidor maestro, que permiten operaciones de baja latencia para todos los clientes.  Cassandra también ofrece un gran rendimiento. En 2012, investigadores de la Universidad de Toronto que estudian los sistemas NoSQL concluyeron que "En términos de escalabilidad, hay un claro ganador a través de nuestros experimentos. Cassandra logra el más alto rendimiento para el número máximo de nodos en todos los experimentos", aunque "esto tiene como precio una alta latencia de escritura y lectura"
  • 25.  Descentralizado: Todos los nodos del clúster tiene el mismo rol. No hay un único punto de fallo. Los datos se distribuyen a través del clúster (por lo que cada nodo contiene datos diferentes). No existe un nodo maestro por lo que cada nodo puede dar servicio a cualquier solicitud.  Soporta replicación y replicación de múltiples data center: Las estrategias de replicación son configurables . Cassandra está diseñado como un sistema distribuido, para el despliegue de un gran número de nodos a través de múltiples centros de datos. La arquitectura distribuida de Cassandra está diseñado para desplegarse sobre múltiples data center, tener redundancia y recuperarse ante desastres.  Escalabilidad: El rendimiento de leer y escribir aumenta linealmente a medida que se añaden nuevos nodos. Se pueden agregar nuevos nodos sin necesidad de interrumpir la ejecución de la aplicación.
  • 26.  Tolerancia a fallos:Los datos se replican automáticamente a múltiples nodos para recuperarse frente a fallos. Cassandra soporta replicación a través de múltiples datacenter. Se puede reemplazar nodos que presenten fallos sin tiempo de inactividad o interrupción de la aplicación.  Consistencia:Se ofrece la elección de el nivel de consistencia para las lecturas y escrituras.Un ejemplo posible de consulta utilizando consistencia es el siguiente: SELECT * FROM users WHERE state='TX' USING CONSISTENCY QUORUM