TransPeer: adaptive distributed transaction monitoring for Web2. 0 applications (original) (raw)

TransElas: Elastic Transaction Monitoring for Web2. 0 Applications

Data Management in Cloud, Grid and P2P …, 2012

Web 2.0 applications as social networking websites deal with a dynamic and various transaction workload. A middleware approach can be considered as a suitable solution for facing those various workloads. However, even if the middleware resources may be distributed for scalability and availability, they can be a bottleneck or underused when the workload varies permanently. We propose a solution that allows to add and remove dynamically resources of a distributed middleware. The proposed solution permits to handle transactions rapidly while using few middleware resources to reduce financial costs. Actually, we design an elasticity mechanism that distributes almost uniformly the transaction workload among the existing resources and adjusts the optimal number of nodes according to the workload variation. A simulation with cloudSim shows the effectiveness of our solution and its benefits.

Replicated Database Transactions Processing in Peer-To-Peer Environments

2011

We propose a decentralized approach to processing transactions in a replicated database, under partial replication in Peer-To-Peer (P2P) environments. In order to solve problems of concurrent updates, we propose an architecture based on quorums, this architecture allows assigning a unique timestamp to each distributed transaction in order to built local precedence order graph is from at each peer , to select the servers replicas and to coordinate the distributed execution of the transaction.

Failure-tolerant transaction routing at large scale

Advances in Databases …, 2010

Emerging Web2.0 applications such as virtual worlds or social networking websites strongly differ from usual OLTP applications. First, the transactions are encapsulated in an API such that it is possible to know which data a transaction will access, before processing it. Second, the simultaneous transactions are very often commutative since they access distinct data. Anticipating that the workload of such applications will quickly reach thousands of transactions per seconds, we envision a novel solution that would allow these applications to scale-up without the need to buy expensive resources at a data center. To this end, databases are replicated over a P2P infrastructure for achieving high availability and fast transaction processing thanks to parallelism. However, achieving both fast and consistent data access on such architectures is challenging at many points. In particular, centralized control is prohibited because of its vulnerability and lack of efficiency at large scale. Moreover dynamic behavior of nodes, which can join and leave the system at anytime and frequently, can compromise mutual consistency. In this article, we propose a failure-tolerant solution for the distributed control of transaction routing in a large scale network. We leverage a fully distributed approach relying on a DHT to handle routing metadata, with a suitable failure management mechanism that handles nodes dynamicity and nodes failures. Moreover, we demonstrate the feasibility of our transaction routing implementation through experimentation and the effectiveness of our failure management approach through simulation.

A Scalable Peer-to-Peer Architecture for Distributed Information Monitoring Applications

We present PeerCQ, a decentralized architecture for Internet scale information monitoring using a network of heterogeneous peer nodes. PeerCQ uses Continual Queries (CQs) as its primitives to express information-monitoring requests. The PeerCQ development has three unique characteristics. First, we develop a systematic and serverless approach to large scale information monitoring, aiming at providing a fully distributed, highly scalable, and self-configurable architecture for scalable and reliable processing of a large number of CQs over a network of loosely coupled, heterogeneous, and possibly unreliable nodes (peers). Second, we introduce an effective service partitioning scheme at the P2P protocol layer to distribute the processing of CQs over a peer-to-peer information monitoring overlay network while maintaining a good balance between system utilization and load balance in the presence of peer joins, departures, and failures. A unique feature of our service partitioning scheme is its ability to incorporate strategies for handling hot spot monitoring requests and peer heterogeneity into the load balancing scheme in PeerCQ. Third, but not least, we develop a dynamic passive replication scheme to enable reliable processing of long-running information monitoring requests in an environment of inherently unreliable peers, including an analytical model to discuss its fault tolerance properties. We report a set of experiments demonstrating the feasibility and the effectiveness of the PeerCQ approach to large-scale peer-to-peer information monitoring.

Concurrent execution of transactions in a peer-to-peer database network

International Journal of Intelligent Information and Database Systems, 2011

