Automatic MySQL Schema Management with Skeema. Evan Elias Percona Live, April 2017

Size: px
Start display at page:

Download "Automatic MySQL Schema Management with Skeema. Evan Elias Percona Live, April 2017"

Transcription

1 Automatic MySQL Schema Management with Skeema Evan Elias Percona Live, April 2017

2 What is Schema Management? Organize table schemas in a repo Execution of all DDL, on the correct MySQL instances, with the correct OSC flags Not to be confused with specific OSC tools! Schema management is a separate concept / higher layer 2

3 Prior Art 3

4 Introducing Skeema CLI tool for schema management Designed specifically for MySQL / InnoDB Free and open source (Apache 2.0 license) Written in Go 4

5 Location in the MySQL toolchain Skeema s functionality combines/replaces several types of tools: Schema + Schema + dumper diff-er DDL / OSC executor 5

6 DESIGN PRINCIPLES

7 Manage schemas like code Top-level directory for each pool/cluster Subdirectory for each database schema One file for each table, containing CREATE TABLE statement Config files may be placed in any dir / subdir, and they stack 7

8 Declarative schema management Filesystem defines what is the ideal state of schemas Tool automatically figures out how to reach this state on a DB No need to ever create migrations or DDL by hand! 8

9 None of this 9

10 or this 10

11 DEFINITELY not this XML?!? NOPE NOPE NOPE 11

12 Repo is CREATE TABLE all the way down git diff skeema diff 12

13 Very very agnostic OSC tool Service discovery Sharding scheme SCM tool Application language 13

14 Environments Configure multiple environments (dev, test, stage, prod; any arbitrary name) Also support patterns such as every engineer has their own dev DB on localhost Ability to migrate one environment at a time Visibility into the state of an environment via diff 14

15 Flexible configuration Config powerful enough for diverse use-cases: Ability to override settings at multiple levels: environment, cluster, or schema Options for conditionally controlling behavior based on table size 15

16 Configuration examples In production, use pt-osc when altering tables over 1GB, or use MySQL 5.6 built-in online DDL for anything smaller [production] alter-wrapper="/usr/local/bin/pt-online-schema-change --execute --alter {CLAUSES} D={SCHEMA},t={TABLE},h={HOST},P={PORT},u={USER},p={PASSWORDX}" alter-wrapper-min-size=1g alter-algorithm=inplace alter-lock=none 16

17 Configuration examples In dev, always just use standard ALTERs [development] skip-alter-wrapper skip-alter-algorithm skip-alter-lock 17

18 Configuration examples In everything but dev, apply extra safety checks to destructive DDL, but only for tables with at least one row. In dev, always allow destructive DDL without any extra safety checks. safe-below-size=1 [dev] allow-unsafe 18

19 Configuration examples For a specific schema, apply different flags to pt-osc In /var/schemas/.skeema: alter-wrapper="/usr/local/bin/pt-online-schema-change In /var/schemas/some-cluster/some-schema/.skeema: alter-wrapper="/usr/local/bin/pt-online-schema-change extra-flag 19

20 Configuration examples When interacting with any schema on a particular cluster, increase innodb_lock_wait_timeout and use different sql_mode In /var/schemas/special-cluster/.skeema: connect-options= innodb_lock_wait_timeout=60,sql_mode= STRICT_ALL_TABLES,ALLOW_INVALID_DATES' 20

21 USAGE

22 Dumping schemas to filesystem Command: skeema init [environment] Schema + Schema + dumper diff-er DDL / OSC executor 22

23 skeema init Point it at a MySQL instance For each database schema on the instance, creates a subdir For each table in each schema, creates one.sql file, containing a CREATE TABLE statement In each dir, a.skeema option file is created, storing the host/ port (at top level) or schema name (in each database subdir) 23

24 skeema init: options Same option-handling as the standard MySQL client! -h host -P port -S socket # if host=localhost -u user -ppassword -p # prompt for password If ~/.my.cnf exists, automatically parsed for user and password. Default output dirname based on host/port; override with --dir 24

25 skeema init Example above assumes user and password obtained from ~/.my.cnf Port is non-standard due to use of Docker 25

26 skeema init 26

27 skeema init 27

28 Updating files from out-of-band changes Command: skeema pull [environment] Schema + Schema + dumper diff-er DDL / OSC executor 28

29 skeema pull 29

30 Linting schemas Command: skeema lint Schema + Schema + dumper diff-er DDL / OSC executor 30

31 skeema lint Identifies invalid SQL Normalizes format of table files to match MySQL s SHOW CREATE TABLE Future versions may also warn on redundant indexes, lack of PK, etc Exit code 0=no changes, 1=reformatted something, 2+=error 31

32 skeema lint Original CREATE TABLE, with any arbitrary formatting 32

33 skeema lint 33

34 skeema lint After reformatting 34

35 skeema lint Another example: catching typos / invalid SQL 35

36 skeema lint 36

37 Diff-ing schemas Command: skeema diff [environment] Schema + Schema + dumper diff-er DDL / OSC executor 37

38 skeema diff Compares state of database(s) to that of filesystem, generating DDL as output Generated DDL, if executed, would cause database(s) to match the filesystem Usable as a dry run before executing schema changes 38

