Database Optimization for Web Developers. Little things that make a big difference

Size: px
Start display at page:

Download "Database Optimization for Web Developers. Little things that make a big difference"

Transcription

1 Database Optimization for Web Developers Little things that make a big difference

2 About me 16 years experience in web development and administration (systems, databases, networks) Various jobs: Web Developer Chief Architect Manager of IT Director of Technical Operations Database Consultant Mostly worked with MySQL Developer DBA Administrator Member of the Utah Open Source Foundation (UTOS) core team

3 What slows down your web page? Content load time (CSS / JS / Images) Poorly optimized code Database queries

4 Assumptions Average web developer proficiency with SQL databases SQL JOINs Indexes No specific database server expected Examples will use MySQL

5 Not enough indexes! MariaDB [sakila]> EXPLAIN SELECT COUNT(*) FROM payment WHERE payment_date >= ' :00:00' AND payment_date < ' :00:00'; id table type possible_keys key rows Extra payment ALL NULL NULL Using where

6 Not enough indexes! MariaDB [sakila]> EXPLAIN SELECT COUNT(*) FROM payment WHERE payment_date >= ' :00:00' AND payment_date < ' :00:00'; id table type possible_keys key rows payment range payment_date payment_date

7 When are indexes used? Left-most prefix of index If multiple columns, can use from left to right until column is not specified exactly Index cannot continue to be used after a range ALTER TABLE cities ADD INDEX lat_lng (lat, lng);

8 Too many indexes? MariaDB [sakila]> SHOW KEYS FROM film; Table Key_name Seq_in_index Column_name film PRIMARY 1 film_id film idx_title 1 title film idx_fk_language_id 1 language_id film idx_fk_original_language_id 1 original_language_id film idx_title_year 1 title film idx_title_year 2 release_year

9 Avoid full table scans SELECT f.fid, f.title, c.category_id, c.name FROM film_list f JOIN category c ON c.name=f.category WHERE f.price= table possible_keys key rows Extra c NULL NULL 16 f NULL NULL 973 Using where; Using join buffer

10 Don t put a query inside a loop foreach ($film_ids as $film_id) { $result = $db- >query("select * FROM film WHERE film_id=$film_id"); $row = $result- >fetch_array(); echo "<li><span>".$row[1]."</span></li>\n"; } Get all the data in one query, and then loop through the results Use a (well-indexed) JOIN to eliminate the need for additional queries If you re using an ORM, be careful not to put code in a loop that will result in queries being run; generally, ORMs have bulk-loading methods and ways to specify JOINs

11 Other kinds of indexes B-tree index Hash index Full-text index MyISAM only until MySQL 5.6, MariaDB Often better to use external full-text indexes, like Sphinx, Lucene, Solr, ElasticSearch Spatial index Minimum bounding rectangle before MySQL 5.6 or MariaDB 5.5 BYO index Hash column for long keys Grid index Use an approximate index, but add non-indexed conditions to drill down

12 If you can t index it, cache it! Do the expensive stuff less often Run reports for executives / marketing once a day Create a read-only cache table for searching Don t propagate inactive rows to the active cache; in other words, limit the number of rows to be searched Rotate cache tables to keep the active cache table read-only In some cases, sharded cache tables are useful

13 Eliminate redundant queries Ensure that commonly-accessed data is only retrieved once Store relevant user information in their session (with expiration) Use memcached (or an equivalent fast data store) If you use an ORM, it may have ways to facilitate this

14 MyISAM s table lock problem Read Queue SELECT (0.1s) SELECT (3.5s) SELECT (121s) SELECT (0.0s) SELECT (1.2s) SELECT (5.1s) Write Queue UPDATE (0.0s)

15 Multiversion Concurrency Control (Time T1) 1: a 2: b 3: c 4: d 5: e 6: f 7: g 8: h 9: i 10: j (Time T2) 1: a 2: b 3: c 4: d 5: h 6: f 7: g 8: h 9: i 10: j Query 1 at time T1: SELECT * FROM tbl Query 2 at time T2: UPDATE tbl SET v= h WHERE k=5 Even if Query 1 gets to row 5 after time T2, the database will return e for row 5. The data will be consistent from when the query began.* * with some caveats, depending on the server s isolation level setting

16 Batch writes Put the data into a queue Have a process that reads the queue and does a bulk insert into the database Redis has a built-in queue data type (LIST) Only useful for information you can afford to lose

17 NoSQL interfaces MySQL HandlerSocket memcached PostgreSQL unknown

18 Replication This is by no means a cure-all One should not use replication slaves to solve concurrency issues without understanding the ramifications It s possible that replication can increase the impact of your write queries

19 Tame your ORM Most ORMs have a debug console where you can see every query that is performed For MySQL, you can use the Percona Toolkit s pt-querydigest utility

20

21 Conclusion: Be smart! Know what your database is doing Use the readily available tools to get a better idea where your bottlenecks are Break your problem down into its component parts Understand the ramifications of your proposed solutions

22 Thanks for Leave feedback at

F1: A Distributed SQL Database That Scales. Presentation by: Alex Degtiar (adegtiar@cmu.edu) 15-799 10/21/2013

