112 | Big Data Simplied
Amazon Web Services and you are using its Elastic Compute Cluster or EC2 service, that service,
in effect, gives you virtual machines, over which you have control. So, you could utilize any
number of those virtual machines and install your NoSQL database of choice on those machines.
Yet, it is another cloud option for NoSQL databases.
Microsoft Windows Azure has its own storage scheme. It has Azure Blob Storage, which is for
storing all types of files and Windows Azure Table which is a key value store NoSQL database.
5.6 NoSQL – DO’S AND DON’TS
Now, you should have gathered enough knowledge about NoSQL databases, let us examine a few
Do’s and Don’ts. Essentially, we shall consider the scenarios where the use of NoSQL Databases
makes the most sense and the scenarios where it does not and more traditional, relational data-
bases are more appropriate.
If you remember the discussion, we had about the CAP theorem, NoSQL databases have
enhanced availability over relational databases but at the cost of database consistency. Does that
mean that, NoSQL databases always perform better than relational databases? The reality is that,
they do perform well in web scale scenarios, where the load on the system is huge, but the
requirements of saving and retrieving data are rather straightforward and simple. We examined
such scenarios earlier in this chapter. However, in other contexts, where we do not have that kind
of load, NoSQL databases may actually be quite a bit slower.
So, in general, for a typical business application in an enterprise with reasonable data loads,
you may want to use relational databases. They will just be fast and probably, much faster unex-
pectedly. Also, due to consistency guarantees, they will be much more reliable, which for a busi-
ness application, may be a necessity. On the other hand, in those cases where you have simple
storage and retrieval demands, but you have to work with an awful lot of data, then NoSQL may
be more appropriate.
Appropriateness is really about figuring out where NoSQL or relational databases work better.
Consider few examples of storing and retrieving personalization data, application configuration
data, log data or any event-driven data. NoSQL databases in many cases will be a more appro-
priate choice for these scenarios. On the other hand, if you think about anything that is transac-
tional, especially financial transactional applications and for example, applications dealing with
stock trades, accounting, credit card transactions, using a NoSQL database would not be recom-
mended due to some its characteristics that we have already discussed.
5.7 BUSINESS INTELLIGENCE AND NoSQL
So, how does NoSQL align with BI? Well, rstly, NoSQL databases themselves are not very well-
suited to a BI workload at all. They are not designed for ad-hoc querying, because every query on a
NoSQL datastore has to be explicitly programmed. So, you are not likely to use a NoSQL database
for a data warehouse or for ad hoc reporting. BI applications typically involve semantic models,
and in order to have a model, you need schema, which is again not a NoSQL datastore will offer.
However, if you think about it, the kinds of things that make NoSQL databases not great
for certain types of business applications are not really a problem in BI. The lack of indexing is
not a problem because what we are effectively doing in BI is looking at huge numbers of rows
and just aggregating them for insights. We are not really relying on indices. The consistency is
M05 Big Data Simplified XXXX 01.indd 112 5/20/2019 7:42:54 PM
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset