Towards Intra-Datacentre High-Availability in Clouddbappliance

Towards Intra-Datacentre High-Availability in Clouddbappliance

Towards Intra-Datacentre High-Availability in CloudDBAppliance Luis Ferreira, Fabio´ Coelho, Ana Nunes Alonso and Jose´ Pereira INESC TEC & Universidade do Minho, Braga, Portugal Keywords: CloudDBAppliance, High-Availability, Replication. Abstract: In the context of the CloudDBAppliance (CDBA) project, fault tolerance and high-availability are provided in layers: within each appliance, within a data centre and between data centres. This paper presents the proposed replication architecture for providing fault tolerance and high availability within a data centre. This layer configuration, along with specific deployment constraints require a custom replication architecture. In partic- ular, replication must be implemented at the middleware-level, to avoid constraining the backing operational database. This paper is focused on the design of the CDBA Replication Manager along with an evaluation, using micro-benchmarking, of components for the replication middleware. Results show the impact, on both throughput and latency, of the replication mechanisms in place. 1 INTRODUCTION There are a number of different models for database replication that mainly differ on: whether transactions CloudDBAppliance aims at delivering a database ap- are executed at each replica, or just at one while others pliance (software and hardware), leveraging the capa- apply updates; and how (if at all) replicas are allowed bilities of newer hardware by incorporating NUMA to diverge. awareness, terabyte-scale in-memory processing and In this paper we present the architecture of high-availability. This paper focuses on how to pro- the replication middleware for CloudDBAppliance vide a highly available configuration using resources along with the motivating design constraints. Sec- available within a data centre. Simply put, the goal tion 2 covers background on replication and fault- is to guarantee that if an appliance fails, a standby tolerance mechanisms. Section 3 introduces the high- is available to take over, powering a transparent ex- availability middleware, with Section 4 showing the ecution scenario for the client, thus hiding faults preliminary results on the selected replication mech- and maintaining the perceived quality of service. anisms. Section 5 concludes the paper and overviews The operational database is the fulcrum of the high- the major takeaways. availability effort, as it holds the data that needs to be persisted, either if used directly by an external appli- cation or along with an in-memory many-core analyt- ics framework (also a part of the project), providing it 2 BACKGROUND with the necessary data. Replication is often presented as the solution to Replication protocols are often divided into two dis- achieve highly dependable database services. Exist- tinct approaches: active and passive replication. Ac- ing database replication architectural models should tive replication protocols follow the state-machine ap- then be examined to determine to what extent their as- proach (Schneider, 1990) where the database is con- sumptions, strengths and weaknesses hold in this type sidered to behave like a state-machine in which each of scenario. Namely, the consistency guarantees that operation deterministically causes a change in state: can be afforded, the cost to do so in terms of latency each operation is forwarded to every replica, which and processing resources, and their implementation then executes it. In order for this approach to be ap- cost, should be analysed. Ensuring high availability plicable, operations must be guaranteed to be deter- within a datacentre requires defining a replication al- ministic, precluding the usage of current time values gorithm that, in case of a failure, enables the failover and random numbers, as these would likely differ be- of the operational database to a consistent and up-to- tween replicas. date standby replica, running in a different appliance. In contrast, in passive replication protocols, com- 635 Ferreira, L., Coelho, F., Alonso, A. and Pereira, J. Towards Intra-Datacentre High-Availability in CloudDBAppliance. DOI: 10.5220/0007876306350641 In Proceedings of the 9th International Conference on Cloud Computing and Services Science (CLOSER 2019), pages 635-641 ISBN: 978-989-758-365-0 Copyright c 2019 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved ADITCA 2019 - Special Session on Appliances for Data-Intensive and Time Critical Applications monly referred to as primary-backup, only the pri- tocol. This is costly, particularly in churn-prone envi- mary replica executes the transaction, propagating the ronments. transaction’s write set to other replicas. The primary’s native database engine concurrency control decides which transactions to commit or abort, and in which order. To ensure that replicas remain consistent, these must know or decide on the same serialization or- der as the primary. In a multi-primary setting, i.e., where, for example, different replicas may have the role of primary for different parts of the data, each transaction still executes in a single primary, but hav- ing several primaries means that these must agree on a total order for transaction execution, as a transac- tion might update data owned by multiple primaries. Figure 1: Strategies for database replication. If replicas apply updates according to that total or- der, strong consistency is guaranteed. Group com- Having stand-by failover replicas might avoid munication protocols that guarantee message deliv- most runs of the leader election protocol, but at the ery with appropriate semantics, which are instances cost of increasing the number of replicas that need of the abstract consensus problem (Guerraoui and to be updated in each transaction, thereby increas- Schiper, 2001), can be used for that purpose. In ing network utilization and generally increasing the (Wiesmann et al., 2000), the authors compare differ- number of nodes in the system without a correspond- ent approaches for replication as well as the primitives ing improvement in system throughput. Update- needed in each case and a survey of atomic broadcast everywhere protocols avoid this issue because all algorithms can be found in (Defago´ et al., 2004). replicas are equivalent. Again, replicas must apply updates according to the defined total order to guar- Because the total order property guarantees that antee correctness. Database replication protocols can all replicas receive the same set of messages and that also be classified in terms of when the client is noti- messages are delivered in the same order to all repli- fied that the transaction has been committed: in ea- cas, the transaction order can be established simply ger (synchronous) replication protocols, the client is by sending the transaction identifier (along with other only replied to after all replicas have committed the relevant metadata) to the group; if transactions are transaction (using, e.g., two-phase commit (2PC)), queued in the same order in which the respective mes- which can be costlier in terms of latency but provides sages are delivered, the queues at each replica will stronger consistency; lazy (asynchronous) replication be identical and can be considered as instances of a protocols reply to the client as soon as the transac- replicated queue. Because active replication requires tion has committed in some replica, later propagating every replica to execute every transaction, if non- updates to other replicas, providing weaker consis- determinism in transactions is allowed and strongly tency because of potential temporary divergence be- consistent replication is a requirement, performance tween replicas. An alternative definition is to consider is limited by the slowest replica in the group. While whether updates are propagated to other replicas be- passive replication protocols do not suffer from this fore the transaction is committed at the primary using limitation, transferring large write sets across the net- a primitive that guarantees delivery and the appropri- work to several replicas can be costly. Protocols that ate message order properties needed by the protocol. combine active and passive replication have been pro- Figure 1 depicts distinct strategies for a replicated posed (Correia Jr et al., 2007). There have also database system and how replication can be imple- been proposals for mitigating the limitations of state- mented at that level: machine replication, namely by implementing spec- • SQL-based, at a middleware layer, above the ulative execution and state-partitioning (akin to par- database engine layer; tial replication) (Marandi et al., 2011) and eschew- • Log shipping, at the database engine layer; and ing non-determinism by restricting valid execution to a single predetermined serial execution (Thomson • Block Device, at the storage layer, below the and Abadi, 2010). Using primary-backup (and multi- database engine layer. primary), ownership of data partitions must be guar- Active replication can be implemented above the anteed to be exclusive. This means that when the pri- database engine layer by reliably forwarding SQL mary fails, the database must block until a new pri- statements from clients to all replicas, handling syn- mary is found, usually through a leader election pro- chronization/recovery at this level, when needed. 636 Towards Intra-Datacentre High-Availability in CloudDBAppliance HA-JDBC (High Availability JDBC) (Paul Ferraro, 3.1 Architecture Overview 2014) is an open source tool that can be used to im- plement

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us