Databases Reference
In-Depth Information
While there are many advantages with the polyglot persistence approach shown
in Figure 4-10 , it also introduces complexity in managing such an environment. Each data
storage mechanism introduces a new interface to be managed. Furthermore data storage
is usually a performance bottleneck, so you have to understand a lot about how the technology
works to get decent speed. Using the right persistence technology will make this easier,
but the challenge won't go away. many of these nosQL options involve running on large
clusters. This introduces not just a different data model but a whole range of new questions
about consistency and availability.
Note
Figure 4-10. Illustration of a polyglot persistence conceptual architecture
End Points
Throughout this chapter we have discussed how understanding the workloads is the key
to design applications that requires distributed database management functionality.
We also discussed that between OldSQL, NewSQL, and NoSQL there are many databases
that need evaluation before one embarks on the application development activities.
In addition, polyglot persistence is the next new thing. So, what are the best practices
and rules that an architect should follow?
The rules that are presented below are in no particular order. A number of these
are essentially the same as would apply in a transaction-processing environment,
though they may have additional considerations because of the analytic nature of the
environment. On the other hand, some of the rules are specific to analytic databases.
Rule 1: Fire and Forget: Application users are only interested in the application
they are interfacing with. They do not know about (nor want to know about) the
databases that underpin that application. It is thus essential that the characteristics of
the databases are invisible to the user, and it should remain that way. This is as true
for transactional environments as it is for analytic applications. However, there is an
additional consideration when it comes to analytics. In order to get good performance for
query-intensive applications you need to focus on performance considerations: index,
materialized views, and other such techniques in order to achieve the performance lift.
 
 
Search WWH ::




Custom Search