The most valuable asset in today's businesses is data, but data needs to be ingested and structured properly to be of maximum value. This chapter discusses how to model entities, their relationships, and repositories. We will also deep-dive into a few popular data stores, including using them in Golang to demonstrate the principles of data modeling.
In this chapter, we will cover the following topics:
- Entity-relationship modeling
- Engineering various consistency guarantees
- Relational data modeling and a hands-on deep-dive into MySQL
- Key value stores and a hands-on deep-dive into Redis
- Columnar stores and a hands-on deep-dive into Cassandra
- Patterns for scaling data stores