Combining SQL and NoSQL with MySQL

Size: px
Start display at page:

Download "Combining SQL and NoSQL with MySQL"

Transcription

1 Combining SQL and NoSQL with MySQL Manyi Lu Director MySQL Optimizer Team, Oracle April, 2018 Copyright 2016, 2014, Oracle and/or its affiliates. All rights reserved.

2 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle. 2

3 Agenda JSON data type JSON functions Indexing JSON data Partial update of JSON 3

4 The New JSON Datatype CREATE TABLE employees (data JSON); INSERT INTO employees VALUES ('{"id": 1, "name": "Jane"}'), ('{"id": 2, "name": "Joe"}'); SELECT * FROM employees; data {"id": 1, "name": "Jane"} {"id": 2, "name": "Joe"} Validation on INSERT No reparsing on SELECT Optimized for read Dictionary of sorted keys Can compare JSON/SQL Can convert JSON/SQL Supports all native JSON datatypes Also supports date, time, timestamp etc. 4

5 Agenda JSON data type JSON functions Indexing JSON data Partial update of JSON 5

6 JSON Functions MySQL 5.7 and 8.0 JSON_ARRAY_APPEND() JSON_ARRAY_INSERT() JSON_ARRAY() JSON_CONTAINS_PATH() JSON_CONTAINS() JSON_DEPTH() JSON_EXTRACT() JSON_INSERT() JSON_KEYS() JSON_LENGTH() JSON_MERGE[_PRESERVE]() JSON_OBJECT() JSON_QUOTE() JSON_REMOVE() JSON_REPLACE() JSON_SEARCH() JSON_SET() JSON_TYPE() JSON_UNQUOTE() JSON_VALID() JSON_PRETTY() JSON_STORAGE_SIZE() JSON_STORAGE_FREE() JSON_ARRAYAGG() JSON_OBJECTAGG() JSON_MERGE_PATCH() JSON_TABLE() 6

7 Inlined JSON Path Expressions [[database.]table.]column-> $<path spec> SELECT * FROM employees WHERE data-> $.name = Jane"; Is a short hand for SELECT * FROM employees WHERE JSON_EXTRACT(data, $.name ) = Jane ; SELECT * FROM employees WHERE data->'$.id'= 2; ALTER ADD COLUMN id INT AS (data->'$.id') CREATE VIEW.. AS SELECT data->'$.id', data->'$.name' FROM 7

8 JSON_TABLE JSON is not limited to CRUD, can also be used in complex queries JSON_TABLE creates a relational view of JSON data Each object in a JSON array as a row JSON values within an JSON object as column values Query the result of JSON_TABLE() as a relational table using SQL Leverage existing framework for aggregation 8