F1: A Distributed SQL Database That Scales. Presentation by: Alex Degtiar (adegtiar@cmu.edu) 15-799 10/21/2013 F1: A Distributed SQL Database That Scales Presentation by: Alex Degtiar (adegtiar@cmu.edu) 15-799 10/21/2013 What is F1? Distributed relational database Built to replace sharded MySQL back-end of AdWords

More information

5 Percona Toolkit tools that could save your day. Stéphane Combaudon FOSDEM February 3rd, 2013

5 Percona Toolkit tools that could save your day. Stéphane Combaudon FOSDEM February 3rd, 2013 5 Percona Toolkit tools that could save your day Stéphane Combaudon FOSDEM February 3rd, 2013 What is Percona Toolkit Set of cli tools to perform common tasks that are painful to do manually (~30 tools)

More information

DBA Tutorial Kai Voigt Senior MySQL Instructor Sun Microsystems kai@sun.com Santa Clara, April 12, 2010

DBA Tutorial Kai Voigt Senior MySQL Instructor Sun Microsystems kai@sun.com Santa Clara, April 12, 2010 DBA Tutorial Kai Voigt Senior MySQL Instructor Sun Microsystems kai@sun.com Santa Clara, April 12, 2010 Certification Details http://www.mysql.com/certification/ Registration at Conference Closed Book

More information

MySQL Storage Engines

MySQL Storage Engines MySQL Storage Engines Data in MySQL is stored in files (or memory) using a variety of different techniques. Each of these techniques employs different storage mechanisms, indexing facilities, locking levels

More information

Database Administration with MySQL

Database Administration with MySQL Database Administration with MySQL Suitable For: Database administrators and system administrators who need to manage MySQL based services. Prerequisites: Practical knowledge of SQL Some knowledge of relational

More information

Partitioning under the hood in MySQL 5.5

Partitioning under the hood in MySQL 5.5 Partitioning under the hood in MySQL 5.5 Mattias Jonsson, Partitioning developer Mikael Ronström, Partitioning author Who are we? Mikael is a founder of the technology behind NDB

More information

Evolution of Web Application Architecture International PHP Conference. Kore Nordmann / @koredn / <kore@qafoo.com> June 9th, 2015

Evolution of Web Application Architecture International PHP Conference. Kore Nordmann / @koredn / <kore@qafoo.com> June 9th, 2015 Evolution of Web Application Architecture International PHP Conference Kore Nordmann / @koredn / June 9th, 2015 Evolution Problem Too many visitors Evolution Evolution Lessons Learned:

More information

How to choose High Availability solutions for MySQL MySQL UC 2010 Yves Trudeau Read by Peter Zaitsev. Percona Inc MySQLPerformanceBlog.

How to choose High Availability solutions for MySQL MySQL UC 2010 Yves Trudeau Read by Peter Zaitsev. Percona Inc MySQLPerformanceBlog. How to choose High Availability solutions for MySQL MySQL UC 2010 Yves Trudeau Read by Peter Zaitsev Percona Inc MySQLPerformanceBlog.com -2- About us http://www.percona.com http://www.mysqlperformanceblog.com/

More information

MakeMyTrip CUSTOMER SUCCESS STORY

MakeMyTrip CUSTOMER SUCCESS STORY MakeMyTrip CUSTOMER SUCCESS STORY MakeMyTrip is the leading travel site in India that is running two ClustrixDB clusters as multi-master in two regions. It removed single point of failure. MakeMyTrip frequently

More information

Sharding with postgres_fdw

Sharding with postgres_fdw Sharding with postgres_fdw Postgres Open 2013 Chicago Stephen Frost sfrost@snowman.net Resonate, Inc. Digital Media PostgreSQL Hadoop techjobs@resonateinsights.com http://www.resonateinsights.com Stephen

More information

Real-time reporting at 10,000 inserts per second. Wesley Biggs CTO 25 October 2011 Percona Live

Real-time reporting at 10,000 inserts per second. Wesley Biggs CTO 25 October 2011 Percona Live Real-time reporting at 10,000 inserts per second Wesley Biggs CTO 25 October 2011 Percona Live Agenda 1. Who we are, what we do, and (maybe) why we do it 2. Solution architecture and evolution 3. Top 5

More information

How, What, and Where of Data Warehouses for MySQL

How, What, and Where of Data Warehouses for MySQL How, What, and Where of Data Warehouses for MySQL Robert Hodges CEO, Continuent. Introducing Continuent The leading provider of clustering and replication for open source DBMS Our Product: Continuent Tungsten

More information

Overview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB

Overview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB Overview of Databases On MacOS Karl Kuehn Automation Engineer RethinkDB Session Goals Introduce Database concepts Show example players Not Goals: Cover non-macos systems (Oracle) Teach you SQL Answer what

More information

database abstraction layer database abstraction layers in PHP Lukas Smith BackendMedia smith@backendmedia.com

database abstraction layer database abstraction layers in PHP Lukas Smith BackendMedia smith@backendmedia.com Lukas Smith database abstraction layers in PHP BackendMedia 1 Overview Introduction Motivation PDO extension PEAR::MDB2 Client API SQL syntax SQL concepts Result sets Error handling High level features

More information

