The Ultimate Guide To Building Database-Intensive Apps with Go
after payment (24/7)
(for all gadgets)
(including for Apple and Android)
Congratulations! You’ve discovered the ultimate resource for writingdatabase-intensive applications in the Go programming language.What is Go, and who uses it? Go is a modern language in the C family. It is elegant,simple, and clear, making it maintainable. It includes a garbage collector to managememory for you. Its built-in features make it easy to write concurrent programs. Theseinclude goroutines, which you can think of as lightweight threads, and mechanisms tocommunicate amongst goroutines. At the same time, Go is strongly typed andcompiles to self-contained binaries free of external dependencies, and ishigh-performance and efficient in terms of CPU and memory usage.Using Go to access databases brings you all the benefits of Go itself, plus an elegantdatabase interface and a vibrant community of users and developers writinghigh-quality, open-source database drivers for you to use.Go’s database/sql library has excellent documentation and source code but leaves alot of learning to the user. Fortunately, you’ve found this book, which will save youtime and mistakes! This book has years of collected wisdom from many experiencedprogrammers, distilled to just what you need to know, when you need to know it.Go is an excellent choice for systems programming, where you might otherwise chooseJava, C or C++ for performance reasons. And it’s not a stretch to say that Go is one ofthe main languages of cloud computing, with a strong presence in distributed systemsand microservices architectures. Here are some key use cases for choosing Go:● Building high performance networked applications. Go is great for building APIservers, microservices, and all types of HTTP services among other things. It’snot limited to HTTP, of course, it’s equally capable of speaking protocols likeRPC and interchanging data in every format you can think of.● Building heavy-duty systems applications. A number of databases—includingdistributed high-performance databases—have been written in Go recently. Indecades past, most of those would have been written in C or C++.● Cloud migrations. A lot of companies undertake a rewrite at the same timethey move to the cloud, instead of just lift-and-shift. Go is a popular languagefor this because of its simplicity, making it highly productive. A common joke isthat you get a Go programmer by letting a Java programmer use Go and theynever want to write in any other language again.● Anywhere high-throughput, high-concurrency, low-latency, low-variabilityperformance is desired for great customer experience. This typically is a goodfit for applications whose workload is directly user-facing at scale, where realpeople are expecting interactive responsiveness from your application, andwill be dissatisfied otherwise.Go is also popular for tasks where you would otherwise use dynamic scriptinglanguages such as Python and Ruby, which give you simplicity, clarity and flexibilitybut not high performance. Go gives you many of the best features of theselanguages, and some properties not present in any of them.We use Go extensively at VividCortex. It’s the language that powers all of our publicandinternal-facing services, which typically speak either HTTP or RPC tocommunicate with each other, and ingest more than half a billion data points aminute—and growing fast. It also powers our distributed time series database, acustom-built backend database that uses MySQL under the hood as a storageengine. And we use it for lots of utilities too, such as programs to take backups.Go includes a standard library of code for tasks such as encryption, networking,filesystem access, and database access. The database access library is calleddatabase/sql , and like the rest of Go, is elegant and minimal, with just enoughbatteries included. It does heavy lifting and repetitive tasks for you, such asconnection pooling and retries on errors. But it doesn’t bury its internals inabstractions, so your code remains explicit and magic-free.Congratulations on choosing Go and database/sql , and on finding this book, whichcovers up to Go version 1.12. Let’s get started right away!
Data sheet
- Language
- English