Bases de Datos NoSQL de Código abierto Mongo DB 001
Las Bases de datos SQL se caracterizan por su integridad en la información, sin embargo,
la forma de sus estructuras puede dar como resultado ciertas dificultades al momento de su escalabilidad, haciéndolas limitadas (altos costes, altos requerimientos de hardware ) en estructuras con grandes flujos de escritura y lectura.
Las bases de datos NoSQL en teoría son más fáciles de ampliar de forma descentralizada y son consideradas idóneas para tratamientos de grandes volúmenes de información y transacciones.
Existen diferentes tipos de almacenamientos en las NoSQL como son:
- Bases de Datos Documentales
- Bases de Datos de Grafo
- Bases de Datos Clave Valor
- Bases de Datos Multivalor
- Bases de Datos Orientada a Objetos
- Bases de Datos Tabular
- Bases de Datos de Arrays
Una base de datos relacional ofrecen integridad en su información, mientras que las bases de datos NoSQL ofrecen velocidad al momento de insertar y extraer datos, son bases de datos no estructuradas, debido a que sus tablas no requieren ser tablas fijas. En las formadas por Key-Values-pairs por ejemplo:
Key | Values |
---|---|
nombre | Pedro |
apellido | Perez |
edad | 50 |
ciudad | Maracaibo |
El Key (Llaves) es un valor de referencia que se repite, mientras Values (valores) es la información que es identificada.
Si bien su uso puede ayudar a incrementar los tiempos de respuestas en los procesos de entrada y lectura de datos, además de escalar de forma más sencilla las NoSQL tienen ciertos inconvenientes.
Sus diferentes tipos no comparten normas, e incluso las del mismo tipo son desarrolladas por separado, al no existir un estándar la sintaxis de trabajo de cada una varía dificultando la migración de proyectos de un manejador a otro.
Las NoSQL de código abierto permiten a una empresa adaptar el producto a sus necesidades, lo cual ha sido útil para almacenamientos de empresas con grandes volúmenes, Google (BigTable) y Amazon(SimpleDB y Dynamo).
En otros casos utilizar Bases de Datos NoSQL ya existentes como MongoDB, con experiencias exitosas como el de Bosh Group y la Ciudad de Chicago, esta última ultima desarrolla una plataforma de operaciones inteligentes de nombre WindyGrid
Para este curso de bases realizaremos pruebas con MongoDB una base de Datos NoSQL basada en estructuras documentales, en MongoDB cada registro es un documento, y cada registro es una estructura compuesta por pares de campo y valor.
MongoDB permite un alto rendimiento usando consultas rápidas en sus indices y permitiendo arreglos de claves.
RQL Rich Query Lenguage, un lenguaje de consultas optimizado para procesos de lectura y escritura.
Una alta disponibilidad, mediante un sistema de failover automático y redundancia de datos, permitiendo réplicas de los datos en diferentes servidores
Los datos se pueden dividir en Shard, estos se pueden alojar en equipos diferentes permitiendo así escalar la estructura de forma rápida y a bajos costes.
Sus creadores tienen una versión de acceso a la comunidad y aparte existen versiones con funciones avanzadas para las cuales se deberá pagar, esto permite a desarrolladores y empresas comenzar proyectos e ir adquiriendo las funciones a medida que el proyecto crezca, con un soporte a gran cantidad de sistemas Linux (con un enfoque a distribuciones de ámbito empresarial como Amazon Linux, Red Hat), sistemas Solaris, Windows e incluso Mac. Puede verse incluso una versión para s309x bajo RHEL y CentOS.
La versión de la comunidad permitirá instalarse en cualquier equipo y crear estructuras desde un inicio, sin embargo, para funciones de cluster y nube de gran escala deberemos usar la versión Enterprise donde también se obtiene un soporte valioso.
Si vemos las versiones tenemos :
- MongoDB Comunity
- MongoDB Enterprise (Standalone)
- MongoDB Enterprise (Replica Set)
- MongoDB Enterprise (Shared Cluster)
MongoDB permite datos de documentos tipo JSON que son a sus vez un subconjunto BSON, incluyendo además dos adicionales propios del motor de Base de Datos Mongo.
En este curso empezaremos por configurar la plataforma para las practica sobre un sistema operativo virtualizado se instalará MongoDB y una herramienta de trabajo llamada Robot 3T una GUI que ayuda a ver de forma visual las estructura de nuestro servidor Mongo, sin embargo, mucho del trabajo será por medio de la shell y seguramente se deberán hacer pequeñas pruebas a nivel de algún lenguaje. Recordando que Mongo DB tiene soporte para una gran cantidad de lenguajes de programación:
C
C++
C# / .Net
Erlang
Haskell
J#
JAVA
JAvaScript
LISP
NODE.js
Perl
PHP
Phyton
Ruby
Delphi
Scala
Practica
Ya estaba esperando el momento en que empezaras a hablar de NoSQL
¿Quieres recibir mejores recompensas en tus post de informática, tecnología o programación, ayúdanos delegando algo de SP:
1 SP, 5 SP, 10 SP
Interesante informacion @ubaldonet.
Me alegra le guste
This post has been voted on by the steemstem curation team and voting trail.
There is more to SteemSTEM than just writing posts, check here for some more tips on being a community member. You can also join our discord here to get to know the rest of the community!
Gracias por el apoyo
Hi @ubaldonet!
Your post was upvoted by utopian.io in cooperation with steemstem - supporting knowledge, innovation and technological advancement on the Steem Blockchain.
Contribute to Open Source with utopian.io
Learn how to contribute on our website and join the new open source economy.
Want to chat? Join the Utopian Community on Discord https://discord.gg/h52nFrV
thanks!!
Congratulations @ubaldonet! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word
STOP
Recibe nuestro voto por parte del equipo de curación data-usb
Saludos, excelente post amigo.. muy instructivo.
Gracias