Introduction to Polyglot Persistence. Antonios Giannopoulos Database Administrator at ObjectRocket by Rackspace

Introduction to Polyglot Persistence. Antonios Giannopoulos Database Administrator at ObjectRocket by Rackspace Introduction to Polyglot Persistence Antonios Giannopoulos Database Administrator at ObjectRocket by Rackspace FOSSCOMM 2016 Background - 14 years in databases and system engineering - NoSQL DBA @ ObjectRocket

More information

How To Scale Big Data

How To Scale Big Data Real-time Big Data An Agile Approach Presented by: Cory Isaacson, CEO CodeFutures Corporation http://www.codefutures.com Fall 2014 Introduction Who I am Cory Isaacson, CEO/CTO of CodeFutures Providers

More information

Databases and SQL. Homework. Matthias Danner. June 11, 2013. Matthias Danner Databases and SQL June 11, 2013 1 / 16

Databases and SQL. Homework. Matthias Danner. June 11, 2013. Matthias Danner Databases and SQL June 11, 2013 1 / 16 Databases and SQL Homework Matthias Danner June 11, 2013 Matthias Danner Databases and SQL June 11, 2013 1 / 16 Install and configure a MySQL server Installation of the mysql-server package apt-get install

More information

Parallel Replication for MySQL in 5 Minutes or Less

Parallel Replication for MySQL in 5 Minutes or Less Parallel Replication for MySQL in 5 Minutes or Less Featuring Tungsten Replicator Robert Hodges, CEO, Continuent About Continuent / Continuent is the leading provider of data replication and clustering

More information

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to: D61830GC30 for Developers Summary Duration Vendor Audience 5 Days Oracle Database Administrators, Developers, Web Administrators Level Technology Professional Oracle 5.6 Delivery Method Instructor-led

More information

DIPLOMA IN WEBDEVELOPMENT

DIPLOMA IN WEBDEVELOPMENT DIPLOMA IN WEBDEVELOPMENT Prerequisite skills Basic programming knowledge on C Language or Core Java is must. # Module 1 Basics and introduction to HTML Basic HTML training. Different HTML elements, tags

More information

Full Text Search in MySQL 5.1 New Features and HowTo

Full Text Search in MySQL 5.1 New Features and HowTo Full Text Search in MySQL 5.1 New Features and HowTo Alexander Rubin Senior Consultant, MySQL AB 1 Full Text search Natural and popular way to search for information Easy to use: enter key words and get

More information

Java DB Performance. Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860

Java DB Performance. Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860 Java DB Performance Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860 AGENDA > Java DB introduction > Configuring Java DB for performance > Programming tips > Understanding Java DB performance

More information

In-memory Tables Technology overview and solutions

In-memory Tables Technology overview and solutions In-memory Tables Technology overview and solutions My mainframe is my business. My business relies on MIPS. Verna Bartlett Head of Marketing Gary Weinhold Systems Analyst Agenda Introduction to in-memory

More information

PostgreSQL Business Intelligence & Performance Simon Riggs CTO, 2ndQuadrant PostgreSQL Major Contributor

PostgreSQL Business Intelligence & Performance Simon Riggs CTO, 2ndQuadrant PostgreSQL Major Contributor PostgreSQL Business Intelligence & Performance Simon Riggs CTO, 2ndQuadrant PostgreSQL Major Contributor The research leading to these results has received funding from the European Union's Seventh Framework

More information

Cassandra vs MySQL. SQL vs NoSQL database comparison

Cassandra vs MySQL. SQL vs NoSQL database comparison Cassandra vs MySQL SQL vs NoSQL database comparison 19 th of November, 2015 Maxim Zakharenkov Maxim Zakharenkov Riga, Latvia Java Developer/Architect Company Goals Explore some differences of SQL and NoSQL

More information

NOSQL INTRODUCTION WITH MONGODB AND RUBY GEOFF LANE <GEOFF@ZORCHED.NET> @GEOFFLANE

NOSQL INTRODUCTION WITH MONGODB AND RUBY GEOFF LANE <GEOFF@ZORCHED.NET> @GEOFFLANE NOSQL INTRODUCTION WITH MONGODB AND RUBY GEOFF LANE @GEOFFLANE WHAT IS NOSQL? NON-RELATIONAL DATA STORAGE USUALLY SCHEMA-FREE ACCESS DATA WITHOUT SQL (THUS... NOSQL) WIDE-COLUMN / TABULAR

More information

Using RDBMS, NoSQL or Hadoop?

Using RDBMS, NoSQL or Hadoop? Using RDBMS, NoSQL or Hadoop? DOAG Conference 2015 Jean- Pierre Dijcks Big Data Product Management Server Technologies Copyright 2014 Oracle and/or its affiliates. All rights reserved. Data Ingest 2 Ingest

More information

MySQL. Leveraging. Features for Availability & Scalability ABSTRACT: By Srinivasa Krishna Mamillapalli

MySQL. Leveraging. Features for Availability & Scalability ABSTRACT: By Srinivasa Krishna Mamillapalli Leveraging MySQL Features for Availability & Scalability ABSTRACT: By Srinivasa Krishna Mamillapalli MySQL is a popular, open-source Relational Database Management System (RDBMS) designed to run on almost

More information