39 skeema diff Starting with the above table as an example 39

40 skeema diff Let s say we want to add a new col and index. Just edit the file. 40

41 skeema diff skeema diff shows, but does not run, the corresponding DDL 41

42 skeema diff: use in pipelines STDOUT is SQL, STDERR is human log messages Exit code 0=no diffs, 1=some diffs, 2+=error Use --quick option to only output instances with at least one diff. (Good for finding shards where a schema change didn t complete!) If an external OSC tool is configured, the output will include the full command-line 42

43 Executing DDL Command: skeema push [environment] Schema + Schema + dumper diff-er DDL / OSC executor 43

44 skeema push Exact same behavior as skeema diff, but actually executes the DDL! Recommended workflow: run skeema diff first to preview changes, then skeema push to execute them Can double-check by running skeema diff again after; should show no remaining differences 44

45 skeema push 45

46 Destructive actions and safety checks 46

47 ADVANCED CONFIG

48 Shell-outs and variables Several options configure external command-lines These support use of variable placeholders Conn variables: {HOST}, {PORT}, {USER}, etc DDL-specific vars: {TYPE}, {CLAUSES}, {SIZE}, etc Automatic escaping of quotes in variable values 48

49 Online schema change alter-wrapper: external command for ALTERs ddl-wrapper: external command for ALTER, CREATE, DROP alter-algorithm and alter-lock: force use of MySQL 5.6 online DDL (if not using an external tool) alter-wrapper-min-size: Only apply alter-wrapper to tables that are at least this size, in bytes 49

50 Online schema change example In production, use pt-osc when altering tables over 1GB, or use MySQL 5.6 built-in online DDL for anything smaller [production] alter-wrapper="/usr/local/bin/pt-online-schema-change --execute --alter {CLAUSES} D={SCHEMA},t={TABLE},h={HOST},P={PORT},u={USER},p={PASSWORDX}" alter-wrapper-min-size=1g alter-algorithm=inplace alter-lock=none 50

51 Online schema change example 51

52 Service discovery and sharding Ordinarily, host option specifies a hostname or IP address (or comma-separated list of them) For service discovery, host-wrapper option allows host to represent a cluster name instead host-wrapper defines a command-line to shell out to. Command s STDOUT will be parsed and interpreted as one or more hosts (or host:port) to use 52

53 Service discovery example The executed script should be capable of doing lookups (e.g. in ZooKeeper, etcd, or Consul) such as "return the master of pool foo" or "return all shard masters for sharded pool xyz" host-wrapper=/some/script.sh /mysql/{environment}/{host} 53

54 Sharding behavior For a sharded topology, ensure that host-wrapper returns all shard masters diff and push default to applying to all shards, one at a time first-only option to just run against first returned shard concurrent-instances option to run against multiple at once pull always runs against first shard only 54

55 WORKFLOWS

56 Local dev DB per engineer Engineers run skeema on dev box when interacting with dev DB Configure dev environment in.skeema file to use localhost [development] host=localhost socket=/path/to/mysql.sock allow-unsafe skip-alter-wrapper skip-alter-algorithm skip-alter-lock 56

57 Dev: pulling in others changes git pull # bring local schema repo # up-to-date skeema diff development # preview what changes need # to be applied to local dev skeema push development # apply the changes to local dev 57

58 Dev: Using Rails / Django / etc Make changes to model definitions and/or migrations as usual rails migrate # or however you prefer to apply # changes to development skeema pull development # update the schema repo # to reflect those changes git commit 58

59 Prod: pull request workflow 1. Update table files in a branch, using preferred dev workflow 2. Open a pull request 3. Review change as normal, merge to master when ready 4. Check out master, run git pull 5. Run skeema diff to preview DDL 6. Run skeema push to execute DDL 59

60 UNDER THE HOOD

61 How it works Performs test DDL operations in a temporary database (_skeema_tmp by default, but configurable) Introspection on information_schema, not parsing DDL All auto-generated DDL automatically sanity-tested 61

62 Additional Golang modules Go La Tengo: MySQL automation and schema introspection mybase: MySQL-like option parsing Both are open source, see 62

63 Future directions More statefulness Support for table and column renames Agent mode, with GitHub API integration Easier gh-ost and fb-osc integration Missing features: FKs, partitioning, compression, other storage engines, SSL, views, triggers, stored procs, fulltext, spatial 63

64 Q + A

Garment Documentation

Garment Documentation Garment Documentation Release 0.1 Evan Borgstrom March 25, 2014 Contents i ii A collection of fabric tasks that roll up into a single deploy function. The whole process is coordinated through a single

More information

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering Developing and Testing Java Microservices on Docker Todd Fasullo Dir. Engineering Agenda Who is Smartsheet + why we started using Docker Docker fundamentals Demo - creating a service Demo - building service

More information

MySQL Database Administrator Training NIIT, Gurgaon India 31 August-10 September 2015

MySQL Database Administrator Training NIIT, Gurgaon India 31 August-10 September 2015 MySQL Database Administrator Training Day 1: AGENDA Introduction to MySQL MySQL Overview MySQL Database Server Editions MySQL Products MySQL Services and Support MySQL Resources Example Databases MySQL

More information

G a l e r a C l u s t e r Schema Upgrades

