2. Es un conjunto de datos pertenecientes a un
mismo contexto y almacenados sistemáticamente
para su posterior uso. En este sentido; una
biblioteca puede considerarse una base de datos
compuesta en su mayoría por documentos y textos
impresos en papel e indexados para su consulta.
Actualmente, y debido al desarrollo tecnológico de
campos como la informática y la electrónica, la
mayoría de las bases de datos están en formato
digital, siendo este un componente electrónico, por
tanto se ha desarrollado y se ofrece un amplio
rango de soluciones al problema del
almacenamiento de datos.
3. SQL (por sus siglas en inglés Structured Query Language; en
español lenguaje de consulta estructurada) es un lenguaje
declarativo de acceso a bases de datos relacionales que permite
especificar diversos tipos de operaciones en ellas. 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.
4. Es una amplia clase de sistemas de gestión de bases de
datos que difieren del modelo clásico del sistema de
gestión de bases de datos relacionales (RDBMS) en
aspectos importantes, el más destacado es que no
usan SQL como el principal lenguaje 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.
5. SQL Server es un sistema de gestión de bases de
datos relacionales (RDBMS) de Microsoft que está
diseñado para el entorno empresarial. SQL Server se
ejecuta en T-SQL (Transact -SQL), un conjunto de
extensiones de programación de Sybase y Microsoft
que añaden varias características a SQL estándar,
incluyendo control de transacciones, excepción y
manejo de errores, procesamiento fila, así como
variables declaradas.
6. SQL Server necesitan administrar su
entorno de SQL Server en conjunto,
requisito cubierto en esta versión por medio
del concepto de administración de
aplicaciones y de varios servidores de la
Utilidad de SQL Server .
7. La Utilidad de SQL Server modela las entidades relacionadas
con SQL Server de una organización en una vista unificada. Los
puntos de vista del Explorador de Utilidad y de la Utilidad de
SQL Server en SQL Server Management Studio (SSMS)
proporcionan a los administradores una vista global del estado
de los recursos de SQL Server a través de una instancia de
SQL Server que actúa como punto de control de la utilidad
(UCP). La combinación del resumen y los datos detallados
presentados por el UCP sobre directivas de infrautilización o
sobreutilización, y sobre diversidad de parámetros clave,
habilita posibilidades de consolidación de recursos y de fácil
identificación de sobreutilización. Las directivas de
mantenimiento se pueden configurar y ajustarse para modificar
umbrales de uso mayor o menor de los recursos. Es posible
cambiar las directivas de supervisión globales o configurar
directivas de supervisión individuales para cada entidad
administrada en la Utilidad SQL Server .
8. Es un sistema de base de
datos NoSQL orientado a documentos,
desarrollado bajo el concepto de código
abierto.
9. Consultas Ad hoc
MongoDB soporta la búsqueda por campos, consultas de rangos y expresiones regulares. Las
consultas pueden devolver un campo específico del documento pero también puede ser una
función JavaScript definida por el usuario.
Indexación
Cualquier campo en un documento de MongoDB puede ser indexado, al igual que es posible
hacer índices secundarios. El concepto de índices en MongoDB es similar a los encontrados
en base de datos relacionales
Replicación
MongoDB soporta el tipo de replicación primario-secundario. Cada grupo de primario y sus
secundarios se denomina replica set 14 . El primario puede ejecutar comandos de lectura y
escritura. Los secundarios replican los datos del primario y sólo se pueden usar para lectura o
para copia de seguridad, pero no se pueden realizar escrituras. Los secundarios tiene la
habilidad de poder elegir un nuevo primario en caso de que el primario actual deje de responder.
Balanceo de carga
MongoDB se puede escalar de forma horizontal usando el concepto de “shard”.15 El
desarrollador elige una clave de sharding, la cual determina cómo serán distribuidos los datos
de una colección. Los datos son divididos en rangos (basado en la clave de sharding) y
distribuidos a través de múltiples shard. Cada shard puede ser una replica set. MongoDB tiene
la capacidad de ejecutarse en múltiple servidores, balanceando la carga y/o replicando los datos
para poder mantener el sistema funcionando en caso que exista un fallo de hardware. La
configuración automática es fácil de implementar bajo MongoDB y se pueden agregar nuevas
servidores a MongoDB con el sistema de base de datos funcionando.
10. Almacenamiento de archivos
MongoDB puede ser utilizado como un sistema de archivos, tomando la
ventaja de la capacidad que tiene MongoDB para el balanceo de carga y
la replicación de datos utilizando múltiples servidores para el
almacenamiento de archivos. Esta función se llama GridFS16 y es mas
bien una implementación en los drivers, no en el servidor17 , por lo que
está incluida en los drivers oficiales que la compañía de MongoDB
desarrolla. Estos drivers exponen funciones y métodos para la
manipulación de archivos y contenido a los desarrolladores. En un sistema
con múltiple servidores, los archivos pueden ser distribuidos y replicados
entre los mismos y de una forma transparente, de esta forma se crea un
sistema eficiente que maneja fallos y balanceo de carga.
Agregación
MongoDB proporciona un framework de agregación que permite realizar
operaciones similares a las que se obtienen con el comando SQL
"GROUP BY". El framework de agregación está construido como un
pipeline en el que los datos van pasando a través de diferentes etapas en
los cuales estos datos son modificados, agregados, filtrados y
formateados hasta obtener el resultado deseado. Todo este procesado es
capaz de utilizar índices si existieran y se produce en memoria. Asimismo,
MongoDB proporciona una función MapReduce que puede ser utilizada
para el procesamiento por lotes de datos y operaciones de agregación.
Ejecución de JavaScript del lado del servidor
MongoDB tiene la capacidad de realizar consultas utilizando JavaScript,
haciendo que estas sean enviadas directamente a la base de datos para
ser ejecutadas.
11. Esquema menos: MongoDB es base de datos documental en el
que una colección posee diferentes documentos diferentes.
Número de campos, el contenido y el tamaño del documento
puede diferir de un documento a otro.
Estructura de un único objeto es clara
No se une a complejos
Profunda consulta de capacidad. MongoDB soporta consultas
dinámicas en documentos utilizando un lenguaje de consulta
basada en documentos que es casi tan potente como SQL
Sintonización
Facilidad de escalabilidad horizontal: MongoDB es fácil de escalar
No objetos necesarios conversión A / mapeo de objetos de la
aplicación a la base de datos
Utiliza la memoria interna para almacenar el (ventana) conjunto de
trabajo, lo que permite un acceso más rápido de los datos
12. 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.
13. DescentralizadoTodos 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 centerLas estrategias de
replicación son configurables 22 . 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.
EscalabilidadEl 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 fallosLos 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.
ConsistenciaSe ofrece la elección de el nivel de consistencia para las lecturas y
escrituras.
14. 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.