Database Reference
In-Depth Information
Expertise : There are millions of developers throughout the world, and
in every business segment, who are familiar with RDBMS concepts and
programming. In contrast, almost every NoSQL developer is in a learning
mode. This situation will be addressed naturally over time. However, cur-
rently, it is far easier to find experienced RDBMS programmers or admin-
istrators than a NoSQL expert.
Currently, there is a big debate between the NoSQL and RDBMS campuses
that is centered on the right choice for implementing online transaction processing
systems. RDBMS proponents think that the NoSQL camp has not spent sufficient
time to understand the theoretical foundation of the transaction processing model.
For example, the eventual consistency model is still not well defined, and different
implementations may differ significantly with each other. This means figuring out all
these inconsistent behaviors lands on the application developer's responsibilities and
makes their life very much harder. On the other side, the NoSQL camp argues that
this is actually a benefit because it gives the domain-specific optimization oppor-
tunities back to the application developers who are now no longer constrained by a
one-size-fits-all model. However, they admit that making such optimization deci-
sions requires a lot of experience and can be very error-prone and dangerous if the
decisions are not made by experts.
In principle, we believe that it is not expected that the new wave of NoSQL data
management systems will provide a complete replacement of the relational data man-
agement systems. Moreover, there will not be a single winner (one-size-fits-all) solu-
tion. However, it is more expected that different data management solutions will coexist
at the same time for a single application (Figure 9.6). For example, we can imagine an
application that uses different datastores for different purposes as follows:
MySQL for low-volume, high-value data-like user profiles and billing
information.
A key value store (e.g., Hbase) for high-volume, low-value data-like hit
counts and logs.
MySQL
MongoDB
Application
HBase
Amazon
S3
FIGURE 9.6
Coexistence of multiple data management solution in one application.
Search WWH ::




Custom Search