G a l e r a C l u s t e r Schema Upgrades G a l e r a C l u s t e r Schema Upgrades Seppo Jaakola Codership Agenda Galera Cluster Overview DDL vs DML Demo of DDL Replication in Galera Cluster Rolling Schema Upgrade (RSU) Total Order Isolation

More information

Liquibase Version Control For Your Schema. Nathan Voxland April 3,

Liquibase Version Control For Your Schema. Nathan Voxland April 3, Liquibase Version Control For Your Schema Nathan Voxland April 3, 2014 nathan@liquibase.org @nvoxland Agenda 2 Why Liquibase Standard Usage Tips and Tricks Q&A Why Liquibase? 3 You would never develop

More information

MySQL 8.0: Atomic DDLs Implementation and Impact

MySQL 8.0: Atomic DDLs Implementation and Impact MySQL 8.0: Atomic DDLs Implementation and Impact Ståle Deraas, Senior Development Manager Oracle, MySQL 26 Sept 2017 Copyright 2017, Oracle and/or its its affiliates. All All rights reserved. Safe Harbor

More information

If Only I Could Find My Databases-Service Discovery with SmartStack and MySQL. Susanne Lehmann, Yelp

If Only I Could Find My Databases-Service Discovery with SmartStack and MySQL. Susanne Lehmann, Yelp If Only I Could Find My Databases-Service Discovery with SmartStack and MySQL Susanne Lehmann, Yelp susanne@yelp.com Me I ve been a DBA for 16 years I ve been working with all kinds of relational and NoSQL

More information

Automating Schema. Changes using

Automating Schema. Changes using Automating Schema Changes using Percona Live Open Source Database Conference 2017-04-27 12:50 PM - 1:40 PM Ballroom D " How people build software Tom Krouper @CaptainEyesight @tomkrouper Database Infrastructure

More information

ITS. MySQL for Database Administrators (40 Hours) (Exam code 1z0-883) (OCP My SQL DBA)

ITS. MySQL for Database Administrators (40 Hours) (Exam code 1z0-883) (OCP My SQL DBA) MySQL for Database Administrators (40 Hours) (Exam code 1z0-883) (OCP My SQL DBA) Prerequisites Have some experience with relational databases and SQL What will you learn? The MySQL for Database Administrators

More information

Git & Github Fundamental by Rajesh Kumar.

Git & Github Fundamental by Rajesh Kumar. Git & Github Fundamental by Rajesh Kumar About me Rajesh Kumar DevOps Architect @RajeshKumarIN www.rajeshkumar.xyz www.scmgalaxy.com 2 What is git Manage your source code versions Who should use Git Anyone

More information

JenkinsPipelineUnit. Test your Continuous Delivery Pipeline. Ozan Gunalp - Emmanuel Quincerot

JenkinsPipelineUnit. Test your Continuous Delivery Pipeline. Ozan Gunalp - Emmanuel Quincerot JenkinsPipelineUnit Test your Continuous Delivery Pipeline Ozan Gunalp - Emmanuel Quincerot Who we are Ozan Günalp Emmanuel Quincerot Developer at LesFurets Developer at LesFurets PhD in Computer Science

More information

Bitte decken Sie die schraffierte Fläche mit einem Bild ab. Please cover the shaded area with a picture. (24,4 x 7,6 cm)

Bitte decken Sie die schraffierte Fläche mit einem Bild ab. Please cover the shaded area with a picture. (24,4 x 7,6 cm) Bitte decken Sie die schraffierte Fläche mit einem Bild ab. Please cover the shaded area with a picture. (24,4 x 7,6 cm) Continuous Integration / Continuous Testing Seminary IIC Requirements Java SE Runtime

