M/Wire is an Open Source TCP-based protocol for accessing and manipulating GT.M or Caché databases. M/Wire opens up these unique and powerful, high-performance, massively-scalable, schema-free databases for use by the NoSQL community.
M/Wire exposes all the primitive commands for creating, editing, searching and deleting the persistent, hierarchical sparse array data structures of GT.M and Caché, through a simple to use, easy to parse, language-neutral wire protocol. When using M/Wire, GT.M and Caché databases appear identical in functionality, so a client interface or language binding that is built on top of M/Wire will work with and behave identically on both database technologies.
M/Wire is modelled on the protocol used in the Redis key-value database, but has been adapted for manipulating the unique hierarchical array structures of GT.M and Caché. As with Redis, the protocol is designed to be fast, easy to parse by a computer yet also easy to understand by a human.
Using M/Wire, it will be possible for developers to easily create client interfaces to and bindings for GT.M and Caché in pretty much any language. We have developed M/Wire in the interests of opening up more awareness of the amazing power, performance, scalability and adaptability of the schema-free hierarchical NoSQL database that underpins both GT.M and Caché. We're looking forward to seeing examples of the many different potential ways in which the basic hierarchical database structures can easily be projected, including:
M/Wire is a Free Open Source product, licensed under the GNU Affero General Public License Version 3.
The initial release is a beta version. As such, any feedback, comments, suggestions etc are welcomed.
Please let us know if you develop a language binding or interface to GT.M and Caché using M/Wire and we'll publicise it here.