What Is Tungsten?
Tungsten is an open source stack for deploying and operating horizontally scaled database clusters, also known as database scale-out. Scale-out works by spreading data across multiple, independent database servers connected through a network. The model offers an intuitive, incremental approach to solving the following important database problems:
- Preventing data loss though up-to-date replica databases and coordinated backups
- Increasing overall application availability by providing rapid database failover
- Raising performance and through-put by dispatching read traffic to replicas
- Integrating data between heterogenous systems, for example to support scaling of commercial databases using low-cost open source databases.
Scale-out implementation involves a number of complexities, including creating and maintaining replicas, managing resources spread across many hosts, and working around important theoretical problems such as maintaining data consistency when databases are spread over multiple hosts. Tungsten offers a set of carefully factored components that address these problems in a systematic and inituitive way. Tungsten clusters offer superior management while minimizing application changes required to use scale-out effectively.
Tungsten Replicator Implements database-neutral, master/slave replication. Tungsten Replicator has a flexible architecture that allows rapid addition of new database types. Robert Hodges' blog on Replicator: http://scale-out-blog.blogspot.com/2008/08/answering-montys-challenge-advanced.html.
Tungsten Manager Group-communication based framework for managing cluster resources. Tungsten Manager offers broadcast commands and effecient management of groups of JMX-enabled network services as well as operating system processes.
Tungsten Connector A powerful proxy for MySQL and PostgreSQL client programs. The Connector converts native wire protocol requests to JDBC calls and serves as a "front door" to clustering logic implemented in JDBC drivers. Robert Hodges' blog on Tungsten Connector: http://scale-out-blog.blogspot.com/2008/05/myosotis-connector-fast-sql-proxy-for.html.
Tungsten SQL-Router A JDBC wrapper that adds high-performance and transparent failover, load-balancing, and partitioning to native JDBC drivers. The SQL Router uses an innovative dispatch mechanism to assign database connections based on application requirements for data consistency and availability. Robert Hodges' blog on SQL Router: http://scale-out-blog.blogspot.com/2009/03/implementing-relaxed-consistency.html.
Tungsten Monitor A pluggable monitoring service that checks and broadcasts state of individual resources in the cluster. The Tungsten Monitor supplies up-to-date data required for administration and SQL routing to work efficiently and correctly. Robert Hodges' blog on Tungsten Monitor: http://scale-out-blog.blogspot.com/2009/03/announcing-tungsten-monitor.html.
Tungsten integrates and depends Tungsten Lab Projects, which supply additional logic but are not full services within Tungsten clusters. They are interesting projects in their own right. For more information, please consult the Tungsten Lab Projects overview.
|