More information

Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018

Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018 Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018 Version Control September 18, 2018 Thursday (September 20) First in-class exercise On using git (today is a prelude with useful

More information

Build & Launch Tools (BLT) Automating best practices for enterprise sites

Build & Launch Tools (BLT) Automating best practices for enterprise sites Build & Launch Tools (BLT) Automating best practices for enterprise sites Who are you? Matthew Grasmick @grasmash on Drupal.org, twitter, etc. Acquia Professional Services, 4yrs Drupalist, 9yrs Maintainer

More information

Git Introduction CS 400. February 11, 2018

Git Introduction CS 400. February 11, 2018 Git Introduction CS 400 February 11, 2018 1 Introduction Git is one of the most popular version control system. It is a mature, actively maintained open source project originally developed in 2005 by Linus

More information

PostgreSQL migration from AWS RDS to EC2

PostgreSQL migration from AWS RDS to EC2 PostgreSQL migration from AWS RDS to EC2 Technology lover Worked as Software Engineer, Team lead, DevOps, DBA, Data analyst Sr. Tech Architect at Coverfox Email me at mistryhitul007@gmail.com Tweet me

More information

Mysql Workbench Doesn't Show

Mysql Workbench Doesn't Show Mysql Workbench Doesn't Show Information_schema Right now both on MySQL Workbench and also phpmyadmin I can see and view schema and the tables in side it. 'show create table 'actions'': Table 'resource.actions'

More information

1. Git. Robert Snapp

1. Git. Robert Snapp . Git Robert Snapp snapp@cs.uvm.edu Department of Computer Science University of Vermont CS 3 (UVM). Git Fall 0 / Git CS 3 (UVM). Git Fall 0 / Setting your defaults in /.git > git config --global user.name

More information

Handel-CodePipeline Documentation

Handel-CodePipeline Documentation Handel-CodePipeline Documentation Release 0.0.6 David Woodruff Dec 11, 2017 Getting Started 1 Introduction 3 2 Installation 5 3 Tutorial 7 4 Using Handel-CodePipeline 11 5 Handel-CodePipeline File 13

More information

User's Guide c-treeace SQL Explorer

User's Guide c-treeace SQL Explorer User's Guide c-treeace SQL Explorer Contents 1. c-treeace SQL Explorer... 4 1.1 Database Operations... 5 Add Existing Database... 6 Change Database... 7 Create User... 7 New Database... 8 Refresh... 8

More information

How to version control like a pro: a roadmap to your reproducible & collaborative research

How to version control like a pro: a roadmap to your reproducible & collaborative research How to version control like a pro: a roadmap to your reproducible & collaborative research The material in this tutorial is inspired by & adapted from the Software Carpentry lesson on version control &

More information

MySQL Online Schema Changes at Uber and Tango. Ben Black and David Turner

MySQL Online Schema Changes at Uber and Tango. Ben Black and David Turner MySQL Online Schema Changes at Uber and Tango Ben Black and David Turner Who are we? Ben Black - DBA Tango, talks to himself thinking it is expert advice, herded cats at PalominoDB, tracked users at Garmin,

More information

Object Oriented Programming. Week 1 Part 2 Git and egit

Object Oriented Programming. Week 1 Part 2 Git and egit Object Oriented Programming Part 2 Git and egit Lecture Review of Git Local Repository Remote Repository Using Git from Eclipse Review of Git 3 What is Git? Software Configuration Management (SCM) Supports

More information

Online Schema Changes for Maximizing Uptime. David Turner - Dropbox Ben Black - Tango

Online Schema Changes for Maximizing Uptime. David Turner - Dropbox Ben Black - Tango Online Schema Changes for Maximizing Uptime David Turner - Dropbox Ben Black - Tango About us Dropbox Tango Dropbox is a free service that lets you bring your photos, docs, and videos anywhere and share

More information

Version Control for PL/SQL

Version Control for PL/SQL Version Control for PL/SQL Customer Spotlight Success Story: Rhenus Logistics, leading logistics service company from Germany, uses this solution. Manages over 20,000 packages Packages are spread over

More information

MySQL 5.0 Certification Study Guide

MySQL 5.0 Certification Study Guide MySQL 5.0 Certification Study Guide Paul DuBois, Stefan Hinz, and Carsten Pedersen MySQC Press 800 East 96th Street, Indianapolis, Indiana 46240 USA Table of Contents Introduction 1 About This Book 1 Sample

More information

GitHub's online schema migrations for MySQL

GitHub's online schema migrations for MySQL GitHub's online schema migrations for MySQL Tom Krouper, Shlomi Noach GitHub Illustrated with ghosts How people build software 1 GitHub The world s largest Octocat T-shirt and stickers store And water

More information

Tips from the Trenches Preventing downtime for the over extended DBA. Andrew Moore Senior Remote DBA Percona Managed Services

Tips from the Trenches Preventing downtime for the over extended DBA. Andrew Moore Senior Remote DBA Percona Managed Services Tips from the Trenches Preventing downtime for the over extended DBA Andrew Moore Senior Remote DBA Percona Managed Services Your Presenter Andrew Moore @mysqlboy on twitter 1+ year in Manager Services

More information

PostgreSQL to MySQL A DBA's Perspective. Patrick

PostgreSQL to MySQL A DBA's Perspective. Patrick PostgreSQL to MySQL A DBA's Perspective Patrick King @mr_mustash Yelp s Mission Connecting people with great local businesses. My Database Experience Started using Postgres 7 years ago Postgres 8.4 (released

More information

git Version: 2.0b Merge combines trees, and checks out the result Pull does a fetch, then a merge If you only can remember one command:

git Version: 2.0b Merge combines trees, and checks out the result Pull does a fetch, then a merge If you only can remember one command: Merge combines trees, and checks out the result Pull does a fetch, then a merge If you only can remember one command: git --help Get common commands and help git --help How to use git

More information

#25. Use Source Control in a Single- Developer Environment

#25. Use Source Control in a Single- Developer Environment #25. Use Source Control in a Single- Developer Environment How Do I...? Part 1: Install Source Control 1. Browse to the ClassFiles folder on your desktop, and then double-click Git-[version]- preview-[date].exe.

More information

Bitnami MariaDB for Huawei Enterprise Cloud

Bitnami MariaDB for Huawei Enterprise Cloud Bitnami MariaDB for Huawei Enterprise Cloud First steps with the Bitnami MariaDB Stack Welcome to your new Bitnami application running on Huawei Enterprise Cloud! Here are a few questions (and answers!)

More information

Revision Control. An Introduction Using Git 1/15

Revision Control. An Introduction Using Git 1/15 Revision Control An Introduction Using Git 1/15 Overview 1. What is revision control? 2. 30,000 foot view 3. Software - git and gitk 4. Setting up your own repository on onyx 2/15 What is version control?

More information

Bitnami MySQL for Huawei Enterprise Cloud

Bitnami MySQL for Huawei Enterprise Cloud Bitnami MySQL for Huawei Enterprise Cloud Description MySQL is a fast, reliable, scalable, and easy to use open-source relational database system. MySQL Server is intended for mission-critical, heavy-load

More information

Think Small to Scale Big

Think Small to Scale Big Think Small to Scale Big Intro to Containers for the Datacenter Admin Pete Zerger Principal Program Manager, MVP pete.zerger@cireson.com Cireson Lee Berg Blog, e-mail address, title Company Pete Zerger

More information

SQL Server containers with in-container data

SQL Server containers with in-container data SQL Server containers with in-container data This article provides step-by-step instructions for working with SQL Server containers with databases running in the container s private file system ( in-container

More information

Instant ALTER TABLE in MariaDB Marko Mäkelä Lead Developer InnoDB

Instant ALTER TABLE in MariaDB Marko Mäkelä Lead Developer InnoDB Instant ALTER TABLE in MariaDB 10.3+ Marko Mäkelä Lead Developer InnoDB History of ALTER TABLE in MySQL/MariaDB The old way (also known as ALGORITHM=COPY starting with MySQL 5.6) CREATE TABLE ; INSERT

More information

Software Development I

Software Development I 6.148 Software Development I Two things How to write code for web apps. How to collaborate and keep track of your work. A text editor A text editor A text editor Anything that you re used to using Even

More information

Developing Kubernetes Services

Developing Kubernetes Services / MARCH 2019 / CON LONDON Developing Kubernetes Services at Airbnb Scale What is kubernetes? @MELAN IECEBULA Who am I? A BRIEF HISTORY Why Microservices? 4000000 3000000 MONOLITH LOC 2000000 1000000 0

More information

Pentaho Data Integration (PDI) Project Setup and Lifecycle Management

Pentaho Data Integration (PDI) Project Setup and Lifecycle Management Pentaho Data Integration (PDI) Project Setup and Lifecycle Management This page intentionally left blank. Contents Overview... 1 Before You Begin... 2 Terms You Should Know... 2 Use Case: Sales Reporting

More information

GitHub's online schema migrations for MySQL

GitHub's online schema migrations for MySQL GitHub's online schema migrations for MySQL Jonah Berquist @github/database-infrastructure engineering manager Illustrated with ghosts (and product placement) How people build software 1 GitHub The world

More information

Programming for Data Science Syllabus

Programming for Data Science Syllabus Programming for Data Science Syllabus Learn to use Python and SQL to solve problems with data Before You Start Prerequisites: There are no prerequisites for this program, aside from basic computer skills.

More information

Version Control for PL/SQL

Version Control for PL/SQL Version Control for PL/SQL What is the problem? How did we solve it? Implementation Strategies Demo!! Customer Spotlight Success Story: (In other words, this really works. :-) ) Rhenus Logistics, leading

More information

Installation Guide for Kony Fabric Containers Solution On-Premises

Installation Guide for Kony Fabric Containers Solution On-Premises Kony Fabric Installation Guide for Kony Fabric Containers Solution On-Premises Release V8.3.0.0 GA Document Relevance and Accuracy This document is considered relevant to the Release stated on this title

More information

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes Git Charles J. Geyer School of Statistics University of Minnesota Stat 8054 Lecture Notes 1 Before Anything Else Tell git who you are. git config --global user.name "Charles J. Geyer" git config --global

More information

A Practical Introduction to Version Control Systems

A Practical Introduction to Version Control Systems A Practical Introduction to Version Control Systems A random CAKES(less) talk on a topic I hope others find useful! a.brampton@lancs.ac.uk 4th February 2009 Outline 1 What is Version Control Basic Principles

More information

Shell Project, part 3 (with Buddy System Memory Manager) ( points)

Shell Project, part 3 (with Buddy System Memory Manager) ( points) CS 453: Operating Systems Project 6 Shell Project, part 3 (with Buddy System Memory Manager) (120 140 points) Due Date -On Class Home Page 1 Introduction In the last release of the mini-shell we will provide

More information

MyRocks Storage Engine Status Update. Sergei Petrunia MariaDB Meetup New York February, 2018

MyRocks Storage Engine Status Update. Sergei Petrunia MariaDB Meetup New York February, 2018 MyRocks Storage Engine Status Update Sergei Petrunia MariaDB Meetup New York February, 2018 2 Plan What MyRocks is How it is provided in upstream Packaging MyRocks in MariaDB MyRocks

More information

Module 9: Managing Schema Objects

Module 9: Managing Schema Objects Module 9: Managing Schema Objects Overview Naming guidelines for identifiers in schema object definitions Storage and structure of schema objects Implementing data integrity using constraints Implementing

More information

Upgrading to MySQL 8.0+: a More Automated Upgrade Experience. Dmitry Lenev, Software Developer Oracle/MySQL, November 2018

Upgrading to MySQL 8.0+: a More Automated Upgrade Experience. Dmitry Lenev, Software Developer Oracle/MySQL, November 2018 Upgrading to MySQL 8.0+: a More Automated Upgrade Experience Dmitry Lenev, Software Developer Oracle/MySQL, November 2018 Safe Harbor Statement The following is intended to outline our general product

More information

Chapter 8: Working With Databases & Tables

Chapter 8: Working With Databases & Tables Chapter 8: Working With Databases & Tables o Working with Databases & Tables DDL Component of SQL Databases CREATE DATABASE class; o Represented as directories in MySQL s data storage area o Can t have

More information

CS 520: VCS and Git. Intermediate Topics Ben Kushigian

CS 520: VCS and Git. Intermediate Topics Ben Kushigian CS 520: VCS and Git Intermediate Topics Ben Kushigian https://people.cs.umass.edu/~rjust/courses/2017fall/cs520/2017_09_19.zip Our Goal Our Goal (Overture) Overview the basics of Git w/ an eye towards

More information

Github/Git Primer. Tyler Hague

Github/Git Primer. Tyler Hague Github/Git Primer Tyler Hague Why Use Github? Github keeps all of our code up to date in one place Github tracks changes so we can see what is being worked on Github has issue tracking for keeping up with

More information

Oracle NoSQL Database 3.0

Oracle NoSQL Database 3.0 Oracle NoSQL Database 3.0 Installation, Cluster Topology Deployment, HA and more Seth Miller, Oracle ACE Robert Greene, Product Management / Strategy Oracle Server Technologies July 09, 2014 Safe Harbor

More information

Version control system (VCS)

Version control system (VCS) Version control system (VCS) Remember that you are required to keep a process-log-book of the whole development solutions with just one commit or with incomplete process-log-book (where it is not possible

More information

Splunk & Git. The joys and pitfalls of managing your Splunk deployment with Git. Copyright 2018

Splunk & Git. The joys and pitfalls of managing your Splunk deployment with Git. Copyright 2018 Splunk & Git The joys and pitfalls of managing your Splunk deployment with Git About me: Lowell Alleman Working with Splunk since 2008 Splunk consulting since 2013 Background Software development Systems

More information

Version Control with GIT

Version Control with GIT Version Control with GIT Benjamin Roth CIS LMU München Benjamin Roth (CIS LMU München) Version Control with GIT 1 / 30 Version Control Version control [...] is the management of changes to documents, computer

More information

Using the SDACK Architecture to Build a Big Data Product. Yu-hsin Yeh (Evans Ye) Apache Big Data NA 2016 Vancouver

Using the SDACK Architecture to Build a Big Data Product. Yu-hsin Yeh (Evans Ye) Apache Big Data NA 2016 Vancouver Using the SDACK Architecture to Build a Big Data Product Yu-hsin Yeh (Evans Ye) Apache Big Data NA 2016 Vancouver Outline A Threat Analytic Big Data product The SDACK Architecture Akka Streams and data

More information

Configuration Management

Configuration Management Configuration Management A True Life Story October 16, 2018 Page 1 Configuration Management: A True Life Story John E. Picozzi Senior Drupal Architect Drupal Providence 401-228-7660 oomphinc.com 72 Clifford

More information

Oracle Alter Table Add Unique Constraint Using Index Tablespace

Oracle Alter Table Add Unique Constraint Using Index Tablespace Oracle Alter Table Add Unique Constraint Using Index Tablespace You must also have space quota in the tablespace in which space is to be acquired in Additional Prerequisites for Constraints and Triggers

More information

vfire Server Console Guide Version 1.5

vfire Server Console Guide Version 1.5 vfire Server Console Guide Table of Contents Version Details 4 Copyright 4 About this guide 6 Intended Audience 6 Standards and Conventions 6 Introduction 7 Accessing the Server Console 8 Creating a System

More information

Configuration Management in Drupal 8

Configuration Management in Drupal 8 Configuration Management in Drupal 8 Antonio De Marco - antonio@nuvole.org Fabian Bircher - fabian@nuvole.org Nuvole a 100% Drupal company Our Distributed Team Italy Belgium Czech Republic Our Clients

More information

Kaivos User Guide Getting a database account 2

Kaivos User Guide Getting a database account 2 Contents Kaivos User Guide 1 1. Getting a database account 2 2. MySQL client programs at CSC 2 2.1 Connecting your database..................................... 2 2.2 Setting default values for MySQL connection..........................

More information

1Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12

1Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1 Insert Information Protection Policy Classification from Slide 12 Getting Started with MySQL Santo Leto Principal Technical Support Engineer, MySQL Jesper Wisborg Krogh Principal Technical Support Engineer,

More information

MySQL for Database Administrators Ed 3.1

MySQL for Database Administrators Ed 3.1 Oracle University Contact Us: 1.800.529.0165 MySQL for Database Administrators Ed 3.1 Duration: 5 Days What you will learn The MySQL for Database Administrators training is designed for DBAs and other

More information

GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1

GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1 GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1 WHO AM I? @tushar_rishav GSoC'16 student contributing to coala - a static code analysis tool, under Python So ware Foundation. A senior

More information

The Old World. Have you ever had to collaborate on a project by

The Old World. Have you ever had to collaborate on a project by What the Git? The Old World Have you ever had to collaborate on a project by Shuttling a USB drive back and forth Using Dropbox E-mailing your document around Have you ever accidentally deleted someone

More information

Error code. Description of the circumstances under which the problem occurred. Less than 200. Linux system call error.

Error code. Description of the circumstances under which the problem occurred. Less than 200. Linux system call error. Error code Less than 200 Error code Error type Description of the circumstances under which the problem occurred Linux system call error. Explanation of possible causes Countermeasures 1001 CM_NO_MEMORY

More information

70-459: Transition Your MCITP: Database Administrator 2008 or MCITP: Database Developer 2008 to MCSE: Data Platform

70-459: Transition Your MCITP: Database Administrator 2008 or MCITP: Database Developer 2008 to MCSE: Data Platform 70-459: Transition Your MCITP: Database Administrator 2008 or MCITP: Database Developer 2008 to MCSE: Data Platform The following tables show where changes to exam 70-459 have been made to include updates

More information

Git Basi, workflow e concetti avanzati (pt2)

Git Basi, workflow e concetti avanzati (pt2) Git Basi, workflow e concetti avanzati (pt2) Andrea Fornaia, Ph.D. Department of Mathema.cs and Computer Science University of Catania Viale A.Doria, 6-95125 Catania Italy fornaia@dmi.unict.it hfp://www.cs.unict.it/~fornaia/

More information

One System To Fit Them All:

One System To Fit Them All: One System To Fit Them All: Shared MySQL Hosting At Facebook Andrew Regner Production Engineer MySQL Infrastructure Data choices @Facebook Everyone has data to persist Also have: ZippyDB, ODS, Scuba,

More information

MariaDB 10.3 vs MySQL 8.0. Tyler Duzan, Product Manager Percona

MariaDB 10.3 vs MySQL 8.0. Tyler Duzan, Product Manager Percona MariaDB 10.3 vs MySQL 8.0 Tyler Duzan, Product Manager Percona Who Am I? My name is Tyler Duzan Formerly an operations engineer for more than 12 years focused on security and automation Now a Product Manager

More information

NEW TOOLS. ngage vaping. MATT GRISWOLD

NEW TOOLS. ngage vaping. MATT GRISWOLD NEW TOOLS ngage vaping MATT GRISWOLD grizz@20c.com WHAT IS NGAGE? Command line tool to interface with network devices, evolved from internal tools. https://github.com/20c/ngage http://ngage.readthedocs.io/en/latest/

More information

How To Change Existing Table Schema In Sql Server 2008

How To Change Existing Table Schema In Sql Server 2008 How To Change Existing Table Schema In Sql Server 2008 Topic Status: Some information in this topic is preview and subject to change Applies to: SQL Server (SQL Server 2008 through current version), Azure

More information

Full Stack boot camp

Full Stack boot camp Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building

More information

Linux System Management with Puppet, Gitlab, and R10k. Scott Nolin, SSEC Technical Computing 22 June 2017

Linux System Management with Puppet, Gitlab, and R10k. Scott Nolin, SSEC Technical Computing 22 June 2017 Linux System Management with Puppet, Gitlab, and R10k Scott Nolin, SSEC Technical Computing 22 June 2017 Introduction I am here to talk about how we do Linux configuration management at the Space Science

More information

withenv Documentation

withenv Documentation withenv Documentation Release 0.7.0 Eric Larson Aug 02, 2017 Contents 1 withenv 3 2 Installation 5 3 Usage 7 3.1 YAML Format.............................................. 7 3.2 Command Substitutions.........................................

More information

Oracle Exam 1z0-883 MySQL 5.6 Database Administrator Version: 8.0 [ Total Questions: 100 ]

Oracle Exam 1z0-883 MySQL 5.6 Database Administrator Version: 8.0 [ Total Questions: 100 ] s@lm@n Oracle Exam 1z0-883 MySQL 5.6 Database Administrator Version: 8.0 [ Total Questions: 100 ] Oracle 1z0-883 : Practice Test Question No : 1 Consider the Mysql Enterprise Audit plugin. You are checking

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

Aldryn Installer Documentation

Aldryn Installer Documentation Aldryn Installer Documentation Release 0.2.0 Iacopo Spalletti February 06, 2014 Contents 1 django CMS Installer 3 1.1 Features.................................................. 3 1.2 Installation................................................

More information

Mastering phpmyadmiri 3.4 for

Mastering phpmyadmiri 3.4 for Mastering phpmyadmiri 3.4 for Effective MySQL Management A complete guide to getting started with phpmyadmin 3.4 and mastering its features Marc Delisle [ t]open so 1 I community experience c PUBLISHING

More information

1Z Oracle. MySQL 5 Database Administrator Certified Professional Part I

1Z Oracle. MySQL 5 Database Administrator Certified Professional Part I Oracle 1Z0-873 MySQL 5 Database Administrator Certified Professional Part I Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-873 A. Use the --log-queries-indexes option. B. Use the

More information

Lessons learned while automating MySQL in the AWS cloud. Stephane Combaudon DB Engineer - Slice

Lessons learned while automating MySQL in the AWS cloud. Stephane Combaudon DB Engineer - Slice Lessons learned while automating MySQL in the AWS cloud Stephane Combaudon DB Engineer - Slice Our environment 5 DB stacks Data volume ranging from 30GB to 2TB+. Master + N slaves for each stack. Master

More information

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015 Git all meaningful operations can be expressed in terms of the rebase command -Linus Torvalds, 2015 a talk by alum Ross Schlaikjer for the GNU/Linux Users Group Sound familiar? add commit diff init clone

More information

Version Control: Gitting Started

Version Control: Gitting Started ting Started Cai Li October 2014 What is Version Control? Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. Local Version

More information

RocksDB Key-Value Store Optimized For Flash

RocksDB Key-Value Store Optimized For Flash RocksDB Key-Value Store Optimized For Flash Siying Dong Software Engineer, Database Engineering Team @ Facebook April 20, 2016 Agenda 1 What is RocksDB? 2 RocksDB Design 3 Other Features What is RocksDB?

More information

Test Repository Documentation

Test Repository Documentation Test Repository Documentation Release trunk Testrepository Contributors July 09, 2015 Contents 1 Test Repository users manual 3 1.1 Overview................................................. 3 1.2 Configuration...............................................

More information

CSE 15L Winter Midterm :) Review

CSE 15L Winter Midterm :) Review CSE 15L Winter 2015 Midterm :) Review Makefiles Makefiles - The Overview Questions you should be able to answer What is the point of a Makefile Why don t we just compile it again? Why don t we just use

