5 de março de 2010

MongoDB é Magnífico!

Pretendia esperar esperar mais uns dias para postar com mais profundidade, mas estou tão deslumbrado com Mongo que vou postar com apenas dois dias de estudo.

Veja-se só as possibilidades, em Mongo podemos:

  • Armazenar diversos objetos/tipos nativos de Python como: int, float, datetime.datetime, list, unicode.
  • Uma vez que ele é "orientado a documentos", ficamos livres de necessariamente criar schemas, mas eles podem ser criados.
  • Pode-se armazenar documentos sem termos que definir tamanho máximo, de modo que facilmente é possível criar registros que contenham arquivos inteiros.
    • A abordagem é tão diferente que nem é necessário criar uma "tabela", basta denominar as chaves e depois determinar valores para elas.
  • Podemos acrescentar "campos" sem sofrer para definir novas regras.
  • O mais extraordinário sobre as regras de consistência / relacionamento / estruturação:
    • Como SQL, podemos criar "referências".
    • Como OO, podemos criar registros HERDADOS com simplicidade. Você pode acreditar nisso????
    • Como OO "Plus", podemos criar documentos EMBEDEDD com facilidade. Incrível!


Quando vi que era possível criar classes-documentos-filhos e também classes-documentos-embededd com consistência e naturalidade fiquei impressionado. Isso vai facilitar nossas vidas. Basta olhar aqui para ver.

Aliás, com tanto tempo no modelo SQL eu tive certa dificuldade no primeiro momento de imaginar outra modelagem de dados.

A propósito, estou usando um ORM para Mongo chamado "mongoengine" que roda em cima do pymongo.

INSTALANDO MONGOENGINE

$ sudo easy_intall mongoengine

Grato ao La Batalema sobre os posts de MongoDB.

Um comentário:

suissa disse...

Mongo realmente COMANDA! Ando fazendo umas coisinhas em PHP para ele.

se quiser dar uma olhada nosqlbr.com.br