Reader small image

You're reading from  Hands-On Software Engineering with Golang

Product typeBook
Published inJan 2020
Reading LevelIntermediate
PublisherPackt
ISBN-139781838554491
Edition1st Edition
Languages
Right arrow
Author (1)
Achilleas Anagnostopoulos
Achilleas Anagnostopoulos
author image
Achilleas Anagnostopoulos

Achilleas Anagnostopoulos has been writing code in a multitude of programming languages since the mid 90s. His main interest lies in building scalable, microservice-based distributed systems where components are interconnected via gRPC or message queues. Achilleas has over 4 years of experience building production-grade systems using Go and occasionally enjoys pushing the language to its limits through his experimental gopher-os project: a 64-bit kernel written entirely in Go. He is currently a member of the Juju team at Canonical, contributing to one of the largest open source Go code bases in existence.
Read more about Achilleas Anagnostopoulos

Right arrow

Chapter 6

  1. Relational databases are a better fit for transactional workloads and for performing complex queries. They can scale horizontally using mechanisms such as data sharding but at the cost of requiring additional coordination for executing queries. On the other hand, NoSQL databases are best suited for crunching massive volumes of denormalized data. By design, NoSQL databases can efficiently scale horizontally (even across data centers), with many NoSQL offerings promising a linear increase in query performance as more nodes are added to the cluster. The main caveat of NoSQL databases is that they can only satisfy two facets of the CAP (consistency, availability, and partition tolerance) theorem.

A relational database would be a great fit for systems that perform a large volume of concurrent transactions, such as the ones you would expect to find in a bank. On the other...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Hands-On Software Engineering with Golang
Published in: Jan 2020Publisher: PacktISBN-13: 9781838554491

Author (1)

author image
Achilleas Anagnostopoulos

Achilleas Anagnostopoulos has been writing code in a multitude of programming languages since the mid 90s. His main interest lies in building scalable, microservice-based distributed systems where components are interconnected via gRPC or message queues. Achilleas has over 4 years of experience building production-grade systems using Go and occasionally enjoys pushing the language to its limits through his experimental gopher-os project: a 64-bit kernel written entirely in Go. He is currently a member of the Juju team at Canonical, contributing to one of the largest open source Go code bases in existence.
Read more about Achilleas Anagnostopoulos