Reviews

3 Most Popular NoSQL Databases To Start In Cloud

3 Most Popular NoSQL Databases To Start In Cloud
The path of the Cloud generally starts in migrations to infrastructure platforms as a Service (IaaS); where we make a virtual mirror of our physical structure on which we deploy our applications.

The next step comes when we recognize that the true value and productivity of the Cloud is in the Platform as a Service (PaaS), and we face new challenges in the form of software transformation and reconstruction in the search for the optimal cost/benefit ratio.

And one of the initial decisions that have more impact is to adopt the storage of our information in Databases as a Service by selecting which one to use in our software; being the NoSQL solutions, an affordable first step, of remarkable simplicity, powerful and of contained cost.

Why transform towards simplicity?

The first thing to be clear is that the adoption of this type of service is not a ”silver bullet ” that is valid for all use cases. Moreover, the relational databases of all life have inherent advantages and disadvantages, studied and recognized this type of storage services. However, for applications that require an especially economical way to store data that adapt to the characteristics of these WCS services and that allow changing the persistence logic – the data storage layer – in a simple way to migrate to the APIs of connection can be a solution with an excellent efficiency ratio.

The key lies in the complexity of the data structure and the relational operations that we have to perform on the set of tables.

The three that we are going to analyze in this article are of the type Wide Column Store (WCS), heirs of this paper of BigTable, which defines a storage in two-dimensional tables where the first columns are the indexes (between one and three columns) that unequivocally identify the horizontal rows that store the records. Next, an indeterminate number of columns is defined in which the field structure of the records is constructed, in a totally flexible way, based on a key/value format.

This dynamic approach to the data structure allows us to evolve and transform the persistence of information without being constrained by the rigid conventions of relational systems.

They are also platforms with a particularly good performance, both in reading and writing operations, having a very simple database engine, oriented to do only what is needed (List, Insert, Update and Delete), without heavy languages of exploitation as it is SQL, and avoiding having to support complex commands such as JOIN, GROUP, ORDER, etc.

​In summary, they are light, simple and fast. And, being a Cloud service that allows us to forget about managing scaling, high availability and data sharing; the platform itself being responsible for ensuring service agreements (SLA) of more than 99.99%.

The simplest, not the least powerful

At the moment, a tricephalic monopoly in Cloud technologies is being consolidated with Amazon in the lead with a presence in the market of almost 47%, followed very far by Microsoft Azure with 10%, and Google closing the club to be touching 4%. The generic persecuting group is headed by IBM and its SoftLayer which gets close to 3%; completing the remaining 36% with a myriad of small platforms. Apache Cassandra is the WCS database that reigns indisputably in this segment of the market, but we have not included it in the analysis since there is no cloud service that allows us to consume it in PaaS format.

However, Amazon’s SimpleDB, Microsoft’s Azure Tables, and Google’s Cloud BigTable are indeed NoSQL database cloud services, which represent the first link to the persistence of information beyond binary storage.

​In the following table you can see the direct comparison of the three services:

DESCRIPTION
MICROSOFT AZURE TABLE STORAGE
AMAZON SIMPLEDB
GOOGLE CLOUD BIGTABLE
DATABASE MODEL
Wide column store
​Wide column store
Key-value store
DEVELOPER
Microsoft
Amazon
Google
INITIAL PUBLICATION
2012
2007
2015
DATA SCHEMA
Free
Free
Free
PREDEFINED TYPES
Yes
​do not
​do not
ACCESS METHODS
RESTfull API
RESTfull API
gRPC (using protocol buffers) API HBase API compatible (Java)
SUPPORTED LANGUAGES
.Net (all), C ++, Java, JavaScript, PHP, Python, Ruby
.Net (all), C, C ++, Erlang, Java, PHP, Python, Ruby, Scala
Go, Java
PARTITIONING METHOD
Sharding
Sharding
none
CONSISTENCY
Immediate Consistency
Eventual Consistency Immediate Consistency
Immediate Consistency
TRANSACTIONS
Optimistic lock
do not
​Atomic operations in a registry
 ACCESS CONTROL
Access rights based on permissions on the service, authentication by private key and shared signatures
Access rights via AWS Identity and Access Management (IAM)
do not
POPULARITY
Position 66
Position 91
Post 159

​It should be noted that SimpleDB is not really a BD of type WCS, but Key-value Store. Its operation is practically the same as the rest of the comparison, having its main difference in that it is not designed for large volumes of information as if its opponents are.​However, we have included it in the comparison because Amazon does not have a WCS service, and DynamoDB – which can be used in this way – is classified within a higher level of complexity where it would be accompanied by CosmosDB or similar.

The three magnificent

Using the own pages to calculate the prices of the three Cloud platforms, we have found that the costs are different for similar configurations: November 2017, 1Tb. of storage, in the CPD of Ireland, with the geographic replication by default.

  • Amazon SimpleDB: $ 281 / month
  • Google BigTable: $ 174 / month
  • Azure Tables: $ 75 / month

But these prices must be taken with care because there is a sustained war that allows for a constant (downward) variation of them; that each calculator requests different data to perform the cost forecast; and that the sections up to the first Gigabyte, are free in the three Clouds.

Certainly, they are not going to be objective causes based on metrics of performance or of various volumetrics that should make us opt for one of these three magnificent platforms.

They are really fast in both writing and reading operations, have a storage capacity that only has our budget limit, and availability, stability, and resilience are ensured by the Terms of Service.

​Therefore, less obvious factors become important, such as the knowledge we have of the Cloud that supports it. For example, if the development team is used to Microsoft environments, it will tend to use Azure and Tables Storage; On the other hand, if the application works on AWS, the normal thing would be to opt for Amazon’s SimpleDB; and we would choose Google if our main working language was Go.

Popularity ranking​If anything to point out as an advantage or disadvantage as the case may be that Google’s BigTable uses an own access API, not as well known as the universal RESTfull API of Microsoft and Amazon.

The documentation in all cases is excellent and very abundant in all the Cloud going a step ahead of Microsoft – which is making a Herculean effort to solve what was its weak point a few years ago.

Amazon offers, however, the longest service and – therefore – more mature and well-known. We must recognize that bringing more than a decade of advantage to its competitors provides a security and stability that should not be forgotten.

​Google, in its favor, has that the Bigtable service is used internally in such demanding platforms as Analytics, Maps, Gmail, etc. confirming that it meets the expected characteristics.

Conclusion

In short, to choose between Tables, SimpleDB or Bigtable, what you have to do is look around: what is it that we know how to do, what we have to integrate with and what Cloud platform we want to work on best.Any of the three is excellent.

​More information | Comparison in DB-EnginesAzure Tables StorageAmazon SimpleDBGoogle BigtableBigtable

Our sponsor - Deploy your server within 3 minutes


Related articles

Leave a Comment

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More