Why NoSQL? Your database options in the new non- relational world. 2015 IBM Cloudant 1

Why NoSQL? Your database options in the new non- relational world. 2015 IBM Cloudant 1 Why NoSQL? Your database options in the new non- relational world 2015 IBM Cloudant 1 Table of Contents New types of apps are generating new types of data... 3 A brief history on NoSQL... 3 NoSQL s roots

More information

How DBA s can improve data access in the enterprise, unlock value and boost productivity.

How DBA s can improve data access in the enterprise, unlock value and boost productivity. How DBA s can improve data access in the enterprise, unlock value and boost productivity. Overview Improving access to enterprise data can unlock value and boost productivity in IT organizations. Current

More information

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases. SQL Databases Course by Applied Technology Research Center. 23 September 2015 This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases. Oracle Topics This Oracle Database: SQL

More information

MySQL and the Open Source Sphere. openark.org

MySQL and the Open Source Sphere. openark.org MySQL and the Open Source Sphere 2011 Shlomi Noach August 2011 MySQL and the Open Source Sphere MySQL plays a major role as a free RDBMS It is very common in the open source world It is labeled as The

More information

Lecture 10: HBase! Claudia Hauff (Web Information Systems)! ti2736b-ewi@tudelft.nl

Lecture 10: HBase! Claudia Hauff (Web Information Systems)! ti2736b-ewi@tudelft.nl Big Data Processing, 2014/15 Lecture 10: HBase!! Claudia Hauff (Web Information Systems)! ti2736b-ewi@tudelft.nl 1 Course content Introduction Data streams 1 & 2 The MapReduce paradigm Looking behind the

More information

1Z0-117 Oracle Database 11g Release 2: SQL Tuning. Oracle

1Z0-117 Oracle Database 11g Release 2: SQL Tuning. Oracle 1Z0-117 Oracle Database 11g Release 2: SQL Tuning Oracle To purchase Full version of Practice exam click below; http://www.certshome.com/1z0-117-practice-test.html FOR Oracle 1Z0-117 Exam Candidates We

More information

In-Memory Databases MemSQL

In-Memory Databases MemSQL IT4BI - Université Libre de Bruxelles In-Memory Databases MemSQL Gabby Nikolova Thao Ha Contents I. In-memory Databases...4 1. Concept:...4 2. Indexing:...4 a. b. c. d. AVL Tree:...4 B-Tree and B+ Tree:...5

More information

Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013

Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013 Database Management System Choices Introduction To Database Systems CSE 373 Spring 2013 Outline Introduction PostgreSQL MySQL Microsoft SQL Server Choosing A DBMS NoSQL Introduction There a lot of options

More information

Tushar Joshi Turtle Networks Ltd

Tushar Joshi Turtle Networks Ltd MySQL Database for High Availability Web Applications Tushar Joshi Turtle Networks Ltd www.turtle.net Overview What is High Availability? Web/Network Architecture Applications MySQL Replication MySQL Clustering

More information

Postgres Plus Advanced Server

Postgres Plus Advanced Server Postgres Plus Advanced Server An Updated Performance Benchmark An EnterpriseDB White Paper For DBAs, Application Developers & Enterprise Architects June 2013 Table of Contents Executive Summary...3 Benchmark

More information

Spider Storage Engine: The sharding plugin of MySQL/MariaDB Introducing and newest topics. Spiral-Arm / Team-Lab Kentoku SHIBA

Spider Storage Engine: The sharding plugin of MySQL/MariaDB Introducing and newest topics. Spiral-Arm / Team-Lab Kentoku SHIBA Spider Storage Engine: The sharding plugin of MySQL/MariaDB Introducing and newest topics Spiral-Arm / Team-Lab Kentoku SHIBA What is Spider Storage Engine Spider Storage Engine is a plugin of MySQL/MariaDB.

More information

Oracle Database 11 g Performance Tuning. Recipes. Sam R. Alapati Darl Kuhn Bill Padfield. Apress*

Oracle Database 11 g Performance Tuning. Recipes. Sam R. Alapati Darl Kuhn Bill Padfield. Apress* Oracle Database 11 g Performance Tuning Recipes Sam R. Alapati Darl Kuhn Bill Padfield Apress* Contents About the Authors About the Technical Reviewer Acknowledgments xvi xvii xviii Chapter 1: Optimizing

More information

MariaDB Cassandra interoperability

MariaDB Cassandra interoperability MariaDB Cassandra interoperability Cassandra Storage Engine in MariaDB Sergei Petrunia Colin Charles Who are we Sergei Petrunia Principal developer of CassandraSE, optimizer developer, formerly from MySQL

More information

iservdb The database closest to you IDEAS Institute

iservdb The database closest to you IDEAS Institute iservdb The database closest to you IDEAS Institute 1 Overview 2 Long-term Anticipation iservdb is a relational database SQL compliance and a general purpose database Data is reliable and consistency iservdb

More information

Monitoring and Diagnosing Oracle RAC Performance with Oracle Enterprise Manager. Kai Yu, Orlando Gallegos Dell Oracle Solutions Engineering

