DevOverview

Getting Started : Basics

What is 10gen?

10gen a software platform designed for what is colloquially known as "Cloud Computing". It's an application server, object database and a management system designed for large scale deployment across multiple machines.

One good way to describe 10gen in familiar terms is to compare the 10gen platform to the ubiquitous LAMP stack. In the image below, we've put the basic components of the LAMP stack side by side with the basic components of the 10gen platform.

Chart - LAMP & 10gen

The 10gen platform consists of :

1) Application Server : The 10gen Application Server (named "Babble") is a high-performance, scalable application server that currently supports JavaScript, Python and Ruby as the native application programming languages. It's designed for scalability and manageability, running multiple applications concurrently and in isolation. Babble leverages all of the other components of the platform, and provides applications with managed access to the libraries and services they need. For further information, please see the appserver documentation.

2) Object Database : The 10gen database (named "Mongo") is an object-oriented database that works directly with native Javascript objects. The database has many features, including indexing, sorting, partial object return, and server-side script execution for "WHERE" clauses, in either JavaScript, Python or Ruby. For more information about this part of 10gen technology, please see our database documentation.

3) Core JavaScript Libraries and Modules: The 10gen Core JavaScript Libraries (or "CoreJS" for short), written in JavaScript are the core APIs that expose Babble to application developers. The libraries offer a range of services, from user management to web services, and are growing daily. For further reference, see the CoreJS API Documentation.

4) GridFS : GridFS is the 10gen platform's virtual file system, in which allows any appserver node in a deployment to store and retrieve binary objects. Designed with large objects in mind, the GridFS is an excellent storage system for images, audio files and other site assets. For more information, please see the GridFS documentation.

5) Grid Management System : The 10gen platform includes a management system that controls application and resource deployment, database connection management, and other issues pertaining to the deployment and control of applications and their dependent assets.

Next: The SDK