NoSQL : Compare Hosting

Compare 1685 hosting plans from 460 webhosts from our reviews section. Use the control panel (on the left) to start searching. Results will automatically update.

Oops! No Hosting Plans Match Your Search

You've selected a combination of features that none of the web hosts we profile offer. We suggest you remove your last filter or reset & start again.

Ask Our Experts

Need help with your hosting? Tell us exactly what you are looking for and we’ll do our very best to help. Please allow one working day for a response.

Please fill in all fields.

Thanks! Your request has been sent. We'll reply within 24 hours.

NoSQL Databases and Hosting

Data can exist in two forms, "structured" (generally better for record-keeping) or "unstructured" (generally better for large, dynamic applications) - NoSQL is a catch-all term for technologies which handle unstructured data.  

The term NoSQL is generally interpreted as "Not Only SQL," which refers to the most common type of relational database, a Structured Query Language (SQL) database.

A relational data structure organizes data into a "grid" of information where data Columns indicate the name of the data being stored, and a SQL Row is where an individual data object entry exists. In this regard SQL query looks like a spreadsheet. If a row of data is missing information, that spot in the table either shows up as empty or NULL. Data in other tables can be looked up via an identifier in one of the columns, thus making it relational.

For a NoSQL datastore, information organization does not follow these conventions. Instead of being boxed into a bunch of tables, the data exists in a more open format which can be more easily distributed across a large number of physical computers.

How NoSQL works 

There actually are several different technologies which qualify to be considered "NoSQL." Each one has it's own peculiarities, but most of which rely on the use of "key-value" pairs - which is to say a data attribute exists as a data name (or key) combined with the data value.

An example would be {name: "street", value: "1234 St"} where "street" is the key and "1234 St" is the value. Getting back to the subject of how NoSQL works, there are five major types which all work somewhat differently:

  • Key-Value Based - while all forms of NoSQL use some interpretation of Key-Value pairs, a Key-Value store database uses them in the simplest possible definition, without additional complexity.
  • Column Based - don't think of a traditional table column, instead a column refers to a set of three pieces data which includes a Unique Name, Value, and Timestamp. This Column can be part of a ColumnFamily, which resembles a relational row.
  • Document Based - this refers to data encapsulation into documents. This can refer to either an XML or JSON document. An object is semi-structured into XML tags or JSON key-value pair tags, which creates a document with a complete set of tags and values which is then stored.
  • Graph Based - a type of very abstract storage which uses a concept known as a "triplestore" to build up semantic bindings between every element. This is extremely useful for modeling networks.
  • Multi-Model - rather than falling into one particular category, a multi-model database might have graph, document, and key-value methods. This is advanced territory, where user defined models can exist.

More about Document-Oriented Databases

There are a number of different “flavors” of NoSQL databases, such as key-value stores, tuple stores, object oriented databases, and graph databases.

One of the more common types used, especially for web content applications, is document-oriented databases.

Each document-oriented database works a bit differently, but generally they store records as a JSON-encoded documents. A single “real-world” items (such as a book) is represented in the database as a document (rather than a row) and the entire set of such records is usually referred to as a collection.

In a document-oriented database, all the relevant information about a record is stored directly in the document. For example, in a blogging application, a single document might store the Author’s name, the test of the post, the associated tags and meta-data, and even comments. The comments would be individual documents, embedded into the larger document. This is quite different than a relational database system where the comments would be stored in a separate table and the author reference would be a foreign key.

The problem with this method of storing data is that if the author’s name changes, it would have to be corrected on all the documents that mention it, rather than only in one place. Moreover, that change would have to be managed by application code, which requires developers to keep track of the data model separately then the database.

Disadvantages of NoSQL databases

Relational data modeling involves creating a detailed structure of how data interacts and relates. The schema itself provides information about the data domain, and enforces adherence to the specified data model.

When done well, this ensures consistency in the data. There is only one “source of truth” for any particular fact, no matter how trivial. The data and the schema interact to create a body of knowledge in which any particular question can only be answered one way.

NoSQL databases do not generally enforce particular schema, and adherence to a consistent data model is structurally impossible.

This opens the possibility of data inconsistency either in the data itself or in the data design. It become the requirement of application code to ensure that data is kept internally consistent and normalized.

For these reasons, NoSQL database systems usually aren’t appropriate for applications where a high-degree of consistency and data-integrity is required. For example, online banking or other financial services applications.

Advantages of NoSQL databases

A relational database system requires that the data scheme, or model, is well defined, designed, and implemented before the application is used and data stored. This requires a great deal of development and research time, and constrains the data model to the decisions made in development.