More information

Managing Projects with Git

Managing Projects with Git Managing Projects with Git (and other command-line skills) Dr. Chris Mayfield Department of Computer Science James Madison University Feb 09, 2018 Part 1: Command Line Review as needed YouTube video tutorials

More information

TDDC88 Lab 4 Software Configuration Management

TDDC88 Lab 4 Software Configuration Management TDDC88 Lab 4 Software Configuration Management Introduction "Version control is to programmers what the safety net is to a trapeze artist. Knowing the net is there to catch them if they fall, aerialists

More information

bin/kafka-preferred-replica-election.sh --zookeeper localhost:12913/kafka --path-to-json-file topicpartitionlist.json

bin/kafka-preferred-replica-election.sh --zookeeper localhost:12913/kafka --path-to-json-file topicpartitionlist.json Replication tools 1. Preferred Replica Leader Election Tool FAQ What happens if the preferred replica is not in the ISR? How to find if all the partitions have been moved to the "preferred replica" after

More information

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS SOFTWARE ARCHITECTURE NOVEMBER 15, 2016 CONTINUOUS DELIVERY WITH DC/OS AND JENKINS AGENDA Presentation Introduction to Apache Mesos and DC/OS Components that make up modern infrastructure Running Jenkins

More information

ALTER TABLE Improvements in MARIADB Server. Marko Mäkelä Lead Developer InnoDB MariaDB Corporation

