Data Grid Embraces Emerging ‘Go’ Language
Google’s Go language, or Golang, continues to gain traction for distributed cloud computing deployments. Launched in 2009, proponents assert it has emerged as a preferred programming language for developers deploying cloud infrastructure.
Data distributors are now jumping on the Go bandwagon with tools designed to give developers the ability to integrate large data sets with cloud-based applications. Those tools take advantage of the programming language’s portability and networking features that lend themselves to building cloud-native applications tied to big data.
The latest example comes from in-memory data grid specialist Hazelcast Inc., which this week unveiled a Go client for client-server deployments of it flagship data grid. Hazelcast, Palo Alto, Calif., said theirs is the first in-memory data grid available to the growing legion of Go developers.
The new client uses the company’s open protocol running on the latest version of its in-memory data grid and supports the version 1.6+ edition of the Go programming language. The new client also supports access to distributed maps, which is intended to boost the availability of memory caching.
Hazelcast said Tuesday (Jan. 30) future versions of its Go client to be released through 2018 would add data structures such as Multimaps and Queues. The initial version of the Go client includes distributed structures designed to help developers roll out distributed caching, computing and micro-services.
As more public cloud vendors such as Google (NASDAQ: GOOGL) and Amazon Web Services (NASDAQ: AMZN) implement Go into their infrastructure, the language also is gaining currency among developers implementing open-source services like Kubernetes container orchestrators. In addition, developers are using it for implementing distributed networking services, Hazelcast noted.
The transition to cloud-centric programming languages such as Go also illustrates how data platform vendors are expanding their cloud strategies to help developers build data-driven applications on different cloud services. Along with Go, Hazelcast notes that its open-source data grid supports a growing list of open client languages that include Node.js, Python and Scala.
Developers laud the Go language for its concurrency and networking features. For example, concurrency support allows developers to squeeze more efficiency out of processors. Along with cloud infrastructure, the language is gaining adherents for deploying distributed systems and micro-services.
The Hazelcast in-memory data grid server runs on Java virtual machines, with four or more servers performing as a cluster. Data storage is distributed across the available servers. Scaling is achieved as more servers join the cluster.
The cluster “can be regarded as a server layer, and a Go routine can connect to it as a client to retrieve data, process retrieved data, and to save retrieved data back to the cluster,” the company said in a tutorial for Go developers.
The Hazelcast Go client is available here on Github.