NoSQL databases usually do not have a strict data model, and so the structure of the database can emerge over time as the application evolves and the data is collected. This allows a NoSQL database implementation to launch much faster than a relational system, and also allows the database to evolve.

On a similar note, relational databases are designed to model systems which can map onto a highly-structured data schema. This can work very well for some real world domains (products in an online store), reasonably well for others (items in a library), and not well at all for others (content of websites across the entire internet). NoSQL databases can provide structured storage of unstructured data, allowing the modeling of a more complex system.

NoSQL databases are usually much better at writing large amounts of data and dealing with massive stores of data. They shard across multiple machines better than relational databases. Complete information about specific items inthe database can often be obtained without access to the entire database structure, because data isn’t smeared across a large number of interrelated tables. For these reasons, NoSQL databases have been at the forefront of the Big Data movement.

NoSQL Database Systems

With five types of NoSQL databases to choose from, selecting the right individual technology is a matter of application appropriateness. Moreover, some technologies exist as an instantly deployed cloud service while others require custom setup but allow for deeper control. 

The most prolific individual technology is Apache HBase, which originated from the Hadoop movement, and has strong architectural ties to Google's original Big Table. 

Document-Store databases like MongoDB or CouchDB are used commonly, which are very attractive for rapid prototyping. This is because a document-store database doesn't require setting up the data structures traditionally required in a RDMS setup. 

Data-structure services, Redis in-particular, is among the most popular key-value database - as it is offered by many cloud providers and runs very fast because the data is stored in memory and can scale up as-needed. 

The more exotic graph & multi-model NoSQL selections are generally reserved for search tools, or other applications which require data control for some form of weak artificial intelligence.

NoSQL - Hosting Considerations

With such a high number of NoSQL technologies to choose from, the method for installation depends entirely on which platform is selected. It should first be noted, that a NoSQL database does not need to run on the same servers as the web application itself, secure external connections is standard. 

Most NoSQL technologies (for production ready apps) are almost always based on a "cloud" service, which means the servers themselves are not maintained by the site developers but rather by the service provider. 

Usually, this works best with a Software as a Service (SaaS) type setup, but for more complex tasks, a virtual machine image can be used to quickly setup a virtual private server (VPS) with the desired NoSQL database installed, and all technical dependencies. 

Manual installation is possible, and often is required for setting up a local copy for early development.

Summary

Most database management systems are table-based relational databases, and use SQL (structured query language) for schema design and data querying. However, in the last decade or so, non-relational databases have become increasingly popular for certain types of applications. These database systems are collectively called “NoSQL.”

NoSQL database management systems are a large class of data storage tools that all use different models for storing and structuring data. The one thing they all have in common is that they do not use a relational table system for their data. This means that some operations (reading, writing, searching) are much faster in a NoSQL database, and others much slower. These performance differences also show up between different NoSQL databases, depending on the specifics of their storage engine and overall implementation. 

The choice to use a NoSQL database, and which one to use, should be based on the specific requirements and use-cases of a particular project.

Where is the best place to start? 

For someone who is unfamiliar with key-value datastores, the best advice might be to create a test application following tutorials and using open source application templates from Github.

MongoDB and CouchDB are technologies which can  be setup easily on a local computer and used to create page prototypes quickly. Mongo has what is called the "Mongo Shell" which users can use to practice commands directly from command line.

CouchDB users can access some similar functions with "Curl" commands - but Couch also has a visual interface that allows users to actively create MapReduce logic. Both of these technologies are amazing for learning, and work well for live applications. Most technologies will have good walkthroughs for first time users, the best thing to do is pick a walkthrough which is easy to understand and follow that until the concepts are well understood.

WhoIsHostingThis Recommends

★★★★
Support
★★★★
Features
★★★★
Uptime
★★★★
Value
★★★★

Pros: Free domain name , Unlimited traffic, emails, DBs

Cons: No Windows-based plans

SiteGround is an established web host managing well over 1,000 servers and... Read more

Visit host

2. iPage

ipage logo
★★★★
Support
★★★★
Features
★★★★
Uptime
★★★★
Value
★★★★

Pros: Unlimited Disk Space, Bandwidth & Email , Unlimited MySQL Databases

Based in the US, iPage specialises in low-cost shared hosting. Each plan... Read more

Visit host
★★★
Support
★★★
Features
★★★★
Uptime
★★★
Value
★★★

Pros: Free Domain , Unlimited Bandwidth

Bluehost provides customers with low-cost shared hosting, as well as reseller, VPS... Read more

Visit host

Updating...