Oracle Mysql, Ein Einstieg in Die 'Andere' Datenbank Von Oracle
Total Page:16
File Type:pdf, Size:1020Kb
Oracle MySQL, ein Einstieg in die 'andere' Datenbank von Oracle Carsten Thalheimer, PreSales MySQL EMEA Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL – Still a startup? ... More than 25 Years MySQL !!! … More than 15 Years InnoDB of Oracle Stewardship … More than 10 Years MySQL within Oracle 2 Agenda • MySQL “Status Quo June 2019” • MySQL Overview • MySQL InnoDB Cluster • MySQL Community vs MySQL Enterprise Edition Basics of Business Administration Something went wrong… Let‘s assume we turn back time to end of the 19th century, what is one of the major business (US East coast)? Ice trading (1894) - U.S. ice trade employed an estimated 94,000 people - Revenue ~1.3 Billion$, compared with today [$ in 2014] - In 1903, the business reduced to <8% of 1899 4 MySQL is #2 most widely used database … Source: http://db-engines.com/en/ranking (Status: June 2019) State of Open-Source RDBMSs, 2015 – Gartner: Open-source relational DBMSs have matured significantly and can be used to replace commercial RDBMSs at a considerable TCO saving. Information leaders, DBAs and application development management can now consider them as a standard choice for deploying applications. Gartner Strategic assumptions for 2018: […] more than 70% of new in-house applications will be developed on an OSDBMS and […] 50% of existing commercial RDBMS instances will have been converted or will be in process https://www.gartner.com/doc/3033819/state-opensource-rdbmss- Stack Overflow Developer Survey Developer Survey Results 2017 2018 …but MySQL is the #1 choice for development https://insights.stackoverflow.com/survey/2018/#technology-databases MySQL Powers Social: MySQL Powers eCommerce: MySQL Powers SaaS: MySQL Powers FinTech: MySQL Powers Cloud: Agenda • MySQL “Status Quo June 2019” • MySQL Overview • MySQL InnoDB Cluster • MySQL Community vs MySQL Enterprise Edition MySQL Community Edition Clients and Applications NoSQL SQL • Instance Simple access patterns Complex queries with joins → OS process (1x) + LWP Compromise on consistency ACID transactions for performance Ad-hoc data format Well defined schemas • Database = Schema Simple operation Rich set of tools → OS directory (some) InnoDB Storage Engine • Tables mysqld process → OS file (many) Replication and Clustering 10 MySQL • ACID compliant and fully transactional with ROLLBACK/COMMIT/Foreign Keys • Build in Clustering available (InnoDB Cluster) • InnoDB supports encryption and compression • A typical MySQL database is normally in the three digit GB • Theoretical limits – maximum tablespace size is 64TB – serve more than 1000 columns per table and can – contain a maximum of 64 secondary indexes. • MySQL → Oracle DB ? • MySQL Shell/MySQL Workbench → SQL*Plus/SQL Developer • MySQL Enterprise Backup* → Oracle RMAN • MySQL Replication → Oracle Data Guard • MySQL InnoDB Cluster → Oracle RAC • MySQL Enterprise TDE* → Oracle ASO + Integration in Oracle Enterprise Manager * und Oracle Secure Backup * * Enterprise Edition/Commercial only 12 MySQL Clients and Applications Default 3306 [33060] via TLS 1.2 or TLS 1.3 MySQL Client MySQL Shell MySQL Workbench Replication and Clustering 13 Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a landmark release as MySQL eventually evolved beyond SQL-92 and the purely relational dogma. Among a few other standard SQL features, MySQL now supports window functions (over) and common table expressions (with). Without a doubt, these are the two most important post- SQL-92 features.” https://modern-sql.com/blog/2018-04/mysql-8.0 MySQL Usecases MySQL - A Relational database MySQL like Microsoft SQL , DB2, Sybase, Postgres … MySQL - A DocumentStore a bit like MongoDB … 15 How DBAs see data How Developers see data { "GNP" : 249704, "Name" : "Belgium", "government" : { "GovernmentForm" : "Constitutional Monarchy, Federation", "HeadOfState" : "Philippe I" }, "_ i d " : "BEL", "IndepYear" : 1830, "demographics" : { "Population" : 10239000, "LifeExpectancy" : 77.8000030517578 }, "geography" : { "Region" : "Western Europe", "SurfaceArea" : 30518, "Continent" : "Europe" } } Copyright @ 2018 Oracle and/or its affiliates. All rights reserved. MySQL Document Store demo “cheat sheet” js> session.createSchema('name') js> db.getCollections() Create js> db.createCollection(‘myCollection') js> db.myCollection.add({“param1":“value1", “param2":“value2”}) js> db.myCollection.find() Read js> db.myCollection.find().limit(1) js> db.myCollection.find("_id = '00005af018430000000000000002'") Update js> db.myCollection.modify("_id = '1234'").set(“param",“value") Delete js> db.myCollection.remove("_id = '1234'") js> session.startTransaction() js> … js> session.rollback() Transaction Copyright @ 2018 Oracle and/or its affiliates. All rights reserved. DBMS or NoSQL ? Why not both ? Copyright @ 2018 Oracle and/or its affiliates. All rights reserved. Basic Concepts SQL & NoSQL (joining the worlds) Agenda • MySQL “Status Quo June 2019” • MySQL Overview • MySQL InnoDB Cluster • MySQL Community vs MySQL Enterprise Edition Breakout: MySQL InnoDB Cluster 21 Virtually all organizations require their most critical systems to be 100% highly available 22 23 MySQL Group Replication: What Is It? • Group Replication library – Implementation of Replicated Database State Machine theory • MySQL GCS is based on Paxos (variant of Mencius) App Servers with – Provides virtually synchronous replication for MySQL 5.7+ & MySQL 8 MySQL Router – Supported on all MySQL platforms • Linux, Windows, Solaris, OSX, FreeBSD “Multi-master update anywhere replication plugin for MySQL with built-in conflict detection and resolution, automatic distributed recovery, and group membership.” MySQL Group Replication InnoDB Cluster Clients 1.) mysqlsh - App Servers with 2.) dba.deploySandboxInstance(3501) MySQL Router 3.) dba.deploySandboxInstance(3502) 4.) dba.deploySandboxInstance(3503) 5.) \connect root@localhost:3501 - 6.) mc = dba.createCluster("mycluster") MySQL Shell 7.) mc.addInstance("root@localhost:3502") Setup, Manage, 8.) mc.addInstance("root@localhost:3503") Orchestrate - mysqlrouter --bootstrap localhost:3501 --user=root MySQL Group Replication End of Breakout: MySQL InnoDB Cluster 25 Agenda • MySQL “Status Quo June 2019” • MySQL Overview • MySQL InnoDB Cluster • MySQL Community vs MySQL Enterprise Edition MySQL Community MySQL Enterprise Edition Edition Lifecycle - 5y+3y=8y Major Release - Every 2-3 years Minor Releases - Every Quarter - Oracle CPU, MySQL Database (Critical Patch Updates Security Alerts and Bulletins) MySQL Community Clients and Applications NoSQL SQL Simple access patterns Complex queries with joins Compromise on consistency ACID transactions for performance Ad-hoc data format Well defined schemas Simple operation Rich set of tools InnoDB Storage Engine mysqld process Replication / Cluster 28 MySQL Enterprise Edition - Support Clients and Applications NoSQL SQL Simple access patterns Complex queries with joins Compromise on consistency ACID transactions for performance Ad-hoc data format Well defined schemas Simple operation Rich set of tools Support InnoDB Storage Engine mysqld process Replication / Cluster 29 MySQL Enterprise Support • Based on Metalink , https://support.oracle.com • Largest MySQL engineering and support organization • Backed by the MySQL developers • World-class support, in 29 languages • Hot fixes & maintenance releases • 24x7x365 • Unlimited incidents Get immediate help for any MySQL • Consultative support issue, plus expert advice • Global scale and reach 30 MySQL Enterprise Edition [Integration] Clients and Applications NoSQL SQL Simple access patterns Complex queries with joins Compromise on consistency ACID transactions for performance 3rd Party Tools 3rd Party Tools Ad-hoc data format Well defined schemas 3rd Party Tools 3rd Party Tools rd Integration Simple operation Rich set of tools 3 Party Tools Support InnoDB Storage Engine mysqld process Replication / Cluster 31 MySQL & Oracle Product Integrations • Oracle Linux • Oracle Enterprise Manager • Oracle VM • Oracle Fusion Middleware • Oracle Solaris • Oracle GoldenGate • Oracle Clusterware • Oracle Audit Vault & Database Firewall • Oracle Secure Backup • MyOracle Online Support MySQL Integrates into your Oracle Environment 32 MySQL Enterprise Edition – Plugins [SQL Firewall, TDE … ] Clients and Applications NoSQL SQL Authentication Simple access patterns Complex queries with joins Compromise on consistency ACID transactions Audit for performance 3rd Party Tools 3rd Party Tools Ad-hoc data format Well defined schemas Firewall 3rd Party Tools 3rd Party Tools rd Integration Simple operation Rich set of tools 3 Party Tools TDE/Encryption Support InnoDB Storage Engine Masking mysqld process Replication / Cluster * All Plugins and Tools are ‚free‘ as part of the Support Subscription 33 MySQL Enterprise Edition • MySQL Enterprise Masking – De-identify, Anonymize Sensitive Data • MySQL Enterprise TDE – AES 256 encryption, Key Management • MySQL Enterprise Authentication – External Authentication Modules • MySQL Enterprise Encryption – Public/Private Key Cryptography, Asymmetric Encryption • MySQL Enterprise Firewall – Block SQL Injection Attacks, Intrusion Detection • MySQL Enterprise Audit – User Activity Auditing, Regulatory Compliance 34 MySQL Enterprise Edition – Plugins [SQL Firewall, TDE … ] Clients and Applications NoSQL SQL Authentication Online Backup Simple access patterns Complex queries with joins Compromise on consistency ACID transactions Audit for performance 3rd Party Tools Monitoring 3rd Party