Strategies for MySQL performance and fault tolerance

Size: px
Start display at page:

Download "Strategies for MySQL performance and fault tolerance"

Transcription

1 Strategies for MySQL performance and fault tolerance You already have complexity in your application tier -- keep it there and relegate MySQL to a simple, durable record store. For fault tolerance, the strategies and pitfalls of various replication/cluster configurations are discussed Ryan Mitchell <rjm@tcl.net> Telecom Logic, LLC. Reproduction prohibited without consent from author. Table of Contents Preface...1 Design a simple data model...1 Propose a replication and fail-over scheme...3 Failure modes...6 Audit your queries...7 Specific example of MySQL setup and hardware...8 Client logic for fail-over and load-balancing...9 Additional advice for high availability...9 Conclusion...10 Preface This article will help you achieve performance, scalability, and fault tolerance for your database driven application by looking at design choices for your application layer, data models, load-balancing and fail-over strategies. Recent (c. 2011) releases and distributions of MySQL server come with reasonable default settings that will give you good performance on modern hardware for most applications out there in the wild, with the exception of innodb_buffer_pool set needlessly low given the abundance of server memory most machines have. From that starting point, there are many websites that provide loads of information on tuning the myriad of MySQL and OS variables, as well as strategies for building your web scale application. One of my favorites is It's easy and fun to get lost delving into the depths of performance tuning. But there's a good chance it's unneeded and you should really just get along with programming the rest of your application. So, when should you dive in? Don't optimize too early; however do read this article and put a lot of design into your application layers and data models that will enable scalability and performance. This article assumes a basic familiarity with MySQL replication modes and n-tier application design. Design a simple data model The most important advice for enabling database performance and scalability is to keep your data model and queries as simple as possible. Your application tiers are already complex; keep the complex

