Hace 10 años | Por --179053-- a genbeta.com
Publicado hace 10 años por --179053-- a genbeta.com

Según Bloomberg, este es el valor que ha alcanzado esta «pequeña» compañía después de que la enorme popularidad que ha cosechado en Internet su sistema gestor de bases de datos le permitiese obtener un capital de 150 millones de dólares a través de un fondo de capital riesgo. Poco a poco, el modelo de negocio de esta startup, sostenido por un sistema de bases de datos innovador «no SQL» y orientado a documentos que tiene muy poco en común con las bases de datos relacionales tradicionales, ha dado sus frutos.

Comentarios

vickop

#3 (como documento, tipo xml)

De acuerdo contigo salvo en lo que te señalo. El esquema de los datos es de tipo JSON (BSON lo llaman en MongoDB), no XML. El parseo del formato JSON es mucho menos complejo que el de XML.

p

#13 mmm, yo pensaba que de json a xml y viceversa era traducción directa, por eso lo he usado como comparativa, pero buscando un poco veo que xml es mas extensible y por tanto mas complejo( aunque el ejemplo de integrar un powerpoint en xml me ha provocado un escalofrio) Gracias!

p

#23 La diferencia esta en el numero de nodos que necesitas. Configurar varios servidores de mysql para que trabajen juntos sin perder funcionalidades es complicado y cada servidor añadido lo complica mas. En estos casos usas una BBDD nosql. Otra cosa es que no puedas renunciar a las transacciones (por ejemplo, en un banco).

Entonces te toca sufrir un oracle multimaster con forlayos y juntas de trocola y todo lo que el comercial le cuele a tu jefe (a 90 euros/hora o mas por consultor, y costes de licencia impresionantes, creo que eso le vendieron a la web del congresoque salio por medio millon de leuros)

D

alguien podía explicarme #3 como si fuera un niño de cinco años? gracias

Ferran

#19 caca culo pedo pis

D

#21 te falta un hervor.

Ferran

#22 y a ti te falta sentido del humor

kurroman

#19 Que va follao mientras no tengas que tener datos muy relacionados entre ellos

En lugar de tablas y filas con campos digamos que cada fila contiene un JSON. Cada fila es un documento y un conjunto de documentos una colección (que sería mas o menos una tabla).

AaLiYaH

#1 Como dice #3 no es un sustituto de SQL.

Yo hice la certificación para desarrolladores Java y sinceramente me pareció que estaba muy bien, pero se pasaba todo el control de las formas normales, la integridad de la BBDD, transacciones, etc. a la parte de programación, es decir, a la CPU. Para esquemas muy complejos no me parece muy buena solución, aunque sí para esquemas de datos más o menos simples de clave-valor, en ese caso aumenta muchísimo el tiempo. Cuando empiezas a hacer joins en las tablas la complejidad se dispara.

Por cierto, el curso para desarrolladores Java fue un poco desastre. Los tíos son de Python basicamente, y muchos validadores de ejercicios (con lo fácil que es hacer un .jar) estaban en Python, por lo que te pedían instalarte y configurar Python (yo ya lo tenía hecho, pero es un paso extra que no tiene sentido). Por otra parte, más de una respuesta a los ejercicios er igual a las del curso de Python (que se había cursado un mes antes) o estaban directamente en los ejemplos de la propia documentación lol.

Eso sí, la certificación es completamente gratuita, un detalle que compensa lo demás.

Observer

#24 En el de java también estaba la cosa de que utilizaban métodos de las clases que no estaban en el controlador.

El diseño del blog, al decir la cantidad de tablas con una base de datos relacional se les fue la mano en al menos dos de mas. Lo suyo no era precisamente las bases de datos relacionales.

PD: De todas formas, se nota que se integra mucho mejor con python que con Java o NodeJS

Zeioth

#24 Que tio mas quejica, pero si python es un melocoton en almibar

D

#35 Python es el Pascal del siglo XXI, otro lenguaje "educativo" más, de la línea de LOGO, BASIC, Pascal, Modula.

