NoSQL in MySQL::Журнал СА 10.2016
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6212
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6920
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4204
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3003
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3804
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3815
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6309
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3161
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3454
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7273
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10637
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12360
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13995
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9120
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7073
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5384
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4613
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3424
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3153
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3399
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3022
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 NoSQL in MySQL

Архив номеров / 2016 / Выпуск №10 (167) / NoSQL in MySQL

Рубрика: Базы данных /  Новый дистрибутив   | Дополнительные материалы

Александр Календарев АЛЕКСАНДР КАЛЕНДАРЕВ, AD1, ведущий программист, akalend@mail.ru

NoSQL in MySQL

Для решения сложных современных задач зачастую требуется использовать слабо структурированные данные, обычно представляемые в формате JSON. Начиная с версии 5.7 ихподдержка появилась в MySQL

Почему зашла речь о NoSQL? В современных архитектурах высоконагуженных проектов хорошо прижились документно-ориентированные NoSQL-хранилища. Они удобны, быстры и легко масштабируются. Практика использования NoSQL показала, что JSON является самым удобным форматом представления документов. Тут лидеры – MongoDB и CoachDb. Теперь к ним добавилась MySQL.

Что же нового в версии 5.7? Тут появились две основные вещи – это тип данных JSON [1] и X-Protocol [2]. С началом использования типа JSON MySQL нельзя назвать пионером. Если отбросить лидера в этой области в лице MongoDB, то можно с уверенностью сказать, что в PosgreSQL типы JSON и JSONB (бинарный) были внедрены намного раньше. Атакже и в MS SQL Server, и в Oracle. И наложение индексов на бинарный JSON тоже было уже реализовано. Тут нет ничего революционного. А вот с использованием X-Protocol MySQL превращается в гибридную БД, совмещающую классический SQL и элементы объектно-документого доступа.

JSON в MySQL

В новой версии (5.7) MySQL появился новый тип данных – JSON, на физическом уровне, осуществляется хранение в формате bson [3]. Реализованы новые функции поддержки JSON, работающие с бинарным представлением: JSON_EXTRACT, JSON_SEARCH, JSON_OBJECT и прочие. Полный перечень функций можно найти в документации [4]. Начнем рассмотрение использования нового типа:

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)

При вводе данных происходит парсинг и валидация JSON. Ниже пример демонстрирует, что при невалидном JSON выдается ошибка:

INSERT INTO employees (data) VALUES('text');

ERROR 3140 (22032): Invalid JSON text: "Invalid value." at position 1 in value for column 'employees.data'.

Так как валидация происходит на этапе вставки, то выполнение всех операторов INSERT происходит медленнее, чем у других типов. А вот выборка по элементам массива илиобъекта происходит быстрее, особенно если документ проиндексировать.

Статью целиком читайте в журнале «Системный администратор», №10 за 2016 г. на страницах 60-54.

PDF-версию данного номера можно приобрести в нашем магазине.


  1. Официальная документация, тип JSON – https://dev.mysql.com/doc/refman/5.7/en/json.html.
  2. Официальная документация, документно-ориентированное хранилище – https://dev.mysql.com/doc/refman/5.7/en/document-store.html.
  3. Cпецификация bson – http://bsonspec.org/spec.html.
  4. JSON-функции – https://dev.mysql.com/doc/refman/5.7/en/json-function-reference.html.
  5. Тестовая БД – https://github.com/datacharmer/test_db.
  6. Описание X-Protocol – https://dev.mysql.com/doc/internals/en/x-protocol.html.
  7. Implementation of the X Protocol by the X Plugin – https://dev.mysql.com/doc/internals/en/x-protocol-xplugin-implementation-of-the-x-protocol.html.
  8. Загрузка MySQL Shell – http://dev.mysql.com/downloads/shell.
  9. API mysqlsh – http://dev.mysql.com/doc/x-devapi-userguide/en/working-with-collections-basic-crud.html.
  10. Страница загрузки драйвера Node.js – http://dev.mysql.com/downloads/connector/nodejs.
  11. Документация по API Node.js – http://dev.mysql.com/doc/dev/connector-nodejs.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru