MongoDB Atlas – Database as a Service

mongodb-atlas

Atlas is MongoDB’s database as a service platform (DaaS) created by the experts who design and engineer MongoDB. It provides all of the features of MongoDB, while removing most of the operational overhead. With MongoDB Atlas you can deliver your applications quickly, and focus on what matters most to you and your customers.

MongoDB Atlas makes it easy to set up, operate, and scale your MongoDB deployments in the cloud. From high availability to scalability, security to disaster recovery – we’ve got you covered.

 

Automated

With MongoDB Atlas, you no longer need to worry about operational tasks such as provisioning, configuration, patching, upgrades, backups, and failure recovery. MongoDB Atlas provides the functionality and reliability you need, at the click of a button.

Flexible

Only MongoDB Atlas combines the critical capabilities of relational databases with the innovations of NoSQL. Radically simplify development and operations by delivering a diverse range of capabilities in a single, managed database platform.

Secure

MongoDB Atlas provides multiple levels of security for your database. These include robust access control, network isolation using Amazon VPC, IP whitelists, encryption of data in-flight using TLS/SSL, and optional encryption of the underlying filesystem.

Scalable

MongoDB Atlas grows with you, all with the click of a button. You can scale up across a range of instance sizes, and scale-out with automatic sharding. And you can do it with zero application downtime.

Highly Available

MongoDB Atlas is designed to offer exceptional uptime. Recovery from instance failures is transparent and fully automated. A minimum of three copies of your data are replicated across availability zones and continuously backed up.

High Performance

MongoDB Atlas provides high throughput and low latency for the most demanding workloads. Consistent, predictable performance eliminates the need for separate caching tiers, and delivers a far better price-performance ratio compared to traditional database software.

More Features

MongoDB Atlas gives you access to all of MongoDB’s core features of the database, including:

  • The latest feature set: MongoDB Atlas is built on MongoDB 3.2, Community Server, with automatic patching and single-click upgrades.

  • High performance: The MongoDB WiredTiger storage engine with compression and fine-grained concurrency control ensures that you can meet your most demanding SLAs.

  • Scalability: One-click, automated sharding for scale out, and zero-downtime scale up to larger instance types. You can provision TBs of database storage, all on high performance SSDs with dedicated I/O bandwidth.

  • Monitoring & alerts: Instant visibility into the database and hardware metrics that matter, so you stay ahead of any issues that could impact performance and user experience.

  • Strong security: Out-of-the-box protection of your most valuable data assets. Security features include TLS/SSL encryption, authentication, and authorization via SCRAM-SHA1; IP whitelists enforced with AWS Security Groups; optionally encrypted storage volumes; and the MongoDB Atlas console to manage database users.

  • Highly available: A minimum of three data nodes per replica set are automatically deployed across availability zones for continuous application uptime in the event of outages and routine maintenance.

  • Workload Isolation: With MongoDB Atlas maintaining up to seven replicas of your data, you can concurrently run operational and analytical workloads across the same database, without resource contention.

  • Disaster recovery: Fully managed backup service with continuous, consistent backups and point-in-time recovery, backed by custom retention policies.

 

Experimentando con MongoDB y .NET Framework

mongodb-university

Después de varios días experimentando con MongoDB y .NET me ha dado muy buenas impresiones y tengo que confirmar que no es para nada complicado utilizarlo como sistema de persistencia para nuestras aplicaciones diseñadas con .NET

Lo primero, instalarlo en un Windows es muy fácil y son 5 minutos:

Una vez instalado abrir directorio C:\Program Files\MongoDB\Server\3.0\bin donde encontraremos los archivos de MongoDB:

mongo.exe: cliente  de Mongo (Mongo Shell)
mongod.exe: servidor de Mongo DataBase (base de datos)
mongos.exe: servidor de Mongo Sharding (router para interconectar varios mongod)
mongodump.exe: para realizar backups de los datos (directorio \dump)
mongorestore.exe: para recuperar backups de los datos  (directorio \dump)
mongorestore.exe: para exportar datos/colecciones en formato "datos.json"
mongoimport.exe : para importar datos/colecciones en formato "datos.json"
mongostat.exe...:  ver estadísticas y rendimientos de mongo (insert,delete,update,queries) 
mongotop.exe....: visión global donde Mongo está gastando más tiempo y rendimiento

Importante: crear carpetas para almacenar base de datos MongoDB:

  1. md c:\data (ruta por defecto para base de datos de MongoDB)
  2. md c:\data\db (carpeta para almacenar datos, es configurable por parámetro)

Para trabajar con MongoDB usando .NET

Próximamente iré añadiendo nuevos videos del curso.

 

 

Cursos MongoDB University Gratis

Que mejor forma que empezar el año con nuevos cursos para ponernos al día, para los interesados, donde me incluyo, recientemente se han publicado una serie de cursos oficiales totalmente gratis a través de la MongoDB University:

Para los que no conoceis MongoDB, brevemente deciros que se trata de una base de datos NoSQL de tipo documental y cuyas caracteristicas principales son estas:

  • MongoDB no es una base de datos relacional
  • MongoDB no usa esquemas, ni tablas, ni filas, ni columnas
  • MongoDB no soporta SQL, ni joins, ni transactions
  • MongoDB esta orientada a almacenar documentos
  • MongoDB usa Bson (binary json) para almacenar datos
  • MongoDB es multi-plataforma, Open Source y gratuita.
  • Alto rendimiento, disponibilidad, escalabilidad, replicación y balanceo de carga
  • Pensada para escenarios de internet con grandes volumenes de información

Por tener una referencia de empresas que utilizan MongoDB: Ebay, Google, Orange, Telefonica, Facebook, Adobe, etc, si quieres ver la lista completa: https://www.mongodb.com/who-uses-mongodb

Conocimientos Generales Requeridos

  • Programación JavaScript básica
  • Fundamentos de bases de datos
  • Fundamentos de programación
  • Fundamentos de desarrollo de software

Conocimientos MongoDB que aprenderas

  • Fundamentos: Mongo shell, JSON, BSON, fault tolerance, disaster recovery, scaling
  • CRUD: Create, Read, Update, and Delete operations
  • Modeling: embedding, references, document growth, modeling relationships, modeling for atomic operations, modeling tree structures
  • Indexing: single key, compound, multi-key, mechanics, storage engines, and performance
  • Aggregation: pipeline, operators, memory usage, sort, skip, and limit
  • Replication: configuration, oplog concepts, write concern, elections, failover, and deployment to multiple data centers
  • Sharding: components, when to shard, balancing, shard keys, and hashed shard keys

La lista de cursos online disponibles son estos:

Nota: Ya he comenzado los cursos en mi caso el «MongoDB for .Net Developers» y la verdad es que está genial.

Otra opción de cursos MongoDB (no oficiales) pero en el idioma castellano los tenemos disponibles en Codehero: http://codehero.co/series/mongodb-desde-cero.html

Una vez realizados los cursos, se puede optar a realizar la certificación oficial a través de un examen que tiene un coste de 150 $.

Link: https://university.mongodb.com/exams