9 JSON_TABLE CREATE TABLE t1(json_col JSON); INSERT INTO t1 VALUES ( '{ "people": [ { "name":"john Smith", "address":"780 Mission St, San Francisco, CA 94103"}, { "name":"sally Brown", "address":"75 37th Ave S, St Cloud, MN 94103"}, { "name":"john Johnson", "address":"1262 Roosevelt Trail, Raymond, ME 04071"} ); ] }' 9

10 JSON_TABLE Convert JSON documents to relational tables SELECT people.* FROM t1, JSON_TABLE(json_col, '$.people[*]' COLUMNS ( name VARCHAR(40) PATH '$.name', address VARCHAR(100) PATH '$.address')) people; name address John Smith 780 Mission St, San Francisco, CA Sally Brown 75 37th Ave S, St Cloud, MN 9410 John Johnson 1262 Roosevelt Trail, Raymond, ME

11 JSON_TABLE Filter JSON data SELECT people.* FROM t1, JSON_TABLE(json_col, '$.people[*]' COLUMNS ( name VARCHAR(40) PATH '$.name', address VARCHAR(100) PATH '$.address')) people; WHERE people.name LIKE 'John%'; name address John Smith 780 Mission St, San Francisco, CA John Johnson 1262 Roosevelt Trail, Raymond, ME

12 JSON_TABLE Nested Arrays [ ] { "father":"john", "mother":"mary", "marriage_date":" ", "children": [ { "name":"eric", "age":12 }, { "name":"beth", "age":10 } ] }, { "father":"paul", "mother":"laura", "children": [ { "name":"sarah", "age":9}, { "name":"noah", "age":3}, { "name":"peter", "age":1} ] } id father married child_id child age 1 John 1 1 Eric 12 1 John 1 2 Beth 10 2 Paul 0 1 Sarah 9 2 Paul 0 2 Noah 3 2 Paul 0 3 Peter 1 12

13 JSON_TABLE Nested Arrays JSON_TABLE (families, '$[*]' COLUMNS ( id FOR ORDINALITY, father VARCHAR(30) PATH '$.father', married INTEGER EXISTS PATH '$.marriage_date', NESTED PATH '$.children[*]' COLUMNS ( child_id FOR ORDINALITY, child VARCHAR(30) PATH '$.name', age INTEGER PATH '$.age ) ) id father married child_id child age 1 John 1 1 Eric 12 1 John 1 2 Beth 10 2 Paul 0 1 Sarah 9 2 Paul 0 2 Noah 3 2 Paul 0 3 Peter 1 13

14 JSON_TABLE SQL aggregation on JSON data SELECT father, COUNT(*) "#children", AVG(age) "age average" FROM t, JSON_TABLE (families, '$[*]' COLUMNS ( id FOR ORDINALITY, father VARCHAR(30) PATH '$.father', NESTED PATH '$.children[*]' COLUMNS (age INTEGER PATH '$.age ) ) AS fam GROUP BY id, father; father #children age average John Paul

15 JSON Aggregation Combine JSON documents in multiple rows into a JSON array CREATE TABLE t1 (id INT, grp INT, jsoncol JSON); INSERT INTO t1 VALUES (1, 1, '{"key1":"value1","key2":"value2"}'); INSERT INTO t1 VALUES (2, 1, '{"keya":"valuea","keyb":"valueb"}'); SELECT JSON_ARRAYAGG(jsoncol) FROM t1; [{"key1":"value1","key2":"value2"}, {"keya":"valuea","keyb":"valueb"}, {"keyx":"valuex","keyy":"valuey"}] INSERT INTO t1 VALUES (3, 2, '{"keyx":"valuex","keyy":"valuey"}'); 15

16 JSON Aggregation Combine JSON documents in multiple rows into a JSON object CREATE TABLE t1 (id INT, grp INT, jsoncol JSON); INSERT INTO t1 VALUES (1, 1, '{"key1":"value1","key2":"value2"}'); INSERT INTO t1 VALUES (2, 1, '{"keya":"valuea","keyb":"valueb"}'); SELECT grp, JSON_OBJECTAGG(id, jsoncol) FROM t1 GROUP BY grp; 1 {"1":{"key1":"value1","key2":"value2"}, "2":{"keyA":"valueA","keyB":"valueB"}} 2 {"3":{"keyX":"valueX","keyY":"valueY"}} INSERT INTO t1 VALUES (3, 2, '{"keyx":"valuex","keyy":"valuey"}'); 16

17 Agenda JSON data type JSON functions Indexing JSON data Partial update of JSON 17

18 Indexing JSON data CREATE TABLE employees (data JSON); Use Functional Indexes, ALTER TABLE employees ADD COLUMN name VARCHAR(30) AS (data->> $.name ) VIRTUAL, ADD INDEX name_idx (name); STORED and VIRTUAL types are supported Functional index approach Use inlined JSON path or JSON_EXTRACT to specify field to be indexed Support both virtual and stored generated columns data->> $.name is a shorthand for JSON_UNQUOTE(data-> $.name ) 18

19 Simplified Functional Index Syntax Upcoming! In 5.7: Create a virtual column, then add an index on this column In 8.0: Add a functional index directly, hide creation of virtual column ALTER TABLE employees ADD COLUMN name VARCHAR(30) AS (data->> $.name ) VIRTUAL, ADD INDEX name_idx (name); ALTER TABLE employees ADD INDEX name_idx ((CAST(data->>"$.name" AS VARCHAR(30)))); 19

20 Indexing JSON Array Upcoming! 5.7: Single value index, one index record <-> one data record 8.0: Multi value index, multiple index records <-> one data record Multi-value index for efficient queries against array fields Use CAST( <expr> AS <type> ARRAY) to create multi-valued index Expr is any expression that returns JSON array Type is any SQL type supported by CAST() ALTER TABLE employees ADD INDEX name_idx ((CAST(data->>"$.address" AS VARCHAR(30) ARRAY)); 20

21 Indexing JSON Array id Families 1 {"father":"john", "mother":"mary", "marriage_date":" ", "children": [ {"name":"eric","age":12,"eyes":"blue"}, {"name":"beth","age":10, "eyes": "green"}]} 2 {"father":"paul", "mother": "Laura", "children": [ {"name":"sarah","age":9,"eyes":"brown"}, {"name":"noah","age":3,"eyes": "green"}, {"name":"peter","age":1,"eyes": "green"}]} Upcoming! CREATE TABLE t (id int primary key, families JSON); ALTER TABLE t ADD INDEX eye_color ((CAST(families->>"$.children[*].eyes" AS CHAR(10) ARRAY))) Index eye_color id blue 1 brown 2 green 1 green 2 21

22 Indexing JSON Array Find parents with children having brown eyes: Upcoming! SELECT id, families->>"$.father", families->>"$.mother" FROM t WHERE "brown" IN (families->>"$.children[*].eyes") id father mother 2 Paul Laura Index eye_color id blue 1 brown 2 green 1 green 2 22

23 Indexing JSON Array Upcoming! Find parents with children having either blue or brown eyes. SELECT id, families->>"$.father", families->>"$.mother" FROM t WHERE JSON_OVERLAPS(families->>"$.children[*].eyes", '["blue", "brown"]') Index id father mother 1 John Mary 2 Paul Laura eye_color id blue 1 brown 2 green 1 green 2 23

24 Agenda JSON data type JSON functions Indexing JSON data Partial update of JSON 24

25 Partial Update of JSON In 5.7: Updating a JSON document always causes the entire document to be written In 8.0: Automatically detect potential in-place updates JSON_SET, JSON_REPLACE, JSON_REMOVE Input and target columns are the same Updating existing values, not adding new ones New value is equal to or smaller than the original value, or previous partial update has left sufficient space In 8.0: Only diff is shipped through binlog (default full image) In 8.0: InnoDB supports partial update of BLOB 25

26 26

27 Agenda JSON data type JSON functions Indexing JSON data Partial update of JSON JSON or column? 27

28 Storing as JSON More flexible way to represent data that is hard to model in schema No painful schema changes Easier prototyping Fewer types to consider No enforced schema 28

29 Storing as Column Easier to apply schema to your application Schema may make applications easier to maintain over time as change is controlled; Do not have to expect as many permutations Allows some constraints over data 29

30 Hybrid: Schema + Schemaless CREATE TABLE pc_components ( id INT NOT NULL PRIMARY KEY, description VARCHAR (60) NOT NULL, vendor VARCHAR(30) NOT NULL, serial_number VARCHAR(30) NOT NULL, attributes JSON NOT NULL ); 30

Safe Harbor Statement

Safe Harbor Statement Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment

More information

More SQL in MySQL 8.0

More SQL in MySQL 8.0 More SQL in MySQL 8.0 Norvald H. Ryeng Sofware Development Senior Manager MySQL Optmizer Team November, 08 Program Agenda 3 4 Common table expressions (CTEs) Window functons JSON_TABLE Demo 5 6 7 3 Theory

More information

MySQL JSON. Morgan Tocker MySQL Product Manager. Copyright 2015 Oracle and/or its affiliates. All rights reserved.

MySQL JSON. Morgan Tocker MySQL Product Manager. Copyright 2015 Oracle and/or its affiliates. All rights reserved. MySQL 5.7 + JSON Morgan Tocker MySQL Product Manager Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not

More information

What Is New in Optmizer and Executor?

What Is New in Optmizer and Executor? MySQL 8.0: What Is New in Optmizer and Executor? Norvald H. Ryeng Sofware Development Senior Manager MySQL Optmizer Team October, 2018 Safe Harbor Statement The following is intended to outline our general

More information

NoSQL + SQL = MySQL. Nicolas De Rico Principal Solutions Architect

NoSQL + SQL = MySQL. Nicolas De Rico Principal Solutions Architect NoSQL + SQL = MySQL Nicolas De Rico Principal Solutions Architect nicolas.de.rico@oracle.com Safe Harbor Statement The following is intended to outline our general product direction. It is intended for

More information

NoSQL and SQL: The Best of Both Worlds

NoSQL and SQL: The Best of Both Worlds NoSQL and SQL: The Best of Both Worlds Mario Beck MySQL Presales Manager EMEA Mablomy.blogspot.de 5 th November, 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement

More information

Modern Development With MySQL

Modern Development With MySQL Modern Development With MySQL Nicolas De Rico nicolas.de.rico@oracle.com Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes

More information

MySQL 5.7: What s New in the Optimizer?

MySQL 5.7: What s New in the Optimizer? MySQL 5.7: What s New in the Optimizer? Manyi Lu, Olav Sandstaa MySQL Optimizer Team, Oracle September, 2015 Copyright 2015, 2014, Oracle and/or its its affiliates. All All rights reserved. Safe Harbor

More information

Using the MySQL Document Store

Using the MySQL Document Store Using the MySQL Document Store Alfredo Kojima, Sr. Software Dev. Manager, MySQL Mike Zinner, Sr. Software Dev. Director, MySQL Safe Harbor Statement The following is intended to outline our general product

More information

Introduction to the MySQL Document Store Alfredo Kojima, Rui Quelhas, Mike Zinner MySQL Middleware and Clients Team October 22, 2018

Introduction to the MySQL Document Store Alfredo Kojima, Rui Quelhas, Mike Zinner MySQL Middleware and Clients Team October 22, 2018 Introduction to the MySQL Document Store Alfredo Kojima, Rui Quelhas, Mike Zinner MySQL Middleware and Clients Team October 22, 2018 Safe Harbor Statement The following is intended to outline our general

More information

MySQL Next An overview of the MySQL 8 Beta

MySQL Next An overview of the MySQL 8 Beta MySQL Next An overview of the MySQL 8 Beta Svan Lankes, Cocus AG Carsten Thalheimer, Oracle MySQL Agenda Timelines so far Features Performance MySQL vs. MariaDB vs. Percona Where to get COCUS AG 21.11.2017

More information

Flexible Data Modeling in MariaDB

Flexible Data Modeling in MariaDB Flexible Data Modeling in MariaDB WHITE PAPER Part 2 JSON Table of Contents Introduction - Benefits and Limitations - Benefit - Limitations - Use Cases JSON Functions - Definitions - Create - Read - Indexes

More information

MySQL High available by design

MySQL High available by design MySQL High available by design Carsten Thalheimer Sales Consultant MySQL GBU EMEA (Carsten.Thalheimer@Oracle.com) Safe Harbor Statement The following is intended to outline our general product direction.

More information

Practical JSON in MySQL 5.7 and Beyond

Practical JSON in MySQL 5.7 and Beyond Practical JSON in MySQL 5.7 and Beyond Ike Walker GitHub Percona Live April 27, 2017 " How people build software What this talk is about How people build software 2 What this talk is about Using JSON in

More information

MARIADB & JSON: FLEXIBLE DATA MODELING

MARIADB & JSON: FLEXIBLE DATA MODELING MARIADB & JSON: FLEXIBLE DATA MODELING FEBRUARY 2019 MARIADB PLATFORM Transactions and Analytics, UNITED MariaDB Platform is an enterprise open source database for transactional, analytical or hybrid transactional/analytical

More information

3 / 120. MySQL 8.0. Frédéric Descamps - MySQL Community Manager - Oracle

3 / 120. MySQL 8.0. Frédéric Descamps - MySQL Community Manager - Oracle 1 / 120 2 / 120 3 / 120 MySQL 8.0 a Document Store with all the benefits of a transactional RDBMS Frédéric Descamps - MySQL Community Manager - Oracle 4 / 120 Save the date! 5 / 120 Safe Harbor Statement

More information

Paul Bird June 2018 Db2 = JSON + SQL

Paul Bird June 2018 Db2 = JSON + SQL Paul Bird June 2018 Db2 = JSON + SQL Safe Harbor Statement Copyright IBM Corporation 2018. All rights reserved. U.S. Government Users Restricted Rights - Use, duplication, or disclosure restricted by GSA

More information

MySQL 8.0 What s New in the Optimizer

MySQL 8.0 What s New in the Optimizer MySQL 8.0 What s New in the Optimizer Manyi Lu Director MySQL Optimizer & GIS Team, Oracle October 2016 Copyright Copyright 2 015, 2016,Oracle Oracle and/or and/or its its affiliates. affiliates. All All

More information

Creating and Working with JSON in Oracle Database

Creating and Working with JSON in Oracle Database Creating and Working with JSON in Oracle Database Dan McGhan Oracle Developer Advocate JavaScript & HTML5 January, 2016 Safe Harbor Statement The following is intended to outline our general product direction.

More information

MySQL Document Store. How to replace a NoSQL database by MySQL without effort but with a lot of gains?

MySQL Document Store. How to replace a NoSQL database by MySQL without effort but with a lot of gains? 1 / 71 2 / 71 3 / 71 MySQL Document Store How to replace a NoSQL database by MySQL without effort but with a lot of gains? Percona University, Ghent, Belgium June 2017 Frédéric Descamps - MySQL Community

More information

MySQL 5.7 News. Abel Flórez Technical Account Manager Copyright 2016 Oracle and/or its affiliates. All rights reserved.

MySQL 5.7 News. Abel Flórez Technical Account Manager Copyright 2016 Oracle and/or its affiliates. All rights reserved. MySQL 5.7 News Abel Flórez Technical Account Manager abel.florez@oracle.com Copyright 2016 Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The following is intended to outline

More information

State of the Dolphin Developing new Apps in MySQL 8

State of the Dolphin Developing new Apps in MySQL 8 State of the Dolphin Developing new Apps in MySQL 8 Highlights of MySQL 8.0 technology updates Mark Swarbrick MySQL Principle Presales Consultant Jill Anolik MySQL Global Business Unit Israel Copyright

More information

What's New in MySQL 5.7?

What's New in MySQL 5.7? What's New in MySQL 5.7? Norvald H. Ryeng Software Engineer norvald.ryeng@oracle.com Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information

More information

Safe Harbor Statement

Safe Harbor Statement Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment

More information

CGS 3066: Spring 2017 SQL Reference

CGS 3066: Spring 2017 SQL Reference CGS 3066: Spring 2017 SQL Reference Can also be used as a study guide. Only covers topics discussed in class. This is by no means a complete guide to SQL. Database accounts are being set up for all students

More information

Histogram Support in MySQL 8.0

Histogram Support in MySQL 8.0 Histogram Support in MySQL 8.0 Øystein Grøvlen Senior Principal Software Engineer MySQL Optimizer Team, Oracle February 2018 Program Agenda 1 2 3 4 5 Motivating example Quick start guide How are histograms

More information

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Re-Engineering Your Database Design with Oracle SQL Developer Data Modeler Swarnapriya Shridhar Curriculum IDC Operations Manager 2

More information

Part 1: IoT demo Part 2: MySQL, JSON and Flexible storage

Part 1: IoT demo Part 2: MySQL, JSON and Flexible storage Part 1: IoT demo Part 2: MySQL, JSON and Flexible storage $ node particle_mysql_all.js Starting... INSERT INTO cloud_data_json (name, data) values ('particle', '{\"data\":\"null\",\"ttl\":60,\"published_at\":\"2017-09-28t19:40:49.869z\",\"coreid\":\"1f0039000947343337373738

More information

MySQL InnoDB Cluster. MySQL HA Made Easy! Miguel Araújo Senior Software Developer MySQL Middleware and Clients. FOSDEM 18 - February 04, 2018

MySQL InnoDB Cluster. MySQL HA Made Easy! Miguel Araújo Senior Software Developer MySQL Middleware and Clients. FOSDEM 18 - February 04, 2018 MySQL InnoDB Cluster MySQL HA Made Easy! Miguel Araújo Senior Software Developer MySQL Middleware and Clients FOSDEM 18 - February 04, 2018 Safe Harbor Statement The following is intended to outline our

More information

InnoDB: What s new in 8.0

InnoDB: What s new in 8.0 InnoDB: What s new in 8.0 Sunny Bains Director Software Development Copyright 2017, Oracle and/or its its affiliates. All All rights reserved. Safe Harbor Statement The following is intended to outline

More information

How to Use JSON in MySQL Wrong

How to Use JSON in MySQL Wrong How to Use JSON in MySQL Wrong Bill Karwin, Square Inc. October, 2018 1 Me Database Developer at Square Inc. MySQL Quality Contributor Author of SQL Antipatterns: Avoiding the Pitfalls of Database Programming

More information

Oracle Create Table Foreign Key On Delete No

Oracle Create Table Foreign Key On Delete No Oracle Create Table Foreign Key On Delete No Action Can I create a foreign key against only part of a composite primary key? For example, if you delete a row from the ProductSubcategory table, it could

More information

replic8 The Eighth Generation of MySQL Replication Sven Sandberg MySQL Replication Core Team Lead

replic8 The Eighth Generation of MySQL Replication Sven Sandberg MySQL Replication Core Team Lead replic8 The Eighth Generation of MySQL Replication Sven Sandberg (sven.sandberg@oracle.com) MySQL Replication Core Team Lead Safe Harbour Statement The following is intended to outline our general product

More information

Press Release Writing Tips and Tricks for the Enterprise Technology Space

Press Release Writing Tips and Tricks for the Enterprise Technology Space A webinar for Press Release Writing Tips and Tricks for the Enterprise Technology Space Julie Sugishita Corporate Communications Manager Oracle May 19, 2016 julie.sugishita@oracle.com https://www.linkedin.com/in/juliesugishita

More information

SQL language. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

SQL language. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) SQL language Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 SQL - Structured Query Language SQL is a computer language for communicating with DBSM Nonprocedural (declarative) language What

More information

Selections. Lecture 4 Sections Robb T. Koether. Hampden-Sydney College. Wed, Jan 22, 2014

Selections. Lecture 4 Sections Robb T. Koether. Hampden-Sydney College. Wed, Jan 22, 2014 Selections Lecture 4 Sections 4.2-4.3 Robb T. Koether Hampden-Sydney College Wed, Jan 22, 2014 Robb T. Koether (Hampden-Sydney College) Selections Wed, Jan 22, 2014 1 / 38 1 Datatypes 2 Constraints 3 Storage

More information

MySQL as a Document Store. Ted Wennmark

MySQL as a Document Store. Ted Wennmark MySQL as a Document Store Ted Wennmark ted.wennmark@oracle.com Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and

More information

How Well Do Relational Database Engines Support

How Well Do Relational Database Engines Support How Well Do Relational Database Engines Support JSON? Christian Antognini @ChrisAntognini ITOUGTD19 @ChrisAntognini Senior principal consultant, trainer and partner at Trivadis christian.antognini@trivadis.com

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

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Copyright 2012, Oracle and/or its affiliates. All rights reserved. 1 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any

More information

Oracle NoSQL Database at OOW 2017

Oracle NoSQL Database at OOW 2017 Oracle NoSQL Database at OOW 2017 CON6544 Oracle NoSQL Database Cloud Service Monday 3:15 PM, Moscone West 3008 CON6543 Oracle NoSQL Database Introduction Tuesday, 3:45 PM, Moscone West 3008 CON6545 Oracle

More information

NoSQL + SQL = MySQL Get the Best of Both Worlds

NoSQL + SQL = MySQL Get the Best of Both Worlds NoSQL + SQL = MySQL Get the Best of Both Worlds Jesper Wisborg Krogh Senior Principal Technical Support Engineer Oracle, MySQL Support October 22, 2018 NEXT 15-MINUTE BRIEFING NoSQL + SQL = MySQL Safe

More information

Safe Harbor Statement

Safe Harbor Statement Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment

More information

Oracle Database JSON Developer's Guide. 18c

Oracle Database JSON Developer's Guide. 18c Oracle Database JSON Developer's Guide 18c E83706-02 March 2018 Oracle Database JSON Developer's Guide, 18c E83706-02 Copyright 2015, 2018, Oracle and/or its affiliates. All rights reserved. Primary Author:

More information

Oracle Secure Backup 12.2 What s New. Copyright 2018, Oracle and/or its affiliates. All rights reserved.

Oracle Secure Backup 12.2 What s New. Copyright 2018, Oracle and/or its affiliates. All rights reserved. Oracle Secure Backup 12.2 What s New Copyright 2018, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The following is intended to outline our general product direction. It is intended

More information

PostgreSQL. JSON Roadmap. Oleg Bartunov Postgres Professional. March 17, 2017, Moscow

PostgreSQL. JSON Roadmap. Oleg Bartunov Postgres Professional. March 17, 2017, Moscow PostgreSQL JSON Roadmap Oleg Bartunov Postgres Professional March 17, 2017, Moscow NoSQL Postgres briefly 2003 hstore 2006 hstore as illustration of GIN 2012 (sep) JSON in 9.2 2012 (dec) nested hstore

More information

The Mother of All Query Languages: SQL in Modern Times

The Mother of All Query Languages: SQL in Modern Times The Mother of All Query Languages: SQL in Modern Times @MarkusWinand @ModernSQL http://www.almaden.ibm.com/cs/people/chamberlin/sequel-1974.pdf 1974 1992 SQL-92 Tied to the Relational Idea Relational Data

More information

Unit 1 - Chapter 4,5

Unit 1 - Chapter 4,5 Unit 1 - Chapter 4,5 CREATE DATABASE DatabaseName; SHOW DATABASES; USE DatabaseName; DROP DATABASE DatabaseName; CREATE TABLE table_name( column1 datatype, column2 datatype, column3 datatype,... columnn

More information

Physical Design of Relational Databases

Physical Design of Relational Databases Physical Design of Relational Databases Chapter 8 Class 06: Physical Design of Relational Databases 1 Physical Database Design After completion of logical database design, the next phase is the design

More information

Optional SQL Feature Summary

Optional SQL Feature Summary Optional SQL Feature Summary The following table lists all optional features included in the SQL standard, from SQL- 2003 to SQL-2016. It also indicates which features that are currently supported by Mimer

More information

CMPT 354: Database System I. Lecture 2. Relational Model

CMPT 354: Database System I. Lecture 2. Relational Model CMPT 354: Database System I Lecture 2. Relational Model 1 Outline An overview of data models Basics of the Relational Model Define a relational schema in SQL 2 Outline An overview of data models Basics

More information

<Insert Picture Here> Upcoming Changes in MySQL 5.7 Morgan Tocker, MySQL Community Manager

<Insert Picture Here> Upcoming Changes in MySQL 5.7 Morgan Tocker, MySQL Community Manager Upcoming Changes in MySQL 5.7 Morgan Tocker, MySQL Community Manager http://www.tocker.ca/ Safe Harbor Statement The following is intended to outline our general product direction.

More information

Using DDL Statements to Create and Manage Tables. Copyright 2004, Oracle. All rights reserved.

Using DDL Statements to Create and Manage Tables. Copyright 2004, Oracle. All rights reserved. Using DDL Statements to Create and Manage Tables Copyright 2004, Oracle. All rights reserved. Objectives After completing this lesson, you should be able to do the following: Categorize the main database

More information

<Insert Picture Here> Looking at Performance - What s new in MySQL Workbench 6.2

<Insert Picture Here> Looking at Performance - What s new in MySQL Workbench 6.2 Looking at Performance - What s new in MySQL Workbench 6.2 Mario Beck MySQL Sales Consulting Manager EMEA The following is intended to outline our general product direction. It is

More information

DBAs can use Oracle Application Express? Why?

DBAs can use Oracle Application Express? Why? DBAs can use Oracle Application Express? Why? 20. Jubilarna HROUG Konferencija October 15, 2015 Joel R. Kallman Director, Software Development Oracle Application Express, Server Technologies Division Copyright

More information

(ADVANCED) DATABASE SYSTEMS (DATABASE MANAGEMENTS) PROF. DR. HASAN HÜSEYİN BALIK (6 TH WEEK)

(ADVANCED) DATABASE SYSTEMS (DATABASE MANAGEMENTS) PROF. DR. HASAN HÜSEYİN BALIK (6 TH WEEK) (ADVANCED) DATABASE SYSTEMS (DATABASE MANAGEMENTS) PROF. DR. HASAN HÜSEYİN BALIK (6 TH WEEK) 4. OUTLINE 4. Implementation 4.1 Introduction to SQL 4.2 Advanced SQL 4.3 Database Application Development 4.4

More information

Flexible Data Modeling in MariaDB

Flexible Data Modeling in MariaDB Flexible Data Modeling in MariaDB WHITE PAPER Part 1 Dynamic Columns Table of Contents Introduction - Benefits and Limitations - Benefit - Limitations - Use Cases Dynamic Columns - Definitions - Create

More information

18(ish) Things Developers Will About 18c

18(ish) Things Developers Will About 18c 18(ish) Things Developers Will About 18c Chris Saxon, @ChrisRSaxon & @SQLDaily blogs.oracle.com/sql youtube.com/c/themagicofsql asktom.oracle.com Copyright 2017, Oracle and/or its affiliates. All rights

More information

Develop Python Applications with MySQL Connector/Python DEV5957

Develop Python Applications with MySQL Connector/Python DEV5957 Develop Python Applications with MySQL Connector/Python DEV5957 Jesper Wisborg Krogh Senior Principal Technical Support Engineer Oracle MySQL Support October 24, 2018 Safe Harbor Statement The following

More information

Using DDL Statements to Create and Manage Tables. Copyright 2004, Oracle. All rights reserved.

Using DDL Statements to Create and Manage Tables. Copyright 2004, Oracle. All rights reserved. Using DDL Statements to Create and Manage Tables Copyright 2004, Oracle. All rights reserved. Objectives After completing this lesson, you should be able to do the following: Categorize the main database

More information

Oracle SQL Developer & REST Data Services

Oracle SQL Developer & REST Data Services Oracle SQL Developer & REST Data Services What s New Jeff Smith Senior Principal Product Manager Database Development Tools Jeff.d.smith@oracle.com @thatjeffsmith http://www.thatjeffsmith.com Agenda New

More information

MySQL Group Replication in a nutshell

MySQL Group Replication in a nutshell 1 / 126 2 / 126 MySQL Group Replication in a nutshell the core of MySQL InnoDB Cluster Oracle Open World September 19th 2016 Frédéric Descamps MySQL Community Manager 3 / 126 Safe Harbor Statement The

More information

JSON Support in MariaDB

JSON Support in MariaDB JSON Support in MariaDB Vicențiu Ciorbaru Software Engineer @ MariaDB Foundation * * JSON & GeoJSON JSON (Java Script Object Notation), a text based, platform independent data exchange format MariaDB Supports:

More information

B U I L D I N G O N T H E G A T E W A Y. Copyright 2015, Oracle and/or its affiliates. All rights reserved.

B U I L D I N G O N T H E G A T E W A Y. Copyright 2015, Oracle and/or its affiliates. All rights reserved. B U I L D I N G O N T H E G A T E W A Y Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

Principles of Data Management

Principles of Data Management Principles of Data Management Alvin Lin August 2018 - December 2018 Structured Query Language Structured Query Language (SQL) was created at IBM in the 80s: SQL-86 (first standard) SQL-89 SQL-92 (what

More information

<Insert Picture Here> Boosting performance with MySQL partitions

<Insert Picture Here> Boosting performance with MySQL partitions Boosting performance with MySQL partitions Giuseppe Maxia MySQL Community Team Lead at Oracle 1 about me -Giuseppe Maxia a.k.a. The Data Charmer MySQL Community Team Lead Long time

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

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

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

More information

IBM DB2 UDB V7.1 Family Fundamentals.

IBM DB2 UDB V7.1 Family Fundamentals. IBM 000-512 DB2 UDB V7.1 Family Fundamentals http://killexams.com/exam-detail/000-512 Answer: E QUESTION: 98 Given the following: A table containing a list of all seats on an airplane. A seat consists

More information

Automating Information Lifecycle Management with

Automating Information Lifecycle Management with Automating Information Lifecycle Management with Oracle Database 2c The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

Course Outline and Objectives: Database Programming with SQL

Course Outline and Objectives: Database Programming with SQL Introduction to Computer Science and Business Course Outline and Objectives: Database Programming with SQL This is the second portion of the Database Design and Programming with SQL course. In this portion,

More information

Future of Java. Post-JDK 9 Candidate Features. Jan Lahoda Java compiler developer Java Product Group, Oracle September, 2017

Future of Java. Post-JDK 9 Candidate Features. Jan Lahoda Java compiler developer Java Product Group, Oracle September, 2017 Future of Java Post-JDK 9 Candidate Features Jan Lahoda Java compiler developer Java Product Group, Oracle September, 2017 Safe Harbor Statement The following is intended to outline our general product

More information

Downloaded from

Downloaded from Lesson 16: Table and Integrity Constraints Integrity Constraints are the rules that a database must follow at all times. Various Integrity constraints are as follows:- 1. Not Null: It ensures that we cannot

More information

JSON Support Oracle Database 12c Release 2

JSON Support Oracle Database 12c Release 2 JSON Support Oracle Database 12c Release 2 Mark Drake Manager, Product Management Server Technology October 20 th 2016 Copyright 2015 Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement

More information

PASSWORDS TREES AND HIERARCHIES. CS121: Relational Databases Fall 2017 Lecture 24

PASSWORDS TREES AND HIERARCHIES. CS121: Relational Databases Fall 2017 Lecture 24 PASSWORDS TREES AND HIERARCHIES CS121: Relational Databases Fall 2017 Lecture 24 Account Password Management 2 Mentioned a retailer with an online website Need a database to store user account details

More information

! Define terms. ! Interpret history and role of SQL. ! Write single table queries using SQL. ! Establish referential integrity using SQL

! Define terms. ! Interpret history and role of SQL. ! Write single table queries using SQL. ! Establish referential integrity using SQL OBJECTIVES CHAPTER 6: INTRODUCTION TO SQL Modern Database Management 11 th Edition Jeffrey A. Hoffer, V. Ramesh, Heikki Topi! Define terms! Interpret history and role of SQL! Define a database using SQL

More information

Introducing Oracle Machine Learning

Introducing Oracle Machine Learning Introducing Oracle Machine Learning A Collaborative Zeppelin notebook for Oracle s machine learning capabilities Charlie Berger Marcos Arancibia Mark Hornick Advanced Analytics and Machine Learning Copyright

More information

Deep Dive on MySQL Databases on Amazon RDS. Chayan Biswas Sr. Product Manager Amazon RDS

Deep Dive on MySQL Databases on Amazon RDS. Chayan Biswas Sr. Product Manager Amazon RDS Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager Amazon RDS Amazon RDS is... Cloud native engine Open source engines Commercial engines RDS platform Automatic fail-over Backup

More information

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material,

More information

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Today's Party. Example Database. Faloutsos/Pavlo CMU /615

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Today's Party. Example Database. Faloutsos/Pavlo CMU /615 Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications C. Faloutsos A. Pavlo Lecture#6: Fun with SQL (part2) Today's Party DDLs Complex Joins Views Nested Subqueries Triggers Database

More information

PGQL: a Property Graph Query Language

PGQL: a Property Graph Query Language PGQL: a Property Graph Query Language Oskar van Rest Sungpack Hong Jinha Kim Xuming Meng Hassan Chafi Oracle Labs June 24, 2016 Safe Harbor Statement The following is intended to outline our general product

More information

Definition of terms Objectives Interpret history and role of SQL Define a database using SQL data definition iti language Write single table queries u

Definition of terms Objectives Interpret history and role of SQL Define a database using SQL data definition iti language Write single table queries u Chapter 7: Introduction to SQL Modern Database Management 9 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Heikki Topi 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Definition of terms Objectives

More information

Database Migration with MySQL Workbench. Alfredo Kojima, Team Lead MySQL Workbench Mike Frank, Product Manager

Database Migration with MySQL Workbench. Alfredo Kojima, Team Lead MySQL Workbench Mike Frank, Product Manager Database Migration with MySQL Workbench Alfredo Kojima, Team Lead MySQL Workbench Mike Frank, Product Manager Copyright Copyright 2014, 2014, Oracle Oracle and/or and/or its its affiliates. affiliates.

More information

Oracle Policy Automation The modern enterprise advice platform

Oracle Policy Automation The modern enterprise advice platform Oracle Policy Automation The modern enterprise advice platform Release features and benefits (November 2017) v1.01 Program agenda 1 2 3 Overview of Oracle Policy Automation New features in release For

More information

NoSQL Postgres. Oleg Bartunov Postgres Professional Moscow University. Stachka 2017, Ulyanovsk, April 14, 2017

NoSQL Postgres. Oleg Bartunov Postgres Professional Moscow University. Stachka 2017, Ulyanovsk, April 14, 2017 NoSQL Postgres Oleg Bartunov Postgres Professional Moscow University Stachka 2017, Ulyanovsk, April 14, 2017 NoSQL Postgres briefly 2003 hstore (sparse columns, schema-less) 2006 hstore as demo of GIN

More information

Motivation and basic concepts Storage Principle Query Principle Index Principle Implementation and Results Conclusion

Motivation and basic concepts Storage Principle Query Principle Index Principle Implementation and Results Conclusion JSON Schema-less into RDBMS Most of the material was taken from the Internet and the paper JSON data management: sup- porting schema-less development in RDBMS, Liu, Z.H., B. Hammerschmidt, and D. McMahon,

More information

COSC 304 Introduction to Database Systems SQL DDL. Dr. Ramon Lawrence University of British Columbia Okanagan

COSC 304 Introduction to Database Systems SQL DDL. Dr. Ramon Lawrence University of British Columbia Okanagan COSC 304 Introduction to Database Systems SQL DDL Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca SQL Overview Structured Query Language or SQL is the standard query language

More information

Scaling JSON Documents and Relational Data in Distributed ShardedDatabases Oracle Code New York

Scaling JSON Documents and Relational Data in Distributed ShardedDatabases Oracle Code New York Scaling JSON Documents and Relational Data in Distributed ShardedDatabases Oracle Code New York Christoph Bussler CMTS March 21, 2017 Safe Harbor Statement The following is intended to outline our general

More information

Oracle Database 18c and Autonomous Database

Oracle Database 18c and Autonomous Database Oracle Database 18c and Autonomous Database Maria Colgan Oracle Database Product Management March 2018 @SQLMaria Safe Harbor Statement The following is intended to outline our general product direction.

More information

Copyright 2017, Oracle and/or its aff iliates. All rights reserved.

Copyright 2017, Oracle and/or its aff iliates. All rights reserved. Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment

More information

MySQL Introduction. By Prof. B.A.Khivsara

MySQL Introduction. By Prof. B.A.Khivsara MySQL Introduction By Prof. B.A.Khivsara Note: The material to prepare this presentation has been taken from internet and are generated only for students reference and not for commercial use. Outline Design

More information

Safe Harbor Statement

Safe Harbor Statement Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment

More information

Relational databases and SQL

Relational databases and SQL Relational databases and SQL Relational Database Management Systems Most serious data storage is in RDBMS Oracle, MySQL, SQL Server, PostgreSQL Why so popular? Based on strong theory, well-understood performance

More information

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

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

More information

MANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9)

MANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9) Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 6 Professional Program: Data Administration and Management MANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9) AGENDA

More information

MariaDB 10.2 New Features

MariaDB 10.2 New Features MariaDB 10.2 New Features Chemnitzer Linux-Tage 2018 Oli Sennhauser Senior MySQL Consultant at FromDual GmbH https:///presentations 1 / 48 About FromDual GmbH Training on-site Consulting remote-dba Enterprise

More information

Oracle APEX 18.1 New Features

Oracle APEX 18.1 New Features Oracle APEX 18.1 New Features May, 2018 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

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

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 ADVANCED MYSQL REPLICATION ARCHITECTURES Luís

More information

Oracle RESTful Services A Primer for Database Administrators

Oracle RESTful Services A Primer for Database Administrators Oracle RESTful Services A Primer for Database Administrators Sean Stacey Director Database Product Management Oracle Server Technologies Copyright 2017, Oracle and/or its affiliates. All rights reserved.

More information

Building Highly Available and Scalable Real- Time Services with MySQL Cluster

Building Highly Available and Scalable Real- Time Services with MySQL Cluster Building Highly Available and Scalable Real- Time Services with MySQL Cluster MySQL Sales Consulting Director Philip Antoniades April, 3rd, 2012 1 Copyright 2012, Oracle and/or its affiliates. All rights

More information