TaffyDB: Base de Datos JavaScript

TaffyDB es una nueva biblioteca open source para la creación de base de datos directamente desde JavaScript y sin la necesidad de utilizar pesadas y lentas bibliotecas adicionales.

base de datos JavaScript

Sus principales características:

  • Consultas extremadamente rápidas.
  • La biblioteca es muy liviana.
  • Comandos básicos disponibles en cualquier base de datos: count, insert, updates, etc.
  • Compatibilidad cruzada muy aceptable entre los distintos navegadores.
  • Compatible con las bibliotecas DOM más reconocidas (jQuery, YUI, Dojo, etc)
  • Compatible con JS del lado del servidor.

Creación de una base de datos:

// Create DB and fill it with records
var friends = TAFFY([
	{"id":1,"gender":"M","first":"John","last":"Smith",
	"city":"Seattle, WA","status":"Active"},
	{"id":2,"gender":"F","first":"Kelly","last":"Ruth",
	"city":"Dallas, TX","status":"Active"},
	{"id":3,"gender":"M","first":"Jeff","last":"Stevenson",
	"city":"Washington, D.C.","status":"Active"},
	{"id":4,"gender":"F","first":"Jennifer","last":"Gill",
	"city":"Seattle, WA","status":"Active"}	
]);

Filtrado de datos:

// Find all the friends in Seattle
friends({city:"Seattle, WA"});

// Find John Smith, by ID
friends({id:1});

// Find John Smith, by Name
friends({first:"John",last:"Smith"});

Acceso a datos:

// Kelly's record
var kelly = friends({id:2}).first();

// Kelly's last name
var kellyslastname = kelly.last;

// Get an array of record ids
var cities = friends().select("id");

// Get an array of distinct cities
var cities = friends().distinct("city");

// Apply a function to all the male friends
friends({gender:"M"}).each(function (r) {
   alert(r.name + "!");
});

Actualización «on the fly»

// Move John Smith to Las Vegas
friends({first:"John",last:"Smith"}).update({city:"Las Vegas, NV:"});

// Remove Jennifer Gill as a friend
friends({id:4}).remove();

// insert a new friend
friends.insert({"id":5,"gender":"F","first":"Jennifer","last":"Gill",
	"city":"Seattle, WA","status":"Active"});

Pueden descargar la biblioteca completa desde su apartado en GitHub, sin embargo les recomiendo la web oficial del proyecto para obtener más información, cuenta con una documentación excelente.

Web: TaffyDB