This paper presents a process of executing concurrent transactions in a peer-to-peer database network. A peer-to-peer database network is a collection of autonomous data sources, called peers, where each peer augments a conventional database management system with an interoperability layer (i.e., mappings) for sharing related data. Transaction execution in such a system specifies an update made to a peer's instance is applied to the peer's local database instance and propagated to all other related peers. Maintaining a successful execution of a transaction in a peer-to-peer database network is challenging due to the dynamic behavior of peers. Also, due to the unstructured topologies of networks, it is difficult to obtain the global knowledge concerning the execution status of a transaction. In this paper, we present a decentralized transaction execution process that guarantees the correct execution of a transaction without relying on any global coordinator. According to the process, a transaction is propagated in the network using pair-wise communication and a peer which executes a transaction provides the local execution information of the transaction to the initiator of the transaction. The initiator of a transaction plays important roles for the successful execution and termination of a transaction. Moreover, transactions originated from different peers may involve in conflict during their execution in the network. In this paper, we also show a process to resolve conflicts using a universal leader election algorithm, called Mega-Merger.

Scalable Transactions for Web Applications in the Cloud

2009

Cloud computing platforms provide scalability and high availability properties for web applications but they sacrifice data consistency at the same time. However, many applications cannot afford any data inconsistency. We present a scalable transaction manager for cloud database services to execute ACID transactions of web applications, even in the presence of server failures. We demonstrate the scalability of our system using a prototype implementation, and show that it scales linearly to at least 40 nodes sustaining a maximum throughput of 7286 transactions per second.

Cloud TPS Scalable Transactions for Web Applications in the Cloud

NoSQL Cloud data stores provide scalability and high availability properties for web applications, but at the same time they sacrifice data consistency. However, many applications cannot afford any data inconsistency. CloudTPS is a scalable transaction manager which guarantees full ACID properties for multi-item transactions issued by Web applications, even in the presence of server failures and network partitions. We implement this approach on top of the two main families of scalable data layers: Bigtable and SimpleDB. Performance evaluation on top of HBase (an open-source version of Bigtable) in our local cluster and Amazon SimpleDB in the Amazon cloud shows that our system scales linearly at least up to 40 nodes in our local cluster and 80 nodes in the Amazon cloud.

Scalable strong consistency for web applications

Proceedings of the 11th …, 2004

Web application workloads are often characterized by a large number of unique read requests and a significant fraction of write requests. Hosting these applications drives the need for the next generation CDN architecture that does more than caching the results of Web applications but replicates both the application code and its underlying data. We propose the design of a system that guarantees strong consistency for Web applications with high scalability. The proposed system is based on partial replication, where data units are replicated only to servers that access them often. This reduces the consistency overhead as updates are sent to a reduced number of servers. The novelty of our system is that the proposed partial replication is performed by the system automatically by analyzing the system's access patterns periodically. We explore the design space of this system, find the key issues that need to be addressed to build it and propose solutions to solve them. We further show that the proposed algorithms offer significant performance gains compared to existing solutions for a wide range of Web access patterns.

GlobeDB: Autonomic data replication for web applications

Proceedings of the …, 2005

We present GlobeDB, a system for hosting Web applications that performs autonomic replication of application data. GlobeDB offers data-intensive Web applications the benefits of low access latencies and reduced update traffic. The major distinction in our system compared to existing edge computing infrastructures is that the process of distribution and replication of application data is handled by the system automatically with very little manual administration. We show that significant performance gains can be obtained this way. Performance evaluations with the TPC-W benchmark over an emulated wide-area network show that GlobeDB reduces latencies by a factor of 4 compared to non-replicated systems and reduces update traffic by a factor of 6 compared to fully replicated systems.

Towards a temporal World-Wide Web: a transaction-time server

Proceedings 12th Australasian Database Conference. ADC 2001

Transaction time is the time of a database transaction, i.e., an insertion, update, or deletion. A transactiontime database stores the transaction-time history of a database and supports transaction timeslice queries that retrieve past database states. This paper introduces transaction time to the Worldwide Web. In a web context, transaction time is the modification time of a resource such as an XML document. A transaction-time web server archives resource versions and supports transaction timeslice. Unlike a database server, a web server is typically uninvolved in the update of a resource, instead it is only active when a resource is requested. This paper describes a lazy update protocol that enables a web server to manage resource versions during resource reads. An important benefit of our approach is that transaction-time can be supported by a transparent, minimal web server extension; no changes to legacy resources, HTTP, XML, or HTML are required. Furthermore, a web server can seamlessly become a transactiontime sever at any time without affecting or modifying the resources it services or other web servers.