2 data models and operations there, where it belongs. Take a page from the no-sql camp and try to relegate your database to a simple, durable record store. Avoid complex table relationships (don't try to mirror your class hierarchy, or attempt complex mapping with an ORM system). Avoid stored procedures and triggers, except in trivial cases to enforce basic data sanity. These are design goals that are easier stated than realized, not hard requirements, but will pay dividends when your application needs to scale and perform at Facebook levels. Why you want a simplified database tier is easy to justify: you're offloading work from your database engine, and a simple system is easier to understand and hence manage and optimize. How you get to that optimum will be harder, especially if you have an existing spaghetti monster of a data model in your application. If it's early in the design cycle, fight for simplicity everywhere you can. Don't overengineer, and don't fall into the trap of using design patterns just for the sake of using them. The main strategy is this: Concentrate code that maps your application data model to a simpler one in a data access object (DAO) layer. If it's ugly code, fine, you can clean it up later, but you'll be happy to have it in just one place. When designing class hierarchies, think about how you can map objects into simple recordswith-properties that can be handled by external systems. You may already be forced into this step because you have a public RESTful/JSON service allowing access to services and record manipulation. Or, you are using an external caching system that requires you to serialize your objects in a format that other processes can make use of. In those cases, JSON is a good format because you are using a type system that is directly mappable to SQL data types now you can write a database schema that simply stores those JSON attributes. The complexity in your code is often unavoidable; for various reasons (examples given above) you will need a simpler and externalizable data model. Use this to your advantage in the database tier and forget about how Enterprise object persistence should be done. Your DAO system allows you to deal with this mapping in a single place. Once you have this working, you now have the proper place in your code where you can add caching and take advantage of all the copious memory your servers have. Caching is a non-trivial endeavor when you have to take into account transactions and high concurrency; there are now lots of good products and tutorials available to help you on your way. Partial system diagram that illustrates how you need to build a layer that maps your application data model into something simpler digestible by external systems.

3 The most important feature you can add to a DAO system outside of caching, for database performance, is concurrency control. The primary reason to manage concurrency at the DAO level is because the disk-based database system doesn't scale with concurrent queries the same way your CPU does crunching through L1 cached code and data. You could configure MySQL to buffer your entire data set, but for the sake of argument let's assume that it's not, or is not 100% of the time. Whereas 10 CPU bound threads may each run at 1/10th the speed multitasking on a single core, that kind of concurrent disk access may grind your database to a crawl. For example, a simple query to update a single record may take 20ms on average to complete, but if a long-running OLAP query comes along (thrashing buffers and disk read/write heads), your previously query could take much longer than 40ms, the time you'd expect in the ideal case. Simplified picture to illustrate the point: your application, using CPU resources, is better suited to handle concurrency than an RDBMS dealing with limited disk I/O. Coding your DAO system to limit concurrency allows you to ensure the maximum (or fair) performance for the most amount of requests, and avoid the limitations of the RDBMS's and operating system's I/O schedulers. Study the Actor model for the basic design idea; limited sized thread pools and message queues are the key components. Depending on who is requesting, you can prioritize queries as needed. This gives you some built-in protection against a denial-of-service attack designed to overload your resources. Side node on concurrency and user interfaces: perform operations asynchronously as much as possible. If the user/client doesn't absolutely need to hang around for a transaction to finish, don't force them to. Put requests into priority queues and let your DAO system manage them as it sees fit. Many of these ideas could be implemented in a feature rich RDBMS, but since you're implementing many of them in your application anyway, don't. (If your application is simple enough for a 2-tier architecture, then this article is overkill).

4 Propose a replication and fail-over scheme Now that your data model is as simple as possible, you need to think about how your software will query that data in the database. The types of queries performed, access patterns, and transactional requirements strongly shape your options for clustering and tuning. Scenario #1: hard transactional and consistency requirements, low read/write ratio When the software commits a transaction, data must absolutely not be lost, and immediate subsequent reads from any database server in the cluster must provide consistent results. In this case you will have limited write concurrency available. In fact, the more replicated database servers you have, the slower the system becomes since transactions need to complete everywhere to ensure consistency (you will need the MySQL cluster product if you truly need synchronous replication). Even if a single server is powerful enough to handle the load, you still need to invest in a replicated secondary server to use in case of fail-over. This could be a banking application, or it could describe a subset of your system. Scenario #2: eventual consistency is tolerated, good read/write ratio You want committed writes to make it to disk 99.99% of the time, but are willing to compromise some data safety for performance. In this case, read-only database slaves can be added as needed to handle the load. Multiple masters can be used to load balance writes as well. After a write on one of the masters, the database cluster eventually becomes consistent most of the time within a second, but sometimes much longer, and this is not a major problem. The starting point for your replication and fail-over scheme will be a simple master-master 2 node cluster, using MySQL replication. This setup benefits either scenario, and is the simplest setup that allows you to easily fail-over from one server to the other as needed. The following advice and usecases are noted: (1) perform all or most transactional (OLTP) queries, such as simple record updates and reads, on one of the servers; call this server the primary, and strive to keep it up and running all year long. (2) perform longer running OLAP style queries on the other server (call this server the secondary), which will be unloaded most of the time. This prevents interfering with the disks and buffers on the primary. OLAP queries are typically from report generators, or scripts that do batch updates, and don't require the up-to-the-millisecond latest data from the primary. (3) perform backups and other disk-intensive maintenance jobs using the secondary server, which you can take down for full backups as needed. (4) If the master goes down, or is overloaded, clients can start using the secondary immediately; this is in contrast to a hot standby server, that needs to switch modes to become the master (at which point the original master will be no longer available). A note on primary keys when using multiple masters: MySQL has a great feature that allows each node in a cluster of servers to generate unique auto_increment values for each node. See the documentation for the configuration property auto_increment_increment. If you will not use auto_increment columns in your schema, you must devise a scheme to generate unique primary keys no matter which server you are connected to. For example, you could use Java's UUID generators. Without taking this into consideration, you may run into duplicate primary key collisions when multiple clients used multiple servers for inserting new rows. If your data usage patterns are such that you have many more writes than reads, and eventual

5 consistency is tolerated, then you can easily add more replicated nodes to your MySQL cluster. Given that you already have two read/write nodes, you will probably only need to add read-only slaves. Keep in mind that every write that occurs on a master needs to also be written to the read-only slaves, so the slaves still need to have the performance to handle a lot of writes, though it is noted that the load on the read-only slaves will often be less, especially when binary logging is disabled. If you absolutely need more write performance than a single node can handle, even after good hardware choices and server tuning, there are still options. Look at which tables and disks are getting hammered, and then setup another physical disk and move around physical tables to balance the I/O. Next, if needed try to partition your application into one database that handles your non-critical queries and another database that handles the critical ones. Chances are there are only limited data sets and queries where your hard transactional requirements are needed. You will need to reply on explicit twophase committing to coordinate transactions across databases. If you still exceed the performance available in a single server for write transactions, consider using an in-memory database that uses a networked cluster of replicated caches to ensure durability. The following diagram illustrates how I/O and processing can be broken up. Failure modes To augment the previous section, we will look at the most common types of failure you are likely to encounter, and how your architecture choices help or hinder you.

6 (1) Your secondary master goes down, because you took it down for maintenance, such as when you need to do a full offline backup. There are ways to do full backups without needing to stop the MySQL server, but many sites just stop the server for a few minutes while all the data files are tarballed away somewhere safe. Or, for any other planned maintenance window you have; just assume that many times during the year one of your servers will need to be taken offline. The multi-master design handles this case perfectly well. Your primary master stays up the vast majority of the time, and performance and your application will usually not be affected, since that depends largely on the primary master. Planned maintenance should be done during times of low load. (2) One of your MySQL nodes is degraded or inoperable, but otherwise stays up. For example, a disk drive fills up, and MySQL refuses to service any queries until the disk space frees up. Repairing the degraded node is often a manual procedure, and could take some time to discover and deal with. It is very important that your monitoring scripts can detect degraded states, and not just dead services. Below in the section on client logic, we discuss monitoring scripts and fail-over techniques. (3) Replication on one or more slaves stops due to some logical error. For example, replication has gotten out of sync, and the secondary master and read-only slaves do not have consistent data with respect to each other. Depending on how badly your nodes are out of sync, you may need to rebuild the slaves from the primary master's data. This is a time-consuming and probably manual process. Replication status between nodes is clearly something you will want to look at with your monitoring scripts. (4) Human or application error: an evil or otherwise erroneous SQL statement corrupts or deletes a lot of data. This is the worst kind of failure, because it can be indistinguishable from normal database operations, and the problem gets replicated to all of you nodes and eventually onto backup files. (Which, incidentally, is why you want to keep multiple backup archives from various points in time). There is nothing in this architecture or any other that protects you from this type of event. The way to protect yourself is to have the master's binary logfiles ready and available to help do a point-in-time recovery. (5) Your website and application get hammered either by hoards of adoring fans, or from a denialof-service (DoS) attack. There is no easy solution to massive DoS attack, but certainly the whole point of your architecture is to help you scale to handle the Facebook type of loads you hope will come. With proper load balancing and available slave nodes in addition to effective application-level caching as described above, you should be able to weather large storms. If you have huge, unpredictable spikes in load, consider deploying your database cluster in a virtual server farm, where you can spin-up new read-only slaves quickly. (6) You have some kind of hardware failure. When choosing your hardware in the first place, if you value your time, spend money on high quality hardware with lots of redundancy. We have had an excellent track record of minimal hardware failures using HP Proliant DL380 servers for databases. Use serial attached SCSI (SAS) drives, and always install them in mirrored pairs. With continuous SNMP monitoring of the hardware, you can usually catch and replace a failed disk drive before it's mirror also fails. Less frequent than disk drives failures are fans and power supplies. Again, these are installed redundantly and can be replaced before they cause you any downtime. The multi-master and multiple read-only slave setup protects you against the most common types of hardware failures. It is unlikely that both masters will encounter hardware failures simultaneously, unless there is cause by a major external event that affects the entire rack in your data center (but, in that case your application and everything else is dead anyway).

7 Audit your queries In as far as you should be querying the database as little as possible since you've followed the advice above regarding data modeling and application-level caching and processing, you will still need to put on your DBA hat and look at the patterns of queries are being sent to the database you can refine your tuning and physical partitioning. Know about, and apply the traditional performance techniques of auditing your queries to make sure you're using indicies when appropriate, employ schema denormalization to improve performance, and take careful measure to ensure that certain transactions aren't holding locks longer than they need to. However, to hammer in the point, your best strategy starts with maintaining a simple data model in the database, so your job to audit and tune queries should be a simple task. A primary product of analyzing your queries and data access patterns is to determine how you can partition some of your data to optimize available I/O to multiple disks. This could mean splitting up a huge logical table into separate physical ones, or arranging your tables across multiple disks so querying against one wont impact the performance of querying others. For some heavily use tables, consider giving them their own dedicated drive. Place logfiles on separate drives. If you are running MySQL on Linux, install atop to look at resource usage of all your disk drives during heavy loads; this tool comes in handy to determine where your I/O or CPU bottlenecks are. Another product of query analysis is to determine if many concurrent queries are causing cache/buffer misses and resulting in an inordinate amount of disk I/O for other queries. If this is the case, and you've already maximized use of MySQL InnoDB buffer space, then go back to your code and limit concurrency as explained above. Be aware that a common performance problem is caused by a small number of queries that scan large tables and trash the buffers, so other queries that really should be using the buffers are slowed down. See the article here on the subject of innodb_old_blocks_time for a way to mitigate this problem. Specific example of MySQL setup and hardware Incorporating the strategies and advice above for the database tier, here is a specific example showing key configuration elements: hardware for read/write masters: HP Proliant DL380 Dual E5440 Xeon processors, 16GB of RAM. Use a SCSI array controller with a battery-back write cache, and 8 disks configured as 4 mirrored pairs to be used as follows: drive pair #1: operating system, MySQL temporary tables and transaction rollback logs (innodb_log_group_home_dir), plus temporary space to make copies of binary logs. drive pair #2: binary log files (log_bin). drive pair #3: InnoDB files for certain critical tables that are accessed and/or scanned frequently I/O access that would otherwise impact performance to other tables were they to share the same disk. drive pair #4: the remainder of InnoDB tables and all other MySQL database files.

8 Use nearly all available RAM for the InnoDB buffer pool (innodb_buffer_pool_size), assuming this server is dedicated to MySQL. Set innodb_old_blocks_time and innodb_old_blocks_pct so OLAP table scans don't kill the benefits of your large InnoDB buffer pool. To avoid double buffering, set innodb_flush_method=o_direct. On the primary, innodb_flush_log_at_trx_commit is set to 1. On the secondary, the value is relaxed to 2. hardware for read-only slaves: HP Proliant DL360 Same configuration as above with few disks, e.g.: drive pair #1: operating system, all MySQL database files and InnoDB tables except the critical ones. drive pair #2: critical InnoDB table files Client logic for fail-over and load-balancing Having multiple read/write masters and other slaves to load balance between requires complex logic for clients to decide which servers to use for which queries, and which servers are alive and happy. You could write your own database code on the client to handle this or, more likely, reply on the services provided by the application server you're using. To implement all of the complex logic to make things reliable may quickly exceed the capabilities of your app container or code you're willing to cram into each client. Since you will probably have multiple clients from different platforms using different languages, it makes more sense to concentrate this logic into a load balancer that performs intelligent monitoring of your MySQL servers. The load balancer haproxy, coupled with some intelligent monitoring scripts, can do a great job of transparently providing an always-on connection to nodes in your MySQL cluster. It's not a trivial solution, but is better than alternatives. Keep in mind the following: (1) Write monitoring scripts to keep haproxy apprised of the status of your database nodes. Simply checking that the MySQL service is up is not sufficient it is often the case that MySQL will accept connections but is slow in servicing them. MySQL could be deadlocked with competing transactions trying to commit, or it could be overloaded and very slow due to I/O contention, or the replication could be slow or very delayed. All of these cases are things you need to explicitly check for; then you can ensure that haproxy will direct your clients to the best possible server. (2) Your clients must be configured to not hold onto connections for too long. haproxy balances TCP connections, and only does this when your client makes a new connection to the database. You still don't want your clients to open & close database connections after every query, but limit this caching to under a minute or so. (3) Configure haproxy to group masters and slaves into port groups so clients, knowing which type of query they are about to execute (OLAP, OLTP, read-only) can select the preferred group. The following illustration shows some of these concepts.

9 Additional advice for high availability The primary way to achieve high availability for any engineering system is to expect failure and then deal with it gracefully. When (not if) your primary master experiences a major failure, you must be prepared to get it back up quickly, and you must have practiced this before the first time it happens. Assume you need to do a point-in-time recovery from an older backup and archived binlogs. How quickly do you think you can make this happen? Here are a few questions (without answers!) to address: how many binlogs to you need to roll forward through? Do you really know how long that will take? (Hint: it could take all day, depending on what's in those binlogs and when the last full backup was completed). Are your backups and binlogs (and backups of the binlogs) readily accessible? If you need to untar some large backup files, do you have a fast and spacious place to do that? If the secondary master replication gets out of sync with the primary, or one of the read-only slaves needs to be rebuilt, do you know how to do this quickly? While you are performing one of these types of recoveries, do your haproxy monitoring scripts know what's going on and can rebalance the load accordingly? Rogue queries that corrupt data may go undetected for a very long time, and will corrupt your backups along with everything else; do you keep old backups so you can rollback to a point before the problem started? Conclusion This article covered almost more space to software architecture than to MySQL design, and that captures the essential point. High complexity already exists, unavoidably, in your application tiers; avoiding a new layer of complexity in the database allows you to get great performance and scalability out of a minimal amount of servers. Avoid database performance problems by not creating them in the first place: aim to use your database as a simple and reliable read/write store for records, and leave data

10 and processing complexity in the application tiers. If you can follow that advice, or at least get 80% towards that ideal, then the servers and MySQL configuration strategies mentioned here will probably be overkill.

MySQL Database Scalability

MySQL Database Scalability MySQL Database Scalability Nextcloud Conference 2016 TU Berlin Oli Sennhauser Senior MySQL Consultant at FromDual GmbH oli.sennhauser@fromdual.com 1 / 14 About FromDual GmbH Support Consulting remote-dba

More information

Choosing a MySQL HA Solution Today. Choosing the best solution among a myriad of options

Choosing a MySQL HA Solution Today. Choosing the best solution among a myriad of options Choosing a MySQL HA Solution Today Choosing the best solution among a myriad of options Questions...Questions...Questions??? How to zero in on the right solution You can t hit a target if you don t have

More information

Switching to Innodb from MyISAM. Matt Yonkovit Percona

Switching to Innodb from MyISAM. Matt Yonkovit Percona Switching to Innodb from MyISAM Matt Yonkovit Percona -2- DIAMOND SPONSORSHIPS THANK YOU TO OUR DIAMOND SPONSORS www.percona.com -3- Who We Are Who I am Matt Yonkovit Principal Architect Veteran of MySQL/SUN/Percona

More information

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona MySQL Performance Optimization and Troubleshooting with PMM Peter Zaitsev, CEO, Percona In the Presentation Practical approach to deal with some of the common MySQL Issues 2 Assumptions You re looking

More information

Data Sheet: Storage Management Veritas Storage Foundation for Oracle RAC from Symantec Manageability and availability for Oracle RAC databases

Data Sheet: Storage Management Veritas Storage Foundation for Oracle RAC from Symantec Manageability and availability for Oracle RAC databases Manageability and availability for Oracle RAC databases Overview Veritas Storage Foundation for Oracle RAC from Symantec offers a proven solution to help customers implement and manage highly available

More information

MySQL High Availability Solutions. Alex Poritskiy Percona

MySQL High Availability Solutions. Alex Poritskiy Percona MySQL High Availability Solutions Alex Poritskiy Percona The Five 9s of Availability Clustering & Geographical Redundancy Clustering Technologies Replication Technologies Well-Managed disasters power failures

More information

MySQL High Availability. Michael Messina Senior Managing Consultant, Rolta-AdvizeX /

MySQL High Availability. Michael Messina Senior Managing Consultant, Rolta-AdvizeX / MySQL High Availability Michael Messina Senior Managing Consultant, Rolta-AdvizeX mmessina@advizex.com / mike.messina@rolta.com Introduction Michael Messina Senior Managing Consultant Rolta-AdvizeX, Working

More information

Storage Optimization with Oracle Database 11g

Storage Optimization with Oracle Database 11g Storage Optimization with Oracle Database 11g Terabytes of Data Reduce Storage Costs by Factor of 10x Data Growth Continues to Outpace Budget Growth Rate of Database Growth 1000 800 600 400 200 1998 2000

More information

Choosing a MySQL HA Solution Today

Choosing a MySQL HA Solution Today Choosing a MySQL HA Solution Today Choosing the best solution among a myriad of options. Michael Patrick Technical Account Manager at Percona The Evolution of HA in MySQL Blasts from the past Solutions

More information

Focus On: Oracle Database 11g Release 2

Focus On: Oracle Database 11g Release 2 Focus On: Oracle Database 11g Release 2 Focus on: Oracle Database 11g Release 2 Oracle s most recent database version, Oracle Database 11g Release 2 [11g R2] is focused on cost saving, high availability

More information

RAID SEMINAR REPORT /09/2004 Asha.P.M NO: 612 S7 ECE

RAID SEMINAR REPORT /09/2004 Asha.P.M NO: 612 S7 ECE RAID SEMINAR REPORT 2004 Submitted on: Submitted by: 24/09/2004 Asha.P.M NO: 612 S7 ECE CONTENTS 1. Introduction 1 2. The array and RAID controller concept 2 2.1. Mirroring 3 2.2. Parity 5 2.3. Error correcting

More information

<Insert Picture Here> MySQL Web Reference Architectures Building Massively Scalable Web Infrastructure

<Insert Picture Here> MySQL Web Reference Architectures Building Massively Scalable Web Infrastructure MySQL Web Reference Architectures Building Massively Scalable Web Infrastructure Mario Beck (mario.beck@oracle.com) Principal Sales Consultant MySQL Session Agenda Requirements for

More information

Oracle E-Business Availability Options. Solution Series for Oracle: 2 of 5

Oracle E-Business Availability Options. Solution Series for Oracle: 2 of 5 Oracle E-Business Availability Options Solution Series for Oracle: 2 of 5 Table of Contents Coping with E-Business Hours Oracle E-Business Availability Options.....1 Understanding Challenges to Availability...........................2

More information

Mladen Stefanov F48235 R.A.I.D

Mladen Stefanov F48235 R.A.I.D R.A.I.D Data is the most valuable asset of any business today. Lost data, in most cases, means lost business. Even if you backup regularly, you need a fail-safe way to ensure that your data is protected

More information

MySQL High Availability

MySQL High Availability MySQL High Availability And other stuff worth talking about Peter Zaitsev CEO Moscow MySQL Users Group Meetup July 11 th, 2017 1 Few Words about Percona 2 Percona s Purpose To Champion Unbiased Open Source

More information

Guide to Mitigating Risk in Industrial Automation with Database

Guide to Mitigating Risk in Industrial Automation with Database Guide to Mitigating Risk in Industrial Automation with Database Table of Contents 1.Industrial Automation and Data Management...2 2.Mitigating the Risks of Industrial Automation...3 2.1.Power failure and

More information

MySQL Performance Improvements

MySQL Performance Improvements Taking Advantage of MySQL Performance Improvements Baron Schwartz, Percona Inc. Introduction About Me (Baron Schwartz) Author of High Performance MySQL 2 nd Edition Creator of Maatkit, innotop, and so

More information

Datacenter replication solution with quasardb

Datacenter replication solution with quasardb Datacenter replication solution with quasardb Technical positioning paper April 2017 Release v1.3 www.quasardb.net Contact: sales@quasardb.net Quasardb A datacenter survival guide quasardb INTRODUCTION

More information

Automated Storage Tiering on Infortrend s ESVA Storage Systems

Automated Storage Tiering on Infortrend s ESVA Storage Systems Automated Storage Tiering on Infortrend s ESVA Storage Systems White paper Abstract This white paper introduces automated storage tiering on Infortrend s ESVA storage arrays. Storage tiering can generate

More information

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona Percona Technical Webinars 9 May 2018

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona Percona Technical Webinars 9 May 2018 MySQL Performance Optimization and Troubleshooting with PMM Peter Zaitsev, CEO, Percona Percona Technical Webinars 9 May 2018 Few words about Percona Monitoring and Management (PMM) 100% Free, Open Source

More information

Scaling Without Sharding. Baron Schwartz Percona Inc Surge 2010

Scaling Without Sharding. Baron Schwartz Percona Inc Surge 2010 Scaling Without Sharding Baron Schwartz Percona Inc Surge 2010 Web Scale!!!! http://www.xtranormal.com/watch/6995033/ A Sharding Thought Experiment 64 shards per proxy [1] 1 TB of data storage per node

More information

Aurora, RDS, or On-Prem, Which is right for you

Aurora, RDS, or On-Prem, Which is right for you Aurora, RDS, or On-Prem, Which is right for you Kathy Gibbs Database Specialist TAM Katgibbs@amazon.com Santa Clara, California April 23th 25th, 2018 Agenda RDS Aurora EC2 On-Premise Wrap-up/Recommendation

More information

InnoDB Scalability Limits. Peter Zaitsev, Vadim Tkachenko Percona Inc MySQL Users Conference 2008 April 14-17, 2008

InnoDB Scalability Limits. Peter Zaitsev, Vadim Tkachenko Percona Inc MySQL Users Conference 2008 April 14-17, 2008 InnoDB Scalability Limits Peter Zaitsev, Vadim Tkachenko Percona Inc MySQL Users Conference 2008 April 14-17, 2008 -2- Who are the Speakers? Founders of Percona Inc MySQL Performance and Scaling consulting

More information

Veritas InfoScale Enterprise for Oracle Real Application Clusters (RAC)

Veritas InfoScale Enterprise for Oracle Real Application Clusters (RAC) Veritas InfoScale Enterprise for Oracle Real Application Clusters (RAC) Manageability and availability for Oracle RAC databases Overview Veritas InfoScale Enterprise for Oracle Real Application Clusters

More information

Veritas Storage Foundation for Oracle RAC from Symantec

Veritas Storage Foundation for Oracle RAC from Symantec Veritas Storage Foundation for Oracle RAC from Symantec Manageability, performance and availability for Oracle RAC databases Data Sheet: Storage Management Overviewview offers a proven solution to help

More information

ScaleArc for SQL Server

ScaleArc for SQL Server Solution Brief ScaleArc for SQL Server Overview Organizations around the world depend on SQL Server for their revenuegenerating, customer-facing applications, running their most business-critical operations

More information

Performance improvements in MySQL 5.5

Performance improvements in MySQL 5.5 Performance improvements in MySQL 5.5 Percona Live Feb 16, 2011 San Francisco, CA By Peter Zaitsev Percona Inc -2- Performance and Scalability Talk about Performance, Scalability, Diagnostics in MySQL

More information

Innodb Performance Optimization

Innodb Performance Optimization Innodb Performance Optimization Most important practices Peter Zaitsev CEO Percona Technical Webinars December 20 th, 2017 1 About this Presentation Innodb Architecture and Performance Optimization 3h

More information

Oracle Exadata: Strategy and Roadmap

Oracle Exadata: Strategy and Roadmap Oracle Exadata: Strategy and Roadmap - New Technologies, Cloud, and On-Premises Juan Loaiza Senior Vice President, Database Systems Technologies, Oracle Safe Harbor Statement The following is intended

More information

Disaster Recovery Planning

Disaster Recovery Planning Disaster Recovery Planning How to Ensure your IT systems are protected and your business keeps running should disaster strike. Benefits of Using Disaster Recovery as a Service DRaaS over Traditional Disaster

More information

Everything You Need to Know About MySQL Group Replication

Everything You Need to Know About MySQL Group Replication Everything You Need to Know About MySQL Group Replication Luís Soares (luis.soares@oracle.com) Principal Software Engineer, MySQL Replication Lead Copyright 2017, Oracle and/or its affiliates. All rights

More information

Which technology to choose in AWS?

Which technology to choose in AWS? Which technology to choose in AWS? RDS / Aurora / Roll-your-own April 17, 2018 Daniel Kowalewski Senior Technical Operations Engineer Percona 1 2017 Percona AWS MySQL options RDS for MySQL Aurora MySQL

More information

Rule 14 Use Databases Appropriately

Rule 14 Use Databases Appropriately Rule 14 Use Databases Appropriately Rule 14: What, When, How, and Why What: Use relational databases when you need ACID properties to maintain relationships between your data. For other data storage needs

More information

Jargons, Concepts, Scope and Systems. Key Value Stores, Document Stores, Extensible Record Stores. Overview of different scalable relational systems

Jargons, Concepts, Scope and Systems. Key Value Stores, Document Stores, Extensible Record Stores. Overview of different scalable relational systems Jargons, Concepts, Scope and Systems Key Value Stores, Document Stores, Extensible Record Stores Overview of different scalable relational systems Examples of different Data stores Predictions, Comparisons

More information

The Role of Database Aware Flash Technologies in Accelerating Mission- Critical Databases

The Role of Database Aware Flash Technologies in Accelerating Mission- Critical Databases The Role of Database Aware Flash Technologies in Accelerating Mission- Critical Databases Gurmeet Goindi Principal Product Manager Oracle Flash Memory Summit 2013 Santa Clara, CA 1 Agenda Relational Database

More information

Database Architectures

Database Architectures Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 4/15/15 Agenda Check-in Parallelism and Distributed Databases Technology Research Project Introduction to NoSQL

More information

MySQL HA Solutions. Keeping it simple, kinda! By: Chris Schneider MySQL Architect Ning.com

MySQL HA Solutions. Keeping it simple, kinda! By: Chris Schneider MySQL Architect Ning.com MySQL HA Solutions Keeping it simple, kinda! By: Chris Schneider MySQL Architect Ning.com What we ll cover today High Availability Terms and Concepts Levels of High Availability What technologies are there

More information

Identifying Workloads for the Cloud

Identifying Workloads for the Cloud Identifying Workloads for the Cloud 1 This brief is based on a webinar in RightScale s I m in the Cloud Now What? series. Browse our entire library for webinars on cloud computing management. Meet our

More information

! Design constraints. " Component failures are the norm. " Files are huge by traditional standards. ! POSIX-like

! Design constraints.  Component failures are the norm.  Files are huge by traditional standards. ! POSIX-like Cloud background Google File System! Warehouse scale systems " 10K-100K nodes " 50MW (1 MW = 1,000 houses) " Power efficient! Located near cheap power! Passive cooling! Power Usage Effectiveness = Total

More information

Improvements in MySQL 5.5 and 5.6. Peter Zaitsev Percona Live NYC May 26,2011

Improvements in MySQL 5.5 and 5.6. Peter Zaitsev Percona Live NYC May 26,2011 Improvements in MySQL 5.5 and 5.6 Peter Zaitsev Percona Live NYC May 26,2011 State of MySQL 5.5 and 5.6 MySQL 5.5 Released as GA December 2011 Percona Server 5.5 released in April 2011 Proven to be rather

More information

Design Patterns for Large- Scale Data Management. Robert Hodges OSCON 2013

Design Patterns for Large- Scale Data Management. Robert Hodges OSCON 2013 Design Patterns for Large- Scale Data Management Robert Hodges OSCON 2013 The Start-Up Dilemma 1. You are releasing Online Storefront V 1.0 2. It could be a complete bust 3. But it could be *really* big

More information

Preventing and Resolving MySQL Downtime. Jervin Real, Michael Coburn Percona

Preventing and Resolving MySQL Downtime. Jervin Real, Michael Coburn Percona Preventing and Resolving MySQL Downtime Jervin Real, Michael Coburn Percona About Us Jervin Real, Technical Services Manager Engineer Engineering Engineers APAC Michael Coburn, Principal Technical Account

More information

An Overview of Projection, Partitioning and Segmentation of Big Data Using Hp Vertica

An Overview of Projection, Partitioning and Segmentation of Big Data Using Hp Vertica IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661,p-ISSN: 2278-8727, Volume 19, Issue 5, Ver. I (Sep.- Oct. 2017), PP 48-53 www.iosrjournals.org An Overview of Projection, Partitioning

More information

Documentation Accessibility. Access to Oracle Support

Documentation Accessibility. Access to Oracle Support Oracle NoSQL Database Availability and Failover Release 18.3 E88250-04 October 2018 Documentation Accessibility For information about Oracle's commitment to accessibility, visit the Oracle Accessibility

More information

High availability with MariaDB TX: The definitive guide

High availability with MariaDB TX: The definitive guide High availability with MariaDB TX: The definitive guide MARCH 2018 Table of Contents Introduction - Concepts - Terminology MariaDB TX High availability - Master/slave replication - Multi-master clustering

More information

Data Modeling and Databases Ch 14: Data Replication. Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich

Data Modeling and Databases Ch 14: Data Replication. Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich Data Modeling and Databases Ch 14: Data Replication Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich Database Replication What is database replication The advantages of

More information

FairCom White Paper Caching and Data Integrity Recommendations

FairCom White Paper Caching and Data Integrity Recommendations FairCom White Paper Caching and Data Integrity Recommendations Contents 1. Best Practices - Caching vs. Data Integrity... 1 1.1 The effects of caching on data recovery... 1 2. Disk Caching... 2 2.1 Data

More information

Course Description. Audience. Prerequisites. At Course Completion. : Course 40074A : Microsoft SQL Server 2014 for Oracle DBAs

Course Description. Audience. Prerequisites. At Course Completion. : Course 40074A : Microsoft SQL Server 2014 for Oracle DBAs Module Title Duration : Course 40074A : Microsoft SQL Server 2014 for Oracle DBAs : 4 days Course Description This four-day instructor-led course provides students with the knowledge and skills to capitalize

More information

The Care and Feeding of a MySQL Database for Linux Adminstrators. Dave Stokes MySQL Community Manager

The Care and Feeding of a MySQL Database for Linux Adminstrators. Dave Stokes MySQL Community Manager The Care and Feeding of a MySQL Database for Linux Adminstrators Dave Stokes MySQL Community Manager David.Stokes@Oracle.com Simple Introduction This is a general introduction to running a MySQL database

More information

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced?

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced? Chapter 10: Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory!! What is virtual memory and when is it useful?!! What is demand paging?!! When should pages in memory be replaced?!!

More information

Upgrading MySQL Best Practices. Apr 11-14, 2011 MySQL Conference and Expo Santa Clara,CA by Peter Zaitsev, Percona Inc

Upgrading MySQL Best Practices. Apr 11-14, 2011 MySQL Conference and Expo Santa Clara,CA by Peter Zaitsev, Percona Inc Upgrading MySQL Best Practices Apr 11-14, 2011 MySQL Conference and Expo Santa Clara,CA by Peter Zaitsev, Percona Inc MySQL Upgrade How many of you have performed MySQL upgrade? Home many of you have done

More information

Practical MySQL Performance Optimization. Peter Zaitsev, CEO, Percona July 02, 2015 Percona Technical Webinars

Practical MySQL Performance Optimization. Peter Zaitsev, CEO, Percona July 02, 2015 Percona Technical Webinars Practical MySQL Performance Optimization Peter Zaitsev, CEO, Percona July 02, 2015 Percona Technical Webinars In This Presentation We ll Look at how to approach Performance Optimization Discuss Practical

More information

CSE 344 Final Review. August 16 th

CSE 344 Final Review. August 16 th CSE 344 Final Review August 16 th Final In class on Friday One sheet of notes, front and back cost formulas also provided Practice exam on web site Good luck! Primary Topics Parallel DBs parallel join

More information

big picture parallel db (one data center) mix of OLTP and batch analysis lots of data, high r/w rates, 1000s of cheap boxes thus many failures

big picture parallel db (one data center) mix of OLTP and batch analysis lots of data, high r/w rates, 1000s of cheap boxes thus many failures Lecture 20 -- 11/20/2017 BigTable big picture parallel db (one data center) mix of OLTP and batch analysis lots of data, high r/w rates, 1000s of cheap boxes thus many failures what does paper say Google

More information

High Availability Solutions for the MySQL Database

High Availability Solutions for the MySQL Database www.skysql.com High Availability Solutions for the MySQL Database Introduction This paper introduces recommendations and some of the solutions used to create an availability or high availability environment

More information

MySQL Cluster An Introduction

MySQL Cluster An Introduction MySQL Cluster An Introduction Geert Vanderkelen O Reilly MySQL Conference & Expo 2010 Apr. 13 2010 In this presentation we'll introduce you to MySQL Cluster. We ll go through the MySQL server, the storage

More information

IT Best Practices Audit TCS offers a wide range of IT Best Practices Audit content covering 15 subjects and over 2200 topics, including:

IT Best Practices Audit TCS offers a wide range of IT Best Practices Audit content covering 15 subjects and over 2200 topics, including: IT Best Practices Audit TCS offers a wide range of IT Best Practices Audit content covering 15 subjects and over 2200 topics, including: 1. IT Cost Containment 84 topics 2. Cloud Computing Readiness 225

More information

Definition of RAID Levels

Definition of RAID Levels RAID The basic idea of RAID (Redundant Array of Independent Disks) is to combine multiple inexpensive disk drives into an array of disk drives to obtain performance, capacity and reliability that exceeds

More information

How to setup Orchestrator to manage thousands of MySQL servers. Simon J Mudd 3 rd October 2017

How to setup Orchestrator to manage thousands of MySQL servers. Simon J Mudd 3 rd October 2017 How to setup Orchestrator to manage thousands of MySQL servers Simon J Mudd 3 rd October 2017 Session Summary What is orchestrator and why use it? What happens as you monitor more servers? Features added

More information

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 13 Virtual memory and memory management unit In the last class, we had discussed

More information

WHITEPAPER. Disk Configuration Tips for Ingres by Chip nickolett, Ingres Corporation

WHITEPAPER. Disk Configuration Tips for Ingres by Chip nickolett, Ingres Corporation WHITEPAPER Disk Configuration Tips for Ingres by Chip nickolett, Ingres Corporation table of contents: 3 Preface 3 Overview 4 How Many Disks Do I Need? 5 Should I Use RAID? 6 Ingres Configuration Recommendations

More information

CSCI 4717 Computer Architecture

CSCI 4717 Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Symmetric Multiprocessors & Clusters Reading: Stallings, Sections 18.1 through 18.4 Classifications of Parallel Processing M. Flynn classified types of parallel

More information

Brief introduction of SocketPro continuous SQL-stream sending and processing system (Part 1: SQLite)

Brief introduction of SocketPro continuous SQL-stream sending and processing system (Part 1: SQLite) Brief introduction of SocketPro continuous SQL-stream sending and processing system (Part 1: SQLite) Introduction Most of client server database systems only support synchronous communication between client

More information

SearchWinIT.com SearchExchange.com SearchSQLServer.com

SearchWinIT.com SearchExchange.com SearchSQLServer.com TechTarget Windows Media SearchWinIT.com SearchExchange.com SearchSQLServer.com SearchEnterpriseDesktop.com SearchWindowsServer.com SearchDomino.com LabMice.net E-Guide Mid-Market Guide to Architecting

More information

MySQL HA Solutions Selecting the best approach to protect access to your data

MySQL HA Solutions Selecting the best approach to protect access to your data MySQL HA Solutions Selecting the best approach to protect access to your data Sastry Vedantam sastry.vedantam@oracle.com February 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved

More information

Manual Triggers Sql Server 2008 Examples

Manual Triggers Sql Server 2008 Examples Manual Triggers Sql Server 2008 Examples Inserted Delete Oracle equivalent for SQL Server INSERTED and DELETED tables (find the msdn article here: msdn.microsoft.com/en-us/library/ms191300.aspx) Or else

More information

DBMS (FYCS) Unit - 1. A database management system stores data in such a way that it becomes easier to retrieve, manipulate, and produce information.

DBMS (FYCS) Unit - 1. A database management system stores data in such a way that it becomes easier to retrieve, manipulate, and produce information. Prof- Neeta Bonde DBMS (FYCS) Unit - 1 DBMS: - Database is a collection of related data and data is a collection of facts and figures that can be processed to produce information. Mostly data represents

More information

Segregating Data Within Databases for Performance Prepared by Bill Hulsizer

Segregating Data Within Databases for Performance Prepared by Bill Hulsizer Segregating Data Within Databases for Performance Prepared by Bill Hulsizer When designing databases, segregating data within tables is usually important and sometimes very important. The higher the volume

More information

3.3 Understanding Disk Fault Tolerance Windows May 15th, 2007

3.3 Understanding Disk Fault Tolerance Windows May 15th, 2007 3.3 Understanding Disk Fault Tolerance Windows May 15th, 2007 Fault tolerance refers to the capability of a computer or network to continue to function when some component fails. Disk fault tolerance refers

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Silberschatz, Galvin and Gagne 2009 Chapter 1: Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture Operating-System Structure Operating-System

More information

Distributed Data Infrastructures, Fall 2017, Chapter 2. Jussi Kangasharju

Distributed Data Infrastructures, Fall 2017, Chapter 2. Jussi Kangasharju Distributed Data Infrastructures, Fall 2017, Chapter 2 Jussi Kangasharju Chapter Outline Warehouse-scale computing overview Workloads and software infrastructure Failures and repairs Note: Term Warehouse-scale

More information

Lock Tuning. Concurrency Control Goals. Trade-off between correctness and performance. Correctness goals. Performance goals.

Lock Tuning. Concurrency Control Goals. Trade-off between correctness and performance. Correctness goals. Performance goals. Lock Tuning Concurrency Control Goals Performance goals Reduce blocking One transaction waits for another to release its locks Avoid deadlocks Transactions are waiting for each other to release their locks

More information

OS and Hardware Tuning

OS and Hardware Tuning OS and Hardware Tuning Tuning Considerations OS Threads Thread Switching Priorities Virtual Memory DB buffer size File System Disk layout and access Hardware Storage subsystem Configuring the disk array

More information

High Availability through Warm-Standby Support in Sybase Replication Server A Whitepaper from Sybase, Inc.

High Availability through Warm-Standby Support in Sybase Replication Server A Whitepaper from Sybase, Inc. High Availability through Warm-Standby Support in Sybase Replication Server A Whitepaper from Sybase, Inc. Table of Contents Section I: The Need for Warm Standby...2 The Business Problem...2 Section II:

More information

The former pager tasks have been replaced in 7.9 by the special savepoint tasks.

The former pager tasks have been replaced in 7.9 by the special savepoint tasks. 1 2 3 4 With version 7.7 the I/O interface to the operating system has been reimplemented. As of version 7.7 different parameters than in version 7.6 are used. The improved I/O system has the following

More information

The Leading Parallel Cluster File System

The Leading Parallel Cluster File System The Leading Parallel Cluster File System www.thinkparq.com www.beegfs.io ABOUT BEEGFS What is BeeGFS BeeGFS (formerly FhGFS) is the leading parallel cluster file system, developed with a strong focus on

More information

Advanced Architectures for Oracle Database on Amazon EC2

Advanced Architectures for Oracle Database on Amazon EC2 Advanced Architectures for Oracle Database on Amazon EC2 Abdul Sathar Sait Jinyoung Jung Amazon Web Services November 2014 Last update: April 2016 Contents Abstract 2 Introduction 3 Oracle Database Editions

More information

Effective Testing for Live Applications. March, 29, 2018 Sveta Smirnova

Effective Testing for Live Applications. March, 29, 2018 Sveta Smirnova Effective Testing for Live Applications March, 29, 2018 Sveta Smirnova Table of Contents Sometimes You Have to Test on Production Wrong Data SELECT Returns Nonsense Wrong Data in the Database Performance

More information

<Insert Picture Here> MySQL Cluster What are we working on

<Insert Picture Here> MySQL Cluster What are we working on MySQL Cluster What are we working on Mario Beck Principal Consultant The following is intended to outline our general product direction. It is intended for information purposes only,

More information

OS and HW Tuning Considerations!

OS and HW Tuning Considerations! Administração e Optimização de Bases de Dados 2012/2013 Hardware and OS Tuning Bruno Martins DEI@Técnico e DMIR@INESC-ID OS and HW Tuning Considerations OS " Threads Thread Switching Priorities " Virtual

More information

Business Continuity and Disaster Recovery. Ed Crowley Ch 12

Business Continuity and Disaster Recovery. Ed Crowley Ch 12 Business Continuity and Disaster Recovery Ed Crowley Ch 12 Topics Disaster Recovery Business Impact Analysis MTBF and MTTR RTO and RPO Redundancy Failover Backup Sites Load Balancing Mirror Sites Disaster

More information

Distributed KIDS Labs 1

Distributed KIDS Labs 1 Distributed Databases @ KIDS Labs 1 Distributed Database System A distributed database system consists of loosely coupled sites that share no physical component Appears to user as a single system Database

More information

Conceptual Modeling on Tencent s Distributed Database Systems. Pan Anqun, Wang Xiaoyu, Li Haixiang Tencent Inc.

Conceptual Modeling on Tencent s Distributed Database Systems. Pan Anqun, Wang Xiaoyu, Li Haixiang Tencent Inc. Conceptual Modeling on Tencent s Distributed Database Systems Pan Anqun, Wang Xiaoyu, Li Haixiang Tencent Inc. Outline Introduction System overview of TDSQL Conceptual Modeling on TDSQL Applications Conclusion

More information

Distributed Systems. Lec 10: Distributed File Systems GFS. Slide acks: Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung

Distributed Systems. Lec 10: Distributed File Systems GFS. Slide acks: Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Distributed Systems Lec 10: Distributed File Systems GFS Slide acks: Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung 1 Distributed File Systems NFS AFS GFS Some themes in these classes: Workload-oriented

More information

Concurrency Control Goals

Concurrency Control Goals Lock Tuning Concurrency Control Goals Concurrency Control Goals Correctness goals Serializability: each transaction appears to execute in isolation The programmer ensures that serial execution is correct.

More information

Building loosely coupled and scalable systems using Event-Driven Architecture. Jonas Bonér Patrik Nordwall Andreas Källberg

Building loosely coupled and scalable systems using Event-Driven Architecture. Jonas Bonér Patrik Nordwall Andreas Källberg Building loosely coupled and scalable systems using Event-Driven Architecture Jonas Bonér Patrik Nordwall Andreas Källberg Why is EDA Important for Scalability? What building blocks does EDA consists of?

More information

FLAT DATACENTER STORAGE. Paper-3 Presenter-Pratik Bhatt fx6568

FLAT DATACENTER STORAGE. Paper-3 Presenter-Pratik Bhatt fx6568 FLAT DATACENTER STORAGE Paper-3 Presenter-Pratik Bhatt fx6568 FDS Main discussion points A cluster storage system Stores giant "blobs" - 128-bit ID, multi-megabyte content Clients and servers connected

More information

High Noon at AWS. ~ Amazon MySQL RDS versus Tungsten Clustering running MySQL on AWS EC2

High Noon at AWS. ~ Amazon MySQL RDS versus Tungsten Clustering running MySQL on AWS EC2 High Noon at AWS ~ Amazon MySQL RDS versus Tungsten Clustering running MySQL on AWS EC2 Introduction Amazon Web Services (AWS) are gaining popularity, and for good reasons. The Amazon Relational Database

More information

Architekturen für die Cloud

Architekturen für die Cloud Architekturen für die Cloud Eberhard Wolff Architecture & Technology Manager adesso AG 08.06.11 What is Cloud? National Institute for Standards and Technology (NIST) Definition On-demand self-service >

More information

Evaluation Guide for ASP.NET Web CMS and Experience Platforms

Evaluation Guide for ASP.NET Web CMS and Experience Platforms Evaluation Guide for ASP.NET Web CMS and Experience Platforms CONTENTS Introduction....................... 1 4 Key Differences...2 Architecture:...2 Development Model...3 Content:...4 Database:...4 Bonus:

More information

Map-Reduce. Marco Mura 2010 March, 31th

Map-Reduce. Marco Mura 2010 March, 31th Map-Reduce Marco Mura (mura@di.unipi.it) 2010 March, 31th This paper is a note from the 2009-2010 course Strumenti di programmazione per sistemi paralleli e distribuiti and it s based by the lessons of

More information

CIS 601 Graduate Seminar. Dr. Sunnie S. Chung Dhruv Patel ( ) Kalpesh Sharma ( )

CIS 601 Graduate Seminar. Dr. Sunnie S. Chung Dhruv Patel ( ) Kalpesh Sharma ( ) Guide: CIS 601 Graduate Seminar Presented By: Dr. Sunnie S. Chung Dhruv Patel (2652790) Kalpesh Sharma (2660576) Introduction Background Parallel Data Warehouse (PDW) Hive MongoDB Client-side Shared SQL

More information

Lecture 1 Introduction (Chapter 1 of Textbook)

Lecture 1 Introduction (Chapter 1 of Textbook) Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 1 Introduction (Chapter 1 of Textbook) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The slides

More information

Notes based on prof. Morris's lecture on scheduling (6.824, fall'02).

Notes based on prof. Morris's lecture on scheduling (6.824, fall'02). Scheduling Required reading: Eliminating receive livelock Notes based on prof. Morris's lecture on scheduling (6.824, fall'02). Overview What is scheduling? The OS policies and mechanisms to allocates

