/ LAB NOTES / ENGLISH
Building a Multi-Protocol NewSQL Database in Go: Updated English and Japanese Editions

I have updated the English and Japanese editions of my book on NewSQL database design and implementation.
The English edition, Building a Multi-Protocol NewSQL Database in Go: From Transactional Storage to Compatible Protocols and Distributed Operations, uses PuzzleDB as a concrete case study. The Japanese edition is titled 作って学ぶNewSQLデータベース.
On this page3 sections
Multiple protocols, shared internals
A database brings together query processing, data models, indexes, transactions, storage, and coordination across nodes. The book examines how to separate those responsibilities and how requests move across the resulting boundaries.
PuzzleDB is an open-source NewSQL database implemented in Go and released as a Technology Preview. Its PostgreSQL-, MySQL-, Redis-, and MongoDB-compatible APIs are isolated in Query Plugins. Those plugins connect to a common internal document model and an ordered key-value store.
This architecture provides the book’s central thread: how can different client interfaces share internal processing while keeping their protocol-specific behavior separate?
From representation to operation
The discussion begins with NewSQL design principles and reference architectures, then follows the implementation through data modeling, key and value encoding, indexes, consistency, and transactions.
The protocol chapters examine connection handling, authentication, parsing, execution, and result conversion. They also describe compatibility scope and limitations, so readers can distinguish protocol support from reproducing an entire database system.
Later sections cover distributed coordination, authentication and TLS, management APIs, metrics, and tracing. Testing and performance evaluation receive their own treatment, including how to separate measurement conditions across layers and identify where processing costs arise. The book also explains plugin extension and provides build and configuration references.
I wrote it for engineers with RDBMS or NoSQL experience who want to study database implementation, protocol-compatible servers, or layered systems in Go. Familiarity with SQL, transactions, client-server communication, and Go interfaces will help with the implementation discussions.
