Databases Reference
In-Depth Information
OLAP systems are unique in that once event records are written to a central fact table,
they're usually not modified. This write-once, read-many pattern is also common in
log file and web usage statistics processing, as we'll see next.
3.6
Incorporating high availability
and read-mostly systems
Read-mostly non-RDBMSs such as Directory Services and DNS are used to provide
high availability for systems where the data is written once and read often. You use
these high-availability systems to guarantee that data services are always available and
your productivity isn't lost when your login and password information isn't available
on the local area network. These systems use many of the same replication features
that you see in NoSQL systems to provide high-availability data services. Studying
these systems carefully gives you an appreciation for their complexity and helps you to
understand how NoSQL systems can be enhanced to benefit from these same replica-
tion techniques.
If you've ever set up a local area network ( LAN ), you might be familiar with the
concept of directory services . When you create a LAN , you select one or more computers
to store the data that's common to all computers on the network. This information is
stored in a highly specialized database called a directory server . Generally, directory serv-
ers have a small amount of read data; write operations are rare. Directory services
don't have the same capabilities as RDBMS s and don't use a query language. They're
not designed to handle complex transactions and don't provide ACID guarantees and
rollback operations. What they do provide is a fast and ultra-reliable way to look up a
username and password and authenticate a user.
Directory services need to be highly available. If you can't authenticate a user, they
can't log in to the network and no work gets done. In order to provide a high-availabil-
ity service directory, services are replicated across the network on two, three, or four
different servers. If any of the servers becomes unavailable, the remaining servers can
provide the data you need. You see that by replicating their data, directory services
can provide high service levels to applications that need high availability.
Another reference point for high availability systems is the topic of Domain Name
System ( DNS ) . DNS servers provide a simple lookup service that translates a logical
human-readable domain name like danmccreary.com into a numeric Internet Protocol
( IP ) address associated with a remote host, such as 66.96.132.92. DNS servers, like
directory servers, need to be reliable; if they're not working properly, people can't get
to the websites they need, unless they know the server IP address.
We mention directory services and DNS -type systems because they're true database
systems and are critical for solving highly specialized business problems where high
availability can only be solved by eliminating single points of failure. They also do this
better than a general RDBMS .
Search WWH ::




Custom Search