kahun

#37 Claro, porque Python no se usa para nada en el mundo real, ...

D

#43 Aha, porque claramente dije que no se usaba, ¿no?

En fin, una pena que confundamos los méritos de algo en sí, con la popularidad que tenga. Pero si ya te empeñas... http://lang-index.sourceforge.net/

kahun

#44 Dime, ¿Pascal se usa en el mundo real?

D

#45 ¿Has oído hablar de Delphi? Si te hubieses molestado en mirar el enlace que puse, verías que Pascal se usa más que JavaScript.
Claro que ninguno de ellos puede competir con BASIC... pero qué quieres que te diga, sigue con tu argumento a ver a dónde te lleva.

kahun

#46 Ese enlace es tan fiable como las estadísticas de Alexa. Que Pascal se usa más que Javascript ... seguro, vamos, sin ninguna duda, prácticamente ya no hay web en el mundo que no tenga un par de líneas de Javascript pero claro no se puede comparar con el uso de Pascal ...

i

#29 y no te vale la arquitectura con "delayed slaves"? Es algo que no entiendo. Si ya tienes una arquitectura shardeada es porque una máquina no rinde lo suficiente para tener todos los datos dentro, por lo que hacer un backup es una operación costosa (tanto en el palo que le mete a la máquina cuando hace el mongodump como el tamaño que ocupa).

En arquitecturas con sharding lo lógico es relegar en uno (o varios) esclavos y tenerlos retrasados 12/24h si tu oplog te da. Supongo que si estás haciendo backup no tendrás un 'throughput' tan grande como para no tener un oplog de 24h.

#24 ¿por qué dices eso? No vi ningún problema de integración con la integración del driver en Java. Además, utilizan las, tan de moda, fluent interfaces en casi todas las factorías.

Esta base de datos tiene sus cosas buenas y sus cosas malas. Hay que saber donde cojea y qué estás dispuesto a dar. En la empresa para la que trabajo la usamos bastante y ya hemos tenido algún susto y hemos tenido que hacer algún remiendo: http://samuelgmartinez.tumblr.com/post/42211065919/mejorando-aggregation-framework-mongodb

Observer

#47 "y no te vale la arquitectura con "delayed slaves"? Es algo que no entiendo."
No estarás insinuando no hacer backups ¿verdad?
Eso seria el mismo error que no hacer backups porque tienes un raid.

"por lo que hacer un backup es una operación costosa (tanto en el palo que le mete a la máquina cuando hace el mongodump como el tamaño que ocupa)."
Para una cantidad grande de datos no utilices mongodump. Por el tiempo que puede tardar en crearse/restaurarse y porque es muy difícil que represente una copia de los datos en un momento dado(recuerda que no tiene snapshots).
El espacio no es importante, siempre será barato si lo comparas con perder todos los datos por no tener una buena politica de backups.

Ya puede ser malo perder 24h de datos si sucede algo, peor será si añades otras 12/24h de datos a esa perdida si lo haces de un esclavo que no tiene una copia actual de los datos.

i

#49 si tú realizas un backup cada 24h es lo mismo que tener un esclavo con un delay de 24h y restaurar a partir de él. Así que no entiendo muy bien lo que dices . Bueno, igual, igual, no. Porque para el delay, el tiempo 't' de restauración es siempre 'delay', mientras que con snapshooting es (now.t - lastSnapshot.t).

