"Database schemas are notoriously volatile, extremely concrete, and highly depended on. This is one reason why the interface between OO applications and databases is so difficult to manage, and why schema updates are generally painful."
- Robert C. Martin [14]
In this chapter, we will focus our attention on designing and implementing the data access layers for two of the Links 'R' Us components: the link graph and the text indexer. More specifically, in the pages that follow, we will do the following:
- Discuss and compare the different types of database technologies
- Identify and understand the main reasons that necessitate the creation of a data access layer as an abstraction over the underlying database layer
- Analyze the entities, relations, and query requirements for the link graph component, define a Go interface for the data...