Databases Reference
In-Depth Information
input and output queries, and faults on each of the nodes in a cluster? Are
there data feeds that provide information that conforms to monitoring stan-
dards such as SNMP ?
Note that supportability is related to both scalability and availability. A system
that automatically rebalances data in a cluster when a node fails will get a
higher score for both scalability and availability as well as supportability.
Portability —Can you write code for one platform and port it to another plat-
form without significant change? This is one area where many NoSQL systems
don't perform well. Many NoSQL databases have interfaces and query lan-
guages that are unique to their product, and porting applications can be diffi-
cult. This is one area where SQL databases have an advantage over NoSQL
systems that require database developers to use proprietary interfaces.
One method you can use to gain portability is to build database-independent
wrapper libraries around your database-access functions. Porting to a new data-
base could be done by implementing a new version of your wrapper library for
each database. As we discussed in chapter 4, building wrappers can be easy
when the API s are simple, such as GET , PUT , and DELETE . Adding a wrapper
layer for increased portability becomes more expensive when there are many
complex API calls to the database.
Sustainability —Will the developers and vendors continue to support this prod-
uct or this version of the product in the future? Is the data model shared by
other NoSQL systems? How viable are the organizations supporting the soft-
ware? If the software is open source, can you hire developers to fix bugs or cre-
ate extensions?
The way that document fragments are addressed using path expression is a
universal data-access pattern common in all document stores. Path expressions
will be around for a long time. In contrast, there are many new key-value stores
that store structures within values and have their own way of accessing this data
that's unique to that system. It's difficult to predict whether these will become
future standards, so there's higher risk in these areas.
Note that the issues of portability and sustainability are tied together. If your
application uses a standard query language, it'll be more portable, so the con-
cerns of sustainability are lower. If your NoSQL solution locks you into a query
language that's unique to that solution, you'll be locked in to a single solution.
Security —Can you provide the appropriate access controls so that only autho-
rized users can view the appropriate elements? What level of granularity does
the database support?
The key element we considered is whether security should be placed within
the database layer itself or whether there are methods of keeping security at the
application layer.
Searchability —Can you quickly find the items you're looking for in your data-
base? If you have large amounts of full text, can you search by using a keyword
Search WWH ::




Custom Search