Monitoring and Diagnosing Oracle RAC Performance with Oracle Enterprise Manager. Kai Yu, Orlando Gallegos Dell Oracle Solutions Engineering Monitoring and Diagnosing Oracle RAC Performance with Oracle Enterprise Manager Kai Yu, Orlando Gallegos Dell Oracle Solutions Engineering About Author Kai Yu Senior System Engineer, Dell Oracle Solutions

More information

SCALABILITY. Hodicska Gergely. email: felho@ustream.tv twitter: @felhobacsi. Web Engineering Manager as Ustream. May 7, 2012

SCALABILITY. Hodicska Gergely. email: felho@ustream.tv twitter: @felhobacsi. Web Engineering Manager as Ustream. May 7, 2012 SCALABILITY Hodicska Gergely Web Engineering Manager as Ustream email: felho@ustream.tv twitter: @felhobacsi SCALABILITY BME 1 DEFINING SCALABILITY It is not: Performance Easier to scale HA It is the ability

More information

and what does it have to do with accounting software? connecting people and business

and what does it have to do with accounting software? connecting people and business 1999-2008. All rights reserved Jim2 is a registered trademark of Jim2 by Happen Business Pty Limited P +61 2 9570 4696 F +61 2 8569 1858 E info@happen.biz W www.happen.biz what is sql and what does it

More information

Real Time Fraud Detection With Sequence Mining on Big Data Platform. Pranab Ghosh Big Data Consultant IEEE CNSV meeting, May 6 2014 Santa Clara, CA

Real Time Fraud Detection With Sequence Mining on Big Data Platform. Pranab Ghosh Big Data Consultant IEEE CNSV meeting, May 6 2014 Santa Clara, CA Real Time Fraud Detection With Sequence Mining on Big Data Platform Pranab Ghosh Big Data Consultant IEEE CNSV meeting, May 6 2014 Santa Clara, CA Open Source Big Data Eco System Query (NOSQL) : Cassandra,

More information

Part 3. MySQL DBA I Exam

Part 3. MySQL DBA I Exam Part 3. MySQL DBA I Exam Table of Contents 23. MySQL Architecture... 3 24. Starting, Stopping, and Configuring MySQL... 6 25. Client Programs for DBA Work... 11 26. MySQL Administrator... 15 27. Character

More information

extensible record stores document stores key-value stores Rick Cattel s clustering from Scalable SQL and NoSQL Data Stores SIGMOD Record, 2010

extensible record stores document stores key-value stores Rick Cattel s clustering from Scalable SQL and NoSQL Data Stores SIGMOD Record, 2010 System/ Scale to Primary Secondary Joins/ Integrity Language/ Data Year Paper 1000s Index Indexes Transactions Analytics Constraints Views Algebra model my label 1971 RDBMS O tables sql-like 2003 memcached

More information

How To Improve Performance In A Database

How To Improve Performance In A Database 1 PHIL FACTOR GRANT FRITCHEY K. BRIAN KELLEY MICKEY STUEWE IKE ELLIS JONATHAN ALLEN LOUIS DAVIDSON 2 Database Performance Tips for Developers As a developer, you may or may not need to go into the database

More information

Design Patterns for Distributed Non-Relational Databases

Design Patterns for Distributed Non-Relational Databases Design Patterns for Distributed Non-Relational Databases aka Just Enough Distributed Systems To Be Dangerous (in 40 minutes) Todd Lipcon (@tlipcon) Cloudera June 11, 2009 Introduction Common Underlying

More information

Configuring Apache Derby for Performance and Durability Olav Sandstå

Configuring Apache Derby for Performance and Durability Olav Sandstå Configuring Apache Derby for Performance and Durability Olav Sandstå Sun Microsystems Trondheim, Norway Agenda Apache Derby introduction Performance and durability Performance tips Open source database

More information

Zero Downtime Deployments with Database Migrations. Bob Feldbauer twitter: @bobfeldbauer email: bob.feldbauer@timgroup.com

