Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Разработка
приложений
следующего поколения
(с помощью MySQL)
Vittorio Cioe
MySQL Sr. Sales Consultant
vittorio.cioe@oracle.com
Copyright © 2017, Oracle and/or its affiliates. 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 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.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
MySQL и NoSQL
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Данные
JSON
NoSQL
Кластер
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Встроенный тип данных JSON
CREATE TABLE employees (data JSON);
INSERT INTO employees VALUES ('{"id": 1, "name": "Jane"}');
INSERT INTO employees VALUES ('{"id": 2, "name": "Joe"}');
SELECT * FROM employees;
+---------------------------+
| data |
+---------------------------+
| {"id": 1, "name": "Jane"} |
| {"id": 2, "name": "Joe"} |
+---------------------------+
2 rows in set (0,00 sec)
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Технические характеристики тип данных JSON
• набор символов utf8mb4
• Оптимизирован для интенсивной работы чтения
– Анализ и проверка только на вставке
• Словарь:
– Kлючи отсортированных объектов
– Быстрый доступ к элементам массива по индексу
• Поддерживается полный диапазон типов:
– Стандарт: числа, строка, логическое значение, объекты, массивы
– Расширенный: дата, время, время, дата и время, другие
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Пример SQL
mysql> SELECT DISTINCT
data->’$.zoning’ AS Zoning
FROM lots;
+--------------+
| Zoning |
+--------------+
| "Commercial" |
+--------------+
1 row in set (1.22 sec)
Специальный новый
синтаксис для доступа к
данным внутри документов
JSON
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Преимущества JSON
• Обеспечивает проверку документов:
• Эффективный двоичный формат.
– Позволяет быстрее получить доступ к элементам объекта и элементам массива
– Хорошо подходит для формата файла InnoDB Barracuda
> INSERT INTO employees VALUES ('some random text');
ERROR 3130 (22032): Invalid JSON text: "Expect a value here." at position 0 in value
(or column) 'some random text'.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
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()
JSON_OBJECT()
JSON_QUOTE()
JSON_REMOVE()
JSON_REPLACE()
JSON_SEARCH()
JSON_SET()
JSON_TYPE()
JSON_UNQUOTE()
JSON_VALID()
Функции JSON
Функции для создания, поиска, изменения и возврата элементы JSON:
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
CREATE TABLE t1 (
id INT NOT NULL PRIMARY KEY auto_increment,
my_integer INT,
my_integer_plus_one INT AS (my_integer+1)
);
Сгенерированные колонки
id my_integer my_integer_plus_one
1 10 11
2 20 21
3 30 31
4 40 41
Колонка автоматически
поддерживается на
основе вашей
спецификации
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
JSON и созданные колонки
• Как виртуальный (по умолчанию), так и сохраненный:
• Оба типа вычисляемых колонок позволяют добавлять
индексы как «функциональные индексы»
–Использовать ALTER TABLE… ADD INDEX(style)
–Использовать виртуальные колонки для индексирования полей JSON!
ALTER TABLE restaurants ADD style varchar(30) AS (entry->>"$.style")
VIRTUAL;
Query OK, 206560 rows affected (4.70 sec)
Records: 206560 Duplicates: 0 Warnings: 0
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Имейте обо двое: со схемой и без!
• «Неструктурирован» обычно является «полу-структурирован»
– Некоторые колонки фиксированной схемы могут дополнять JSON гибкой схемой
– Лучшее из обоих миров: производительность и гибкость
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
);
CREATE TABLE contacts
(
id INT NOT NULL PRIMARY KEY,
name VARCHAR(30) NOT NULL,
firstname VARCHAR(30) NOT NULL,
birthday DATE NOT NULL,
phone JSON NOT NULL
);
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Новость! NoSQL
• Предоставление API, объединение методов, сеансов без сохранения
состояния
• CRUD для коллекций документов и таблиц
– Документы как базовые объекты домена
– Выражения поиска соответствуют выражениям SQL SELECT
• Реализовано в MySQL Shell и MySQL X DevAPI-коннекторах
–Javascript
–Python
–C#
–Java
–C++
–php
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Пример с Node.js
// Create a new collection
db.createCollection('myCollection').then(function(myColl)) {
// Insert a document
myColl.add( { name: 'Sakila', age: 21 } ).execute();
// Insert several documents at once
myColl.add( [
{ name: 'Sastry', age: 45 }
{ name: 'Nicolas', age: 25 }
] ).execute();
});
var myDocs = myColl.find('name like :name').bind('name', 'S%').execute();
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Таблицы или коллекции?
• Коллекция это таблица с 2 + колонками:
– Первичный ключ: `_id`
– Документ JSON: `doc`
• Поле «_id» в документе может быть предоставлено или автоматически сгенерировано как
UUID
–Это поле также используется для заполнения первичного ключа
• Может добавлять дополнительные колонки и индексы в коллекцию
• Одновременно можно использовать SQL, NoSQL, таблицы и коллекции
• Эти операции совместимы с репликацией
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
SHOW CREATE TABLE `myCollection`G
Table: myCollection
Create Table: CREATE TABLE `myCollection`
(
`doc` json DEFAULT NULL,
`_id` varchar(32) GENERATED ALWAYS AS
(json_unquote(json_extract(`doc`,'$._id')))
STORED NOT NULL,
PRIMARY KEY (`_id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
«Высокая доступность
становится основной
первоклассной функцией MySQL!»
InnoDB Cluster
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
S1 S2 S3 S4 S…
M
M M
MySQL Connector
приложение
MySQL Router
MySQL Connector
приложение
MySQL Router
MySQL Shell
HA
Shard1
S1 S2 S3 S4 S…
M
M M
MySQL Connector
приложение
MySQL Router
HA
Shard2
MySQL Connector
приложение
MySQL Router
…
Долгосрочная цель: хранилище документов с
автоматическим шардингом
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Хранилище
ключей/значений
в MySQL
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Плагин Memcached для InnoDB
mysqld
InnoDB storage engine
MySQL Server
InnoDB API
innodb_memcached
Handler API
optional local cache
Memcached plug-in
Клиенты и приложения
SQL Memcached protocol
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Основные операции с Memcached
• Все языковые интерфейсы поддерживают следующие методы хранения и
получения информации:
Method Purpose
get(key) возвращает элемент из ключа, если ключ существует
set(key, value,
[expiry])
Устанавливает существующий ключ к предоставленному
элементу или добавляет новый элемент, если ключ не
существует
add(key, value,
[expiry])
Добавляет новую пару ключ-значение в кеш
replace(key, value,
[expiry])
Заменяет элемент, связанный с ключом указанным
элементом
delete(key, [time]) Удаляет пару ключ-значение
incr(key, [value]) Добавляет 1 или значение к элементу для указанного ключа
decr(key, [value]) Вычитает 1 или значение из элемента для указанного ключа
flush_all() Истекает все элементы в кеше
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Хранилище ключей/значений в MySQL
✔ построенный на проверенных механизмах
SQL/InnoDB/репликация
✔ Без Схемы/Реляционный/Гибридный
✔ ACID/Транзакционный
✔ CRUD/JSON/Документы
✔ Memcached и SQL
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Мобильный MySQL
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Гео-пространственная поддержка (ГИС)
• Пространственное индексирование в InnoDB
– Реализация ограничительной рамки R-Tree
– Полная поддержка транзакций
– В настоящее время: евклидова плоскость
• GeoHash (B-Tree indexing)
• GeoJSON format
CREATE TABLE events
(
name VARCHAR(100),
date TIMESTAMP,
location GEOMETRY,
SPATIAL KEY i_location(location),
...
);
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Выбор ближайшего события
SELECT
name,
venue,
description,
date,
thumbnail,
ST_distance_sphere(POINT(@X,@Y), location) AS distance
FROM
events
ORDER BY distance;
SPATIAL KEY column
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Выбор ближайшего события в районе 1 км
SELECT
…
ST_distance_sphere(POINT(@X,@Y), location) AS distance
FROM
events
WHERE
ST_Contains(ST_MakeEnvelope(POINT(@X+(1/111),@Y+(1/111)),
POINT(@X-(1/111),@Y-(1/111))),
location)
ORDER BY distance;
Only locations within
square bounding box
111 km per degree
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Гибкое развертывание
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Контейнеры
“Изображение контейнера представляет собой легкий, автономный
исполняемый пакет части программного обеспечения, который
включает все необходимое для его запуска: код, время выполнения,
системные инструменты, системные библиотеки, настройки. Доступно
как для приложений на базе Linux, так и для Windows, контейнерное
программное обеспечение всегда будет работать одинаково независимо
от среды. Контейнеры изолируют программное обеспечение от его
окружения, например различия между средой разработки и
промежуточной средой, а также помогают уменьшить конфликты
между командами, использующими различное программное обеспечение в
одной и той же инфраструктуре”
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Создание собственных контейнеров
Dockerfile – where you define the container Dockerfile - где вы определяете контейнер
(также соответствующие аргументы командной строки)
– ARG : аргументы для использования в файле Dockerfile
– ENV : устанавливает переменные среды для контейнера
– RUN : запускает команду внутри контейнера
– VOLUME : определяет объемы / точки монтирования в контейнере
– ADD / COPY: добавляет / копирует файлы с хоста в контейнер
– ENTRYFILE : где вы определяете, что запускается в контейнере при его запуске
– CMD : процесс, который запускается внутри контейнера
– EXPOSE : открывает порты из контейнера
– HEALTHCHECK : выполняет что-то периодически, чтобы проверить
работоспособность контейнера
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
• Официальный продукт в выпуске
сервера
– Часть каждого выпуска, например
5.7.20
– Community и Enterprise
– Полностью поддерживается
• Контейнеры для всех продуктов
– MySQL (NDB) кластер
– InnoDB кластер
– Router, Shell, Workbench, Utilities, …
Официальные контейнеры MySQL
MySQL Enterprise Edition
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Спасибо!
Vittorio Cioe
MySQL Sr. Sales Consultant
vittorio.cioe@oracle.com

Next Gen Applications

  • 1.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Разработка приложений следующего поколения (с помощью MySQL) Vittorio Cioe MySQL Sr. Sales Consultant vittorio.cioe@oracle.com
  • 2.
    Copyright © 2017,Oracle and/or its affiliates. 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 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.
  • 3.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. MySQL и NoSQL
  • 4.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Данные JSON NoSQL Кластер
  • 5.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Встроенный тип данных JSON CREATE TABLE employees (data JSON); INSERT INTO employees VALUES ('{"id": 1, "name": "Jane"}'); INSERT INTO employees VALUES ('{"id": 2, "name": "Joe"}'); SELECT * FROM employees; +---------------------------+ | data | +---------------------------+ | {"id": 1, "name": "Jane"} | | {"id": 2, "name": "Joe"} | +---------------------------+ 2 rows in set (0,00 sec)
  • 6.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Технические характеристики тип данных JSON • набор символов utf8mb4 • Оптимизирован для интенсивной работы чтения – Анализ и проверка только на вставке • Словарь: – Kлючи отсортированных объектов – Быстрый доступ к элементам массива по индексу • Поддерживается полный диапазон типов: – Стандарт: числа, строка, логическое значение, объекты, массивы – Расширенный: дата, время, время, дата и время, другие
  • 7.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Пример SQL mysql> SELECT DISTINCT data->’$.zoning’ AS Zoning FROM lots; +--------------+ | Zoning | +--------------+ | "Commercial" | +--------------+ 1 row in set (1.22 sec) Специальный новый синтаксис для доступа к данным внутри документов JSON
  • 8.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Преимущества JSON • Обеспечивает проверку документов: • Эффективный двоичный формат. – Позволяет быстрее получить доступ к элементам объекта и элементам массива – Хорошо подходит для формата файла InnoDB Barracuda > INSERT INTO employees VALUES ('some random text'); ERROR 3130 (22032): Invalid JSON text: "Expect a value here." at position 0 in value (or column) 'some random text'.
  • 9.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. 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() JSON_OBJECT() JSON_QUOTE() JSON_REMOVE() JSON_REPLACE() JSON_SEARCH() JSON_SET() JSON_TYPE() JSON_UNQUOTE() JSON_VALID() Функции JSON Функции для создания, поиска, изменения и возврата элементы JSON:
  • 10.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. CREATE TABLE t1 ( id INT NOT NULL PRIMARY KEY auto_increment, my_integer INT, my_integer_plus_one INT AS (my_integer+1) ); Сгенерированные колонки id my_integer my_integer_plus_one 1 10 11 2 20 21 3 30 31 4 40 41 Колонка автоматически поддерживается на основе вашей спецификации
  • 11.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. JSON и созданные колонки • Как виртуальный (по умолчанию), так и сохраненный: • Оба типа вычисляемых колонок позволяют добавлять индексы как «функциональные индексы» –Использовать ALTER TABLE… ADD INDEX(style) –Использовать виртуальные колонки для индексирования полей JSON! ALTER TABLE restaurants ADD style varchar(30) AS (entry->>"$.style") VIRTUAL; Query OK, 206560 rows affected (4.70 sec) Records: 206560 Duplicates: 0 Warnings: 0
  • 12.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Имейте обо двое: со схемой и без! • «Неструктурирован» обычно является «полу-структурирован» – Некоторые колонки фиксированной схемы могут дополнять JSON гибкой схемой – Лучшее из обоих миров: производительность и гибкость 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 ); CREATE TABLE contacts ( id INT NOT NULL PRIMARY KEY, name VARCHAR(30) NOT NULL, firstname VARCHAR(30) NOT NULL, birthday DATE NOT NULL, phone JSON NOT NULL );
  • 13.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Новость! NoSQL • Предоставление API, объединение методов, сеансов без сохранения состояния • CRUD для коллекций документов и таблиц – Документы как базовые объекты домена – Выражения поиска соответствуют выражениям SQL SELECT • Реализовано в MySQL Shell и MySQL X DevAPI-коннекторах –Javascript –Python –C# –Java –C++ –php
  • 14.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Пример с Node.js // Create a new collection db.createCollection('myCollection').then(function(myColl)) { // Insert a document myColl.add( { name: 'Sakila', age: 21 } ).execute(); // Insert several documents at once myColl.add( [ { name: 'Sastry', age: 45 } { name: 'Nicolas', age: 25 } ] ).execute(); }); var myDocs = myColl.find('name like :name').bind('name', 'S%').execute();
  • 15.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Таблицы или коллекции? • Коллекция это таблица с 2 + колонками: – Первичный ключ: `_id` – Документ JSON: `doc` • Поле «_id» в документе может быть предоставлено или автоматически сгенерировано как UUID –Это поле также используется для заполнения первичного ключа • Может добавлять дополнительные колонки и индексы в коллекцию • Одновременно можно использовать SQL, NoSQL, таблицы и коллекции • Эти операции совместимы с репликацией
  • 16.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. SHOW CREATE TABLE `myCollection`G Table: myCollection Create Table: CREATE TABLE `myCollection` ( `doc` json DEFAULT NULL, `_id` varchar(32) GENERATED ALWAYS AS (json_unquote(json_extract(`doc`,'$._id'))) STORED NOT NULL, PRIMARY KEY (`_id`), ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
  • 17.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. «Высокая доступность становится основной первоклассной функцией MySQL!» InnoDB Cluster
  • 18.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. S1 S2 S3 S4 S… M M M MySQL Connector приложение MySQL Router MySQL Connector приложение MySQL Router MySQL Shell HA Shard1 S1 S2 S3 S4 S… M M M MySQL Connector приложение MySQL Router HA Shard2 MySQL Connector приложение MySQL Router … Долгосрочная цель: хранилище документов с автоматическим шардингом
  • 19.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Хранилище ключей/значений в MySQL
  • 20.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Плагин Memcached для InnoDB mysqld InnoDB storage engine MySQL Server InnoDB API innodb_memcached Handler API optional local cache Memcached plug-in Клиенты и приложения SQL Memcached protocol
  • 21.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Основные операции с Memcached • Все языковые интерфейсы поддерживают следующие методы хранения и получения информации: Method Purpose get(key) возвращает элемент из ключа, если ключ существует set(key, value, [expiry]) Устанавливает существующий ключ к предоставленному элементу или добавляет новый элемент, если ключ не существует add(key, value, [expiry]) Добавляет новую пару ключ-значение в кеш replace(key, value, [expiry]) Заменяет элемент, связанный с ключом указанным элементом delete(key, [time]) Удаляет пару ключ-значение incr(key, [value]) Добавляет 1 или значение к элементу для указанного ключа decr(key, [value]) Вычитает 1 или значение из элемента для указанного ключа flush_all() Истекает все элементы в кеше
  • 22.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Хранилище ключей/значений в MySQL ✔ построенный на проверенных механизмах SQL/InnoDB/репликация ✔ Без Схемы/Реляционный/Гибридный ✔ ACID/Транзакционный ✔ CRUD/JSON/Документы ✔ Memcached и SQL
  • 23.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Мобильный MySQL
  • 24.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved.
  • 25.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Гео-пространственная поддержка (ГИС) • Пространственное индексирование в InnoDB – Реализация ограничительной рамки R-Tree – Полная поддержка транзакций – В настоящее время: евклидова плоскость • GeoHash (B-Tree indexing) • GeoJSON format CREATE TABLE events ( name VARCHAR(100), date TIMESTAMP, location GEOMETRY, SPATIAL KEY i_location(location), ... );
  • 26.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Выбор ближайшего события SELECT name, venue, description, date, thumbnail, ST_distance_sphere(POINT(@X,@Y), location) AS distance FROM events ORDER BY distance; SPATIAL KEY column
  • 27.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Выбор ближайшего события в районе 1 км SELECT … ST_distance_sphere(POINT(@X,@Y), location) AS distance FROM events WHERE ST_Contains(ST_MakeEnvelope(POINT(@X+(1/111),@Y+(1/111)), POINT(@X-(1/111),@Y-(1/111))), location) ORDER BY distance; Only locations within square bounding box 111 km per degree
  • 28.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Гибкое развертывание
  • 29.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Контейнеры “Изображение контейнера представляет собой легкий, автономный исполняемый пакет части программного обеспечения, который включает все необходимое для его запуска: код, время выполнения, системные инструменты, системные библиотеки, настройки. Доступно как для приложений на базе Linux, так и для Windows, контейнерное программное обеспечение всегда будет работать одинаково независимо от среды. Контейнеры изолируют программное обеспечение от его окружения, например различия между средой разработки и промежуточной средой, а также помогают уменьшить конфликты между командами, использующими различное программное обеспечение в одной и той же инфраструктуре”
  • 30.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Создание собственных контейнеров Dockerfile – where you define the container Dockerfile - где вы определяете контейнер (также соответствующие аргументы командной строки) – ARG : аргументы для использования в файле Dockerfile – ENV : устанавливает переменные среды для контейнера – RUN : запускает команду внутри контейнера – VOLUME : определяет объемы / точки монтирования в контейнере – ADD / COPY: добавляет / копирует файлы с хоста в контейнер – ENTRYFILE : где вы определяете, что запускается в контейнере при его запуске – CMD : процесс, который запускается внутри контейнера – EXPOSE : открывает порты из контейнера – HEALTHCHECK : выполняет что-то периодически, чтобы проверить работоспособность контейнера
  • 31.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. • Официальный продукт в выпуске сервера – Часть каждого выпуска, например 5.7.20 – Community и Enterprise – Полностью поддерживается • Контейнеры для всех продуктов – MySQL (NDB) кластер – InnoDB кластер – Router, Shell, Workbench, Utilities, … Официальные контейнеры MySQL MySQL Enterprise Edition
  • 32.
    Copyright © 2017,Oracle and/or its affiliates. All rights reserved. Спасибо! Vittorio Cioe MySQL Sr. Sales Consultant vittorio.cioe@oracle.com