ALTER TABLE Improvements in MARIADB Server. Marko Mäkelä Lead Developer InnoDB MariaDB Corporation ALTER TABLE Improvements in MARIADB Server Marko Mäkelä Lead Developer InnoDB MariaDB Corporation Generic ALTER TABLE in MariaDB CREATE TABLE ; INSERT SELECT; RENAME ; DROP TABLE ; Retroactively named

More information

Con guration Management

Con guration Management Con guration Management Theory and practice Andrea Pescetti andrea@nuvole.org Fabian Bircher fabian@nuvole.org Antonio De Marco antonio@nuvole.org web: nuvole.org twitter: @nuvoleweb Our Distributed Team

More information

IBM DB2 Query Patroller. Administration Guide. Version 7 SC

IBM DB2 Query Patroller. Administration Guide. Version 7 SC IBM DB2 Query Patroller Administration Guide Version 7 SC09-2958-00 IBM DB2 Query Patroller Administration Guide Version 7 SC09-2958-00 Before using this information and the product it supports, be sure

More information

Git, the magical version control

Git, the magical version control Git, the magical version control Git is an open-source version control system (meaning, it s free!) that allows developers to track changes made on their code files throughout the lifetime of a project.

More information

'information_schema' When Using Lock Tables

'information_schema' When Using Lock Tables Access Denied For User To Database 'information_schema' When Using Lock Tables In this tutorial, we will show you how to import a MySQL Database using phpmyadmin. to database 'information_schema' when

More information

Package MonetDB.R. March 21, 2016

Package MonetDB.R. March 21, 2016 Version 1.0.1 Title Connect MonetDB to R Package MonetDB.R March 21, 2016 Author Hannes Muehleisen [aut, cre], Anthony Damico [aut], Thomas Lumley [ctb] Maintainer Hannes Muehleisen Imports

More information

Lab 08. Command Line and Git

Lab 08. Command Line and Git Lab 08 Command Line and Git Agenda Final Project Information All Things Git! Make sure to come to lab next week for Python! Final Projects Connect 4 Arduino ios Creative AI Being on a Team - How To Maximize

More information

MySQL Configuration management at Dropbox VIACHESLAV BAKHMUTOV, PETER BOROS PERCONA LIVE AMSTERDAM, 2016

MySQL Configuration management at Dropbox VIACHESLAV BAKHMUTOV, PETER BOROS PERCONA LIVE AMSTERDAM, 2016 MySQL Configuration management at Dropbox VIACHESLAV BAKHMUTOV, PETER BOROS PERCONA LIVE AMSTERDAM, 2016 Background We are in the middle of a big refactor Main motivations Better integration testing -

More information