No es cuestión de no hacer backup, es cuestión de tener un nodo con los datos de backup. Dicho nodo es un clon de cada réplica solo que N segundos por detrás. En los escenarios de bigdata (la de verdad, no 100Gb), es una práctica habitual delegar esto en las propias capacidades de replicación del sistema. (http://docs.mongodb.org/manual/core/replica-set-delayed-member/#replica-set-delayed-members)

Otro ejemplo de lo que te cuento es Hadoop. Normalmente no se mantienen snapshoots de HDFS fuera del propio sistema, si no que el propio backup se almacena en el mismo sistema que se backupea. (por ejemplo: http://hortonworks.com/blog/snapshots-for-hdfs/)

Observer

#50
Del mismo enlace de hdfs que has puesto:
A snapshot is a point-in-time image of the entire filesystem or a subtree of a filesystem. Some of the scenarios where snapshots are very useful:
2 Backup: Admin wants backup the entire file system, a subtree in the file system or just a file. Depending on the requirements, admin takes a read-only (henceforth referred to as RO) snapshot and uses this snapshot as the starting point of a full backup. Incremental backups are then taken by doing a diff between two snapshots.


Las copias de respaldo nunca se guardan en la misma maquina y mucho menos en el mismo disco. A ser posible ni siquiera en la misma localización geográfica.
Una copia de respaldo es algo que solo se guarda. No modificas la copia para añadir las diferencias, haces una nueva o una incremental.
El tener el nodo con demora no sustituye a una copia de respaldo, solo la complementa igual que un raid no las sustituye, las complementa y te evitan tener que echar mano de esa copia.

i

#51 el caso de HDFS lo que te quiero decir es que el propio snapshoot se está guardando en el mismo sistema que se backupea. El motivo es simplemente porque el sistema es bastante fiable a la pérdida gracias al esquema de como se guardan los datos. Así que el motivo de hacer un snapshoot es más para prevenir errores humanos (borrado manual de esos ficheros) que una recuperación ante una catástrofe.

Observer

#52 El snapshot no es el backup, el snapshot no se puede mover del sistema en que se guarda porque son imágenes que se generan en el mismo disco.
Lo que puedes sacar es una copia de sus datos y es lo que se hace con esa imagen.

Como ya te he dicho, eso no sustituye a los backups, los complementa igual que lo hace un raid. Te permite recuperar datos de forma mas rápida que accediendo a una copia de seguridad pero no la sustituye.

D

#53 Si tienes datos WORM con replicación por triplicado en distintos nodos Hadoop, no tiene mucho sentido añadir una cuarta copia a modo de "backup". Con realizar un snapshot para que no sean borrados, es más que suficiente.

No es exactamente comparable a tener los mismos datos sobre RAID, que suele estar en un solo nodo.

Observer

#3 Necesitan simplificar algunas cosas a la hora de hacer y restaurar backups

El realizar backups y restaurarlo de un servidor o de un grupo de replicas es sencillo, hacerlo cuando distribuyes carga es otro cantar.
Detener el balanceo, hacer copias independientes de cada uno de los servidores manualmente y luego activar el balanceo de nuevo.

Y en equipos de 32 bits mejor no utilizarla, ya que el limite de las dbs para esas maquinas está en 2GiB y si lo superas el servidor se apaga y no puedes arrancarlo hasta que no borras esos ficheros(almenos hasta la 2.4.4 es así).

p

#29 De acuerdo con lo del backup, pero respecto a los 32 bits, creo que tienen esa version solo para desarrollar, por el problema que has dicho y porque de hecho al ser monothread estas creando un cuello de botella con la CPU

kaoD

#3 y la parte aún peor: ¡para ser NoSQL es lenta de cojones!

p

#31 si, pero es que la idea no es aumentar la velocidad de un servidor de BBDD. La idea detras de mongodb es permitir escalar horizontalmente, es decir, cuando se te quede corto el servidor, en lugar de comprar una bestia de 20000 euros, comprar unos cuantos servidores basicos de 700

kaoD

#33 pero eso no es una capacidad exclusiva de MongoDB, ¿eh? De hecho me gusta mucho más el escalado horizontal que permite PostgreSQL que MongoDB... y el de MariaDB con MyISAM tampoco es muy diferente al no tener capacidades relacionales. El sharding y la replicación no son inventos de MongoDB

La gran ventaja de MongoDB frente a otros NoSQL más rápidos es su facilidad para realizar queries, y que está más a medio camino entre SQL/NoSQL que por ejemplo Redis, que es un datastore puro y duro.

D

#7 ¿Te parece "relevante" colgar una 5 noticias sobre una base de datos SQL en una noticia sobre MongoDB?

silosenovengo

#10 Sí: grandes proyectos de BBDD. Si quieres puedes colgar tú 5 noticias de grandes proyectos donde se haya implantado MongoDB.

D

#11 MongoDB no tiene nada que ver con MariaDB . Son para cosas completamente distintas. No es viable la competencia ni la comparación entre ambas.

D

Hay vida más allá del SQL...

lordeath

#1 Yo los veo aún por las empresas usando DBFs... viendo que SQL les queda lejos.. un NoSQL es un invento del tebeo lol

ktzar

Para el que quiera aprenderlo. Un libro rápido sencillo y gratuito.

http://openmymind.net/2011/3/28/The-Little-MongoDB-Book/

Dikastis

#7 ¿Traer a María o traértela fumada de casa?

D

Espero con regocijo las futuras ofertas de empleo de infojobs redactadas por los patanes de recursos esclavos pidiendo becarios con 2 carreras y 5 años de experiencia en mongodb para un contrato en practicas en empresa lider en su sector.

D

¿Nadie va a decir nada del nombre? Desde luego hay que tener poca visión comercial para llamarle MongoDB. Podían haberlo llamado MonguerDB lol

D

¿En qué se diferencia de Apache Cassandra? Ahora mismo estoy trabajando muchísimo con Cassandra + Hadoop

D

en decharlas teneis una charla amena sobre nosql y mongo



y otra de mongo y con symfony

D

A ver, aunque no utilice los mismos métodos que SQL para organizar los datos, sigue siendo una BD al uso. Lo que pasa es que tienen menos garantías de funcionamiento que si las necesitas debes implementadas por tu cuenta o encontrar sustitutivos equivalentes, aparte claro la forma de almacenamiento.

derecks

Aunque ya lo comente alguna vez, para los que queráis empezar a usar MongoDB, CouchBase o incluso Node.js en esta web http://www.hispabigdata.es/ muestran bastantes ejemplos.

SeñorDonGato

Llevo 2 horas intentanto arrancar el MySQL del xampp, y no me había dado cuenta de que ya tenia un MySQL instalado.
Ya se que no viene a cuento de la noticia, pero es he comentado a mi marido, no ha entendido una mierda de lo que le estaba contando y me tenia que desahogar con alguien.

Zeioth

Mi forma de proceder favorita es crear una base de datos relacional, normalizarla, implementarla con mariaDB y ponerla en producción hasta que el sistema requiera mas rendimiento. Entoces, es el momento para plantearse una solución como mongoDB.

Tampoco tiene sentido matar moscas a cañonazos.

uberhumanista

Tantas mariconadas, para al final volver al dBase, verás tú...

f

#40 yo aun espero el dia en el que el mundo de la programacion vuelva a Cobol... a este paso, no pasara mas de una decada.

silosenovengo

Google está migrando a MariaDB
Google está migrando a MariaDB

Hace 10 años | Por astrapotro a theregister.co.uk


Red Hat abandona MySQL en favor de MariaDB [ENG]
Red Hat abandona MySQL en favor de MariaDB [ENG]
Hace 10 años | Por --320894-- a jaxenter.com


La Wikipedia comienza a migrar de MySQL a MariaDB
La Wikipedia comienza a migrar de MySQL a MariaDB
Hace 11 años | Por thingoldedoriat... a kabytes.com


Arch Linux es la siguiente en adoptar MariaDB después de Slackware, Fedora, OpenSUSE y Mageia
Arch Linux es la siguiente en adoptar MariaDB después de Slackware, Fedora, OpenSUSE y Mageia
Hace 11 años | Por --370659-- a ospherica.es


Fedora y openSUSE cambiarán MySQL por MariaDB
Fedora y openSUSE cambiarán MySQL por MariaDB
Hace 11 años | Por --361417-- a muylinux.com

silosenovengo

#6 Sí, por eso me parece relevante traer a María.

kurroman

#5 No debiste venir