More information

The Google File System

The Google File System The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung SOSP 2003 presented by Kun Suo Outline GFS Background, Concepts and Key words Example of GFS Operations Some optimizations in

More information

Inside the PostgreSQL Shared Buffer Cache

Inside the PostgreSQL Shared Buffer Cache Truviso 07/07/2008 About this presentation The master source for these slides is http://www.westnet.com/ gsmith/content/postgresql You can also find a machine-usable version of the source code to the later

More information

How In-memory Database Technology and IBM soliddb Complement IBM DB2 for Extreme Speed

How In-memory Database Technology and IBM soliddb Complement IBM DB2 for Extreme Speed soliddb How In-memory Database Technology and IBM soliddb Complement IBM DB2 for Extreme Speed December 2008 Joan Monera-Llorca IBM Software Group, Information Management soliddb Technical Sales - Americas

More information

VERITAS Storage Foundation 4.0 TM for Databases

VERITAS Storage Foundation 4.0 TM for Databases VERITAS Storage Foundation 4.0 TM for Databases Powerful Manageability, High Availability and Superior Performance for Oracle, DB2 and Sybase Databases Enterprises today are experiencing tremendous growth

More information

Database Architectures

Database Architectures Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 11/15/12 Agenda Check-in Centralized and Client-Server Models Parallelism Distributed Databases Homework 6 Check-in

More information

What s New in MySQL 5.7 Geir Høydalsvik, Sr. Director, MySQL Engineering. Copyright 2015, Oracle and/or its affiliates. All rights reserved.

What s New in MySQL 5.7 Geir Høydalsvik, Sr. Director, MySQL Engineering. Copyright 2015, Oracle and/or its affiliates. All rights reserved. What s New in MySQL 5.7 Geir Høydalsvik, Sr. Director, MySQL Engineering Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes

More information