Enlaces rápidos (09-04-2010)

Siguendo con el tema NOSQL, entre otras cosas…

Enlaces rápidos (30-03-2010)

Más sobre NoSQL y otras cosillas

Enlaces rápidos (15-03-2010)

Más enlaces rápidos, sobre todo basados en NoSQL (por favor, que no lo conviertan en un término que usen los guays y los gurús…)

Me hizo gracia esta frase: “NoSQL is for very smart people who need a very sharp knife.” espero un día cumplir ambas condiciones 🙂

Lawnchair: ‘base de datos’ clave-valor en Javascript

Lawnchair es una base de datos documental basada en JSON y que funciona en el cliente (Javascript). Puede venir muy bien para desarrollo de aplicaciones para móviles. Es muy fácl de usar y permite operaciones de escritura, lectura, búsqueda y eliminación.

var people = new Lawnchair('people');
// Saving a document async
people.save({name:'frank'}, function(r) {
    console.log(r);
});
// Specifying your own key
people.save({key:'whatever', name:'dracula'});

Lawnchair

|

PHPillow: librería PHP para CouchDB

PHPillow es una librería PHP que nos permite interactuar con CouchDB (base de datos documental de Apache basada en JSON).

Ahora que el NoSQL es una alternativa a las bases de datos relacionales, esta librería nos ayudará bastante a la hora de realizar nuestra aplicación, ya que el código es bastante sencillo.

class myBlogDocument extends phpillowDocument { 
  protected static $type = 'blog_entry'; 
  protected $requiredProperties = array( 'title', 'text', ); 
  public function __construct() { 
    $this->properties = array( 
      'title' => new phpillowStringValidator(), 
      'text' => new phpillowTextValidator(), 
      'comments' => new phpillowDocumentArrayValidator( 'myBlogComments' )
    ); 
    parent::__construct(); 
  } 
  protected function generateId() { 
    return $this->stringToId( $this->storage->title ); 
  } 
  protected function getType() { 
    return self::$type; 
  } 
}

PHPillow

Enlaces rápidos (05-03-2010)

Voy a tener que cambiar el título de estos posts por “Enlaces rápidos sobre NoSQL”, porque al final es sobre lo que más enlazo.

Comparativa de Data Stores

Entendiendo por Data Stores los sistemas de almacenamiento tanto RDBMS o NoSQL, el PDF que referencio compara los distintos tipos de data stores que hay:

  • Almacenamientos clave-valor
  • Almacenamiento de documentos
  • Similares al BigTable de Google
  • BD relacionales escalables

De cada tipo de data store explica cuales son y que características tiene, y por último hace comparativa entre ellos. También nos dice posibles ejemplos de uso:

  • Sistemas clave-valor: útil cuando los datos almacenados se basan en el acceso de información mediante un ID (sin joins) y que se actualiza pocas veces o se actualiza siempre de la misma manera.
  • Almacenamiento de documentos: cuando la información almacenada depende de varios campos (por ejemplo un stock de vehículos).
  • Sistemas basados en BigTable: se puede tratar de aplicaciones similares a los almacenamientos documentales, pero con la diferencia de que es necesario un elevado número de registros.
  • RDBMS escalables: cuando nuestra aplicación necesita de relaciones entre distintos datos y nuestro servidor se queda corto para aguantar el volumen de datos o de transacciones.

Me gustaría destacar que entre estos data store, se encuentra Cassandra, proyecto open source de Facebook, que ahora es un proyecto de Apache y que Twitter va a usar para sustituir MySQL.

High Performance Scalable Data Stores

Enlaces rápidos (16-02-2010)

Unos cuantos enlaces rápidos, con temática centrada en NoSQL

Terrastore: base de datos documental

Terrastore es una BD documental distribuida que ofrece escalabilidad sin quitarle consistencia. Entre sus características encontramos:

  • Accesible mediante HTTP
  • Distribuida: permite distribuir los nodos por cualquier servidor de nuestra red
  • Elasticidad: permite quitar y poner nodos sin necesidad de parar el servicio o cambiar la configuración
  • Escalabilidad en la capa de datos: los documentos se dividen y reparten por los nodos con balanceo automático y unión de las partes
  • Escalabilidad computacional: las queries y updates se distribuyen por los nodos reduciendo el tráfico
  • Consistencia: ofreciendo consistencia para los documentos, garantizando que siempre obtendrás el último valor de un documento, con aislamiento de la lectura de posibles commits de modificación

Terrastore

Vía / High Scalability