Zero Downtime Deployments with Database Migrations. Bob Feldbauer twitter: @bobfeldbauer email: bob.feldbauer@timgroup.com Zero Downtime Deployments with Database Migrations Bob Feldbauer twitter: @bobfeldbauer email: bob.feldbauer@timgroup.com Deployments Two parts to deployment: Application code Database schema changes (migrations,

More information

Applying traditional DBA skills to Oracle Exadata. Marc Fielding March 2013

Applying traditional DBA skills to Oracle Exadata. Marc Fielding March 2013 Applying traditional DBA skills to Oracle Exadata Marc Fielding March 2013 About Me Senior Consultant with Pythian s Advanced Technology Group 12+ years Oracle production systems experience starting with

More information

Comparing MySQL and Postgres 9.0 Replication

Comparing MySQL and Postgres 9.0 Replication Comparing MySQL and Postgres 9.0 Replication An EnterpriseDB White Paper For DBAs, Application Developers, and Enterprise Architects March 2010 Table of Contents Introduction... 3 A Look at the Replication

More information

Building Scalable Applications Using Microsoft Technologies

Building Scalable Applications Using Microsoft Technologies Building Scalable Applications Using Microsoft Technologies Padma Krishnan Senior Manager Introduction CIOs lay great emphasis on application scalability and performance and rightly so. As business grows,

More information

Liferay Performance Tuning

Liferay Performance Tuning Liferay Performance Tuning Tips, tricks, and best practices Michael C. Han Liferay, INC A Survey Why? Considering using Liferay, curious about performance. Currently implementing and thinking ahead. Running

More information

Inge Os Sales Consulting Manager Oracle Norway

Inge Os Sales Consulting Manager Oracle Norway Inge Os Sales Consulting Manager Oracle Norway Agenda Oracle Fusion Middelware Oracle Database 11GR2 Oracle Database Machine Oracle & Sun Agenda Oracle Fusion Middelware Oracle Database 11GR2 Oracle Database

More information

Monitoring and Diagnosing Oracle RAC Performance with Oracle Enterprise Manager

Monitoring and Diagnosing Oracle RAC Performance with Oracle Enterprise Manager Monitoring and Diagnosing Oracle RAC Performance with Oracle Enterprise Manager Kai Yu, Orlando Gallegos Dell Oracle Solutions Engineering Oracle OpenWorld 2010, Session S316263 3:00-4:00pm, Thursday 23-Sep-2010

More information

LearnFromGuru Polish your knowledge

LearnFromGuru Polish your knowledge SQL SERVER 2008 R2 /2012 (TSQL/SSIS/ SSRS/ SSAS BI Developer TRAINING) Module: I T-SQL Programming and Database Design An Overview of SQL Server 2008 R2 / 2012 Available Features and Tools New Capabilities

More information

Sakila Sample Database

Sakila Sample Database Table of Contents 1 Preface and Legal Notices... 1 2 Introduction... 3 3 History... 3 4 Installation... 3 5 Structure... 5 5.1 Tables... 7 5.2 Views... 12 5.3 Stored Procedures... 13 5.4 Stored Functions...

More information

Architectural patterns for building real time applications with Apache HBase. Andrew Purtell Committer and PMC, Apache HBase

Architectural patterns for building real time applications with Apache HBase. Andrew Purtell Committer and PMC, Apache HBase Architectural patterns for building real time applications with Apache HBase Andrew Purtell Committer and PMC, Apache HBase Who am I? Distributed systems engineer Principal Architect in the Big Data Platform

More information

Performance for Site Builders

Performance for Site Builders Performance for Site Builders Erik Webb Erik Webb @erikwebb Senior Technical Consultant Acquia Acquia Agenda Introduction Evaluating Modules What to Look For Types of Caching Configuring Drupal Performance-related

More information

Full Text Search with Sphinx

Full Text Search with Sphinx OSCON 2009 Peter Zaitsev, Percona Inc Andrew Aksyonoff, Sphinx Technologies Inc. Sphinx in a nutshell Free, open-source full-text search engine Fast indexing and searching Scales well Lots of other (unique)

More information

MySQL és Hadoop mint Big Data platform (SQL + NoSQL = MySQL Cluster?!)

MySQL és Hadoop mint Big Data platform (SQL + NoSQL = MySQL Cluster?!) MySQL és Hadoop mint Big Data platform (SQL + NoSQL = MySQL Cluster?!) Erdélyi Ernő, Component Soft Kft. erno@component.hu www.component.hu 2013 (c) Component Soft Ltd Leading Hadoop Vendor Copyright 2013,

More information

Using MySQL for Big Data Advantage Integrate for Insight Sastry Vedantam sastry.vedantam@oracle.com

Using MySQL for Big Data Advantage Integrate for Insight Sastry Vedantam sastry.vedantam@oracle.com Using MySQL for Big Data Advantage Integrate for Insight Sastry Vedantam sastry.vedantam@oracle.com Agenda The rise of Big Data & Hadoop MySQL in the Big Data Lifecycle MySQL Solutions for Big Data Q&A

More information

SQL - QUICK GUIDE. Allows users to access data in relational database management systems.

SQL - QUICK GUIDE. Allows users to access data in relational database management systems. http://www.tutorialspoint.com/sql/sql-quick-guide.htm SQL - QUICK GUIDE Copyright tutorialspoint.com What is SQL? SQL is Structured Query Language, which is a computer language for storing, manipulating

More information

Enabling development teams to move fast. PostgreSQL at Zalando

Enabling development teams to move fast. PostgreSQL at Zalando Enabling development teams to move fast PostgreSQL at Zalando About us Valentine Gogichashvili Database Engineer @Zalando twitter: @valgog google+: +valgog email: valentine.gogichashvili@zalando.de About

More information

Database Scalability and Oracle 12c

Database Scalability and Oracle 12c Database Scalability and Oracle 12c Marcelle Kratochvil CTO Piction ACE Director All Data/Any Data marcelle@piction.com Warning I will be covering topics and saying things that will cause a rethink in

More information

Analytics March 2015 White paper. Why NoSQL? Your database options in the new non-relational world

Analytics March 2015 White paper. Why NoSQL? Your database options in the new non-relational world Analytics March 2015 White paper Why NoSQL? Your database options in the new non-relational world 2 Why NoSQL? Contents 2 New types of apps are generating new types of data 2 A brief history of NoSQL 3

More information

Choosing a Data Model for Your Database

Choosing a Data Model for Your Database In This Chapter This chapter describes several issues that a database administrator (DBA) must understand to effectively plan for a database. It discusses the following topics: Choosing a data model for

More information

Transactions and ACID in MongoDB

Transactions and ACID in MongoDB Transactions and ACID in MongoDB Kevin Swingler Contents Recap of ACID transactions in RDBMSs Transactions and ACID in MongoDB 1 Concurrency Databases are almost always accessed by multiple users concurrently

More information

Concepts Design Basics Command-line MySQL Security Loophole

Concepts Design Basics Command-line MySQL Security Loophole Part 2 Concepts Design Basics Command-line MySQL Security Loophole Databases Flat-file Database stores information in a single table usually adequate for simple collections of information Relational Database

More information

Study concluded that success rate for penetration from outside threats higher in corporate data centers

Study concluded that success rate for penetration from outside threats higher in corporate data centers Auditing in the cloud Ownership of data Historically, with the company Company responsible to secure data Firewall, infrastructure hardening, database security Auditing Performed on site by inspecting

More information

W I S E. SQL Server 2008/2008 R2 Advanced DBA Performance & WISE LTD.

W I S E. SQL Server 2008/2008 R2 Advanced DBA Performance & WISE LTD. SQL Server 2008/2008 R2 Advanced DBA Performance & Tuning COURSE CODE: COURSE TITLE: AUDIENCE: SQSDPT SQL Server 2008/2008 R2 Advanced DBA Performance & Tuning SQL Server DBAs, capacity planners and system

More information

Amazon Redshift & Amazon DynamoDB Michael Hanisch, Amazon Web Services Erez Hadas-Sonnenschein, clipkit GmbH Witali Stohler, clipkit GmbH 2014-05-15

Amazon Redshift & Amazon DynamoDB Michael Hanisch, Amazon Web Services Erez Hadas-Sonnenschein, clipkit GmbH Witali Stohler, clipkit GmbH 2014-05-15 Amazon Redshift & Amazon DynamoDB Michael Hanisch, Amazon Web Services Erez Hadas-Sonnenschein, clipkit GmbH Witali Stohler, clipkit GmbH 2014-05-15 2014 Amazon.com, Inc. and its affiliates. All rights

More information

Basics on Geodatabases

Basics on Geodatabases Basics on Geodatabases 1 GIS Data Management 2 File and Folder System A storage system which uses the default file and folder structure found in operating systems. Uses the non-db formats we mentioned

More information

PostgreSQL Past, Present, and Future. 2013 EDB All rights reserved.

PostgreSQL Past, Present, and Future. 2013 EDB All rights reserved. PostgreSQL Past, Present, and Future 2013 EDB All rights reserved. Outline Past: A Brief History of PostgreSQL Present: New Features In PostgreSQL 9.5 Future: Features in PostgreSQL 9.6 and Beyond The

More information

Performance Counters. Microsoft SQL. Technical Data Sheet. Overview:

Performance Counters. Microsoft SQL. Technical Data Sheet. Overview: Performance Counters Technical Data Sheet Microsoft SQL Overview: Key Features and Benefits: Key Definitions: Performance counters are used by the Operations Management Architecture (OMA) to collect data

More information

ORACLE DATABASE 10G ENTERPRISE EDITION

ORACLE DATABASE 10G ENTERPRISE EDITION ORACLE DATABASE 10G ENTERPRISE EDITION OVERVIEW Oracle Database 10g Enterprise Edition is ideal for enterprises that ENTERPRISE EDITION For enterprises of any size For databases up to 8 Exabytes in size.

More information

news from Tom Bacon about Monday's lecture

news from Tom Bacon about Monday's lecture ECRIC news from Tom Bacon about Monday's lecture I won't be at the lecture on Monday due to the work swamp. The plan is still to try and get into the data centre in two weeks time and do the next migration,

More information

Securing and Accelerating Databases In Minutes using GreenSQL

Securing and Accelerating Databases In Minutes using GreenSQL Securing and Accelerating Databases In Minutes using GreenSQL Unified Database Security All-in-one database security and acceleration solution Simplified management, maintenance, renewals and threat update

More information

MySQL performance in a cloud. Mark Callaghan

MySQL performance in a cloud. Mark Callaghan MySQL performance in a cloud Mark Callaghan Special thanks Eric Hammond (http://www.anvilon.com) provided documentation that made all of my work much easier. What is this thing called a cloud? Deployment

More information

SQL Server An Overview

SQL Server An Overview SQL Server An Overview SQL Server Microsoft SQL Server is designed to work effectively in a number of environments: As a two-tier or multi-tier client/server database system As a desktop database system

More information

low-level storage structures e.g. partitions underpinning the warehouse logical table structures

low-level storage structures e.g. partitions underpinning the warehouse logical table structures DATA WAREHOUSE PHYSICAL DESIGN The physical design of a data warehouse specifies the: low-level storage structures e.g. partitions underpinning the warehouse logical table structures low-level structures

More information

HBase Schema Design. NoSQL Ma4ers, Cologne, April 2013. Lars George Director EMEA Services

HBase Schema Design. NoSQL Ma4ers, Cologne, April 2013. Lars George Director EMEA Services HBase Schema Design NoSQL Ma4ers, Cologne, April 2013 Lars George Director EMEA Services About Me Director EMEA Services @ Cloudera ConsulFng on Hadoop projects (everywhere) Apache Commi4er HBase and Whirr

More information

Database Replication with MySQL and PostgreSQL

Database Replication with MySQL and PostgreSQL Database Replication with MySQL and PostgreSQL Fabian Mauchle Software and Systems University of Applied Sciences Rapperswil, Switzerland www.hsr.ch/mse Abstract Databases are used very often in business

More information

Introduction. Part I: Finding Bottlenecks when Something s Wrong. Chapter 1: Performance Tuning 3

Introduction. Part I: Finding Bottlenecks when Something s Wrong. Chapter 1: Performance Tuning 3 Wort ftoc.tex V3-12/17/2007 2:00pm Page ix Introduction xix Part I: Finding Bottlenecks when Something s Wrong Chapter 1: Performance Tuning 3 Art or Science? 3 The Science of Performance Tuning 4 The

More information

Detecting (and even preventing) SQL Injection Using the Percona Toolkit and Noinject!

Detecting (and even preventing) SQL Injection Using the Percona Toolkit and Noinject! Detecting (and even preventing) SQL Injection Using the Percona Toolkit and Noinject! Justin Swanhart Percona Live, April 2013 INTRODUCTION 2 Introduction 3 Who am I? What do I do? Why am I here? The tools

More information

In this session, we use the table ZZTELE with approx. 115,000 records for the examples. The primary key is defined on the columns NAME,VORNAME,STR

In this session, we use the table ZZTELE with approx. 115,000 records for the examples. The primary key is defined on the columns NAME,VORNAME,STR 1 2 2 3 In this session, we use the table ZZTELE with approx. 115,000 records for the examples. The primary key is defined on the columns NAME,VORNAME,STR The uniqueness of the primary key ensures that

More information

A basic create statement for a simple student table would look like the following.

A basic create statement for a simple student table would look like the following. Creating Tables A basic create statement for a simple student table would look like the following. create table Student (SID varchar(10), FirstName varchar(30), LastName varchar(30), EmailAddress varchar(30));

More information

making drupal run fast

making drupal run fast making drupal run fast 2 Objectives Improve drupal performance Provide Simple tips on Increasing Drupal performance We have some data from load testing a site in these different configs: ++ plain drupal

More information

Tier Architectures. Kathleen Durant CS 3200

Tier Architectures. Kathleen Durant CS 3200 Tier Architectures Kathleen Durant CS 3200 1 Supporting Architectures for DBMS Over the years there have been many different hardware configurations to support database systems Some are outdated others

More information

MySQL Cluster Delivering Scalable & Highly Available Session Management

MySQL Cluster Delivering Scalable & Highly Available Session Management MySQL Cluster Delivering Scalable & Highly Available Session Management Mat Keep (mat.keep@oracle.com) MySQL Cluster Product Management Bernd Ocklin (bernd.ocklin@oracle.com) Director,

More information

How To Build A Fault Tolerant Mythrodmausic Installation

How To Build A Fault Tolerant Mythrodmausic Installation High-availability mechanisms in MySQL Ari J. Flinkman ari@flinkman.com, University of Helsinki Abstract. With MySQL, the popular commercial open source relational database engine, been implemented several

More information

Using Redis as a Cache Backend in Magento

Using Redis as a Cache Backend in Magento Using Redis as a Cache Backend in Magento Written by: Alexey Samorukov Aleksandr Lozhechnik Kirill Morozov Table of Contents PROBLEMS WITH THE TWOLEVELS CACHE BACKEND CONFIRMING THE ISSUE SOLVING THE ISSUE

More information

Improving MySQL/MariaDB query performance through optimizer tuning. Sergey Petrunya Timour Katchaounov {psergey,timour}@montyprogram.

Improving MySQL/MariaDB query performance through optimizer tuning. Sergey Petrunya Timour Katchaounov {psergey,timour}@montyprogram. Improving MySQL/MariaDB query performance through optimizer tuning Sergey Petrunya Timour Katchaounov {psergey,timour}@montyprogram.com What is an optimizer and why do I need to tune it 2 03:14:28 PM Why

More information

Who did what, when, where and how MySQL Audit Logging. Jeremy Glick & Andrew Moore 20/10/14

Who did what, when, where and how MySQL Audit Logging. Jeremy Glick & Andrew Moore 20/10/14 Who did what, when, where and how MySQL Audit Logging Jeremy Glick & Andrew Moore 20/10/14 Intro 2 Hello! Intro 3 Jeremy Glick MySQL DBA Head honcho of Chicago MySQL meetup 13 years industry experience

More information

New Features in MySQL 5.0, 5.1, and Beyond

New Features in MySQL 5.0, 5.1, and Beyond New Features in MySQL 5.0, 5.1, and Beyond Jim Winstead jimw@mysql.com Southern California Linux Expo February 2006 MySQL AB 5.0: GA on 19 October 2005 Expanded SQL standard support: Stored procedures

More information

Structured Data Storage

Structured Data Storage Structured Data Storage Xgen Congress Short Course 2010 Adam Kraut BioTeam Inc. Independent Consulting Shop: Vendor/technology agnostic Staffed by: Scientists forced to learn High Performance IT to conduct

More information