Newsletters older than 6 months may have links that are out of date. Please use the Search to check for updated links.
As online business applications grow in popularity and importance, keeping systems up and running continuously is part of the expected norm. Nearly every business is looking for more reliable infrastructures. Your customers expect your systems to be online 24/7, whether you're a small retailer or a global conglomerate. Database servers play a significant role in today's online business applications and are increasingly called upon to provide highly reliable, scalable performance for client connectivity and transactional support. Today's cornerstone application platforms must meet a number of technical requirements:
· The service must always be accessible and prepared to meet performance scalability requirements.
· Failure recovery without data loss must be short, predictable and transparent to the applications and clients.
· Transaction ACID properties (Atomicity, Consistency, Isolation and Durability) must be maintained.
Data replication techniques that are currently in use by commercial database servers and by the MySQL database server, are typically based on an asynchronous (lazy) master/slave paradigm. In this widely adopted replication model, the database changes are propagated to the database replicas (or slaves) only after they have been committed on the master server. While this technique can help database systems to meet some of the availability requirements, it has the disadvantage that there are definite periods during which the master database and one or more slaves can be in inconsistent states with different values. This fundamental problem prevents the database vendors from offering performance scalability and highly available database clusters for modern applications.
Although many vendors attempt to address these needs, corporations are finding that most of the solutions that are available today are inadequate:
· Today’s many 3rd party high availability and clustering products for MySQL database server typically present only a partial solution, and often expose the enterprise to further downtime and the risk of lost transactions and critical data.
· Some solutions for commercial databases, such as Oracle´s synchronous replication, can address the risk of data loss, but are not practical in live environments due to an unacceptable performance loss.
· With more advanced solutions, such as Oracle Real Application Cluster (RAC), the overall cost limits the implementations to only large organizations.
Real application clustering through replication
Application clustering technology makes the company's databases perform faster and more reliably than before. Application clustering allows businesses to harness multiple servers to serve a very high number of users, allowing servers to share work or take over from each other if one fails.
With Emic Application Cluster architecture, new client connections are distributed to any active server by using EAC´s IP clustering and load balancing technology. The server that accepts the new connection will act as the master for the requests submitted by the client. The master will directly execute any read requests and will synchronize write requests with the other servers. Unlike the typical two-phase commit mechanism for synchronous replication, EAC does not require any additional acknowledgments from remote databases, since the EAC replication engine, together with its group communication protocol and close integration with the MySQL daemon, make sure that all SQL statements that require replication are delivered to and performed in the same order by all MySQL daemons.
This unique combination of IP load balancing and group communication based replication is also one of the key reasons why EAC does not deteriorate database performance the way that existing synchronous models do, while still ensuring strict consistency between all replicas.
Emic’s Cluster Manager incorporates fault management technology, which allows automated, fast failover where remaining cluster nodes take over the load of the failed node(s). The Cluster Manager also allows the shutdown of any node for maintenance purposes, without service interruption. Automation of cluster node management, based on a variety of load statistics and other application and environmental factors, can be used to manage the emic application cluster as a grid computing resource
“Emic Application Cluster is a transparent middleware solution and requires no changes to the underlying operating system or overlaying applications.”
More information: www.emicnetworks.com