Criteria:
Fast
Ability to quickly push/pull small bits
Easy to use
Most online literature / largest online help
FOSS
Below we have a list of modules associated with node.js / databases, so these would be our options. There's a lot going on there, a lot of information, not a lot of explanation.
Stumbling on: http://nodejsdb.org/ , it looks like they promise something along the lines of 200% increase in speed, from what to what I have no idea. But this leads to mysql as an option. In fact quite a lot of literature out there leads to mysql as *the* option. If you disagree, let me know in the comments.
Taken from: https://github.com/joyent/node/wiki/modules#wiki-database
Database
SQL SERVER
- node-mssql — A node.js MS SQL Server native driver
- tedious — A pure Javascript implementation of the TDS protocol, for connecting to SQL Server databases
POSTGRESQL
- node_postgres — Beginning of bindings to libpg
- node-postgres — Well tested libpq binding and pure javascript PostgreSQL client
- FastLegS – PostgreSQL ORM on top of node-postgres.
- postgres-js — Postgres protocol implemented in pure JS
- postgres-js — Fork of postgres-js, adds parameterized queries and prepared statements.
MYSQL
- db-mysql – Binary driver for MySQL (using libmysql). Part of the Node.js DB effort
- node.dbslayer.js – Interface to DBSlayer (MySQL)
- node-poormansmysql — Asynchronous MySQL driver for node.js using the mysql command-line tool
- node-mysql — A node.js module implementing the MySQL protocol
- node-mysql-pool — connection pool for node.js on top of Felix Geisendörfer’s MySQL client node-mysql.
- node-mysql-cache — MySQL query cache for node.js on top of Felix Geisendörfer’s MySQL client node-mysql.
node-mysql- -Pure JavaScript MySQL async driver[obsolete]- node-mysql-native — Yet another pure JS async driver. Pipelining, prepared statements.
- node-mysql-libmysqlclient — MySQL asynchronous bindings based on libmysqlclient
- RDX – An object-relational mapper (ORM) for node. Backends: node-mysql-libmysqlclient.
- node-handlersocket — Pure JavaScript client for HandlerSocket Plugin for MySQL.
- persistence.js — An object-relational mapper (ORM) for node. Backends: MySQL.
- sequelize – An easy-to-use MySQL Object-Relational-Mapper (ORM) for Node.JS
- moose – An ORM for node (Currently only MySQL). Based on node-mysql
SQL LITE
- node-sqlite — Bindings for SQLite3. Interface conforms to the HTML5 Web SQL API.
- node-sqlite — Fast asynchronous driver: New evented Node.js look, same great SQLite3 taste
- node-sqlite3 — Full-featured, asynchronous SQLite bindings with query serialization/parallelization and verbose stack traces
NOSQL AND KEY VALUE
MONGO
- mongojs — Simple driver that emulates the mongodb API as much as possible.
- node-mongodb — Basic MongoDB client implementation in JS/C++
- node-mongodb-native — A pure JavaScript driver for MongoDB.
- node-mongoskin — A future layer for node-mongodb-native.
- node-mongodb-wrapper — As close as possible to the command-line driver. Uses node-mongodb-native.
- mongode — Very thin wrapper around node-mongodb-native that simplifies the API a bit.
- N-Ext — Use Ext.data packages in your NodeJS apps (includes a MongoDB proxy based on node-mongodb-native)
- mongoq — MongoDB is: mongoq(‘mongodb://localhost/db’).collection(‘users’).find().toArray(function(error, docs){})
- node-mongolian — Mongolian DeadBeef is an awesome Mongo DB node.js driver that attempts to closely approximate the mongodb shell
- mongolia — Flexible wrapper for the nodejs Mongo driver. Lighter than a ORM but easier to use than the driver.
- mongoose — Mongoose is a JavaScript library that makes working with MongoDB a breeze.
- mongous — Mongous is a simple MongoDB driver that uses a jQuery styled syntax.
- nosql-thin – Makes easier to work with MongoDB. Not an ORM. Not production ready.
- mongoclikker – Simple MongoDB data viewer
- GridFS – Simple GridFS capabilities built on node-mongodb-native.
- Official driver – Vote for it on 10gen’s tracker
HIVE
- node-hive — dead simple hive client using thrift api
- node-thrift-hive — Hive client with multi versions support and a Readable Stream API.
REDIS
- redback — a high-level Redis library with support for advanced data structures such as Social Graphs and Full-text Indexes.
- awesome — a Redis clone in node.js
- nedis — Redis server implementation written with node
- redis-node — Comprehensive, high speed Redis client
- redis-node-client — Redis Client by Fictorial (deprecated)
- node_redis — Complete Redis client that works well with new node and new Redis
- redis2json — Easily loads data from Redis into structured JS object
- nohm — Redis object relational mapper (ORM)
COUCHDB
- node-couchdb-api — An easy-to-use and powerful wrapper for the CouchDB API that follows Node.JS conventions for async code.
- LazyBoy — a CouchDB ORM thats easy to use
- node-couch — a CouchDB connector
node-couchdb- -A full API implementation[obsolete]- node-couchdb-min — Light-weight client with low level of abstraction and connection pooling.
- couch-ar — a active record implementation for couchDB (uses cradle)
- couch-client — a simple wrapper around CouchDB’s http interface
- PJsonCouch — PJs-on-Couch is a client lib for CouchDB’s HTTP API
- cradle — a high-level, caching, CouchDB client
- couchcmd — CouchDB command line utility using cradle
- data.js — Graph persistence for Node.js with CouchDB
- couchtato — CouchDB document utility tool
- nano — Minimalistic driver for CouchDB based on mikeals/request
- YACA — custom api for your couchdb instance generated through introspection.
NOSQL MISC
- riak-js — Riak JavaScript client (works on node v0.1.30+)
- node-mwire — Client for GT.M & Cache databases
- alfred — a fast in-process key-value store for node.js that has functional indexes, streams, replication, …
- barricane-db — a transparent object persistence mechanism
- chaos — Chaos is a Node.js database
- node-tokyocabinet — Tokyo Cabinet binding
- node-tyrant — An implementation of the Tokyo Tyrant network protocol for the Node.js
- kyoto-client — A client for the Kyoto Tycoon key-value store
- keys — Unified interface for key/value store clients
- neo4j — Neo4j graph database driver for Node
No comments:
Post a Comment