URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 114187
[ Назад ]

Исходное сообщение
"Выпуск распределённой СУБД TiDB 2.0"

Отправлено opennews , 29-Апр-18 17:22 
Состоялся (https://github.com/pingcap/tidb/releases/tag/v2.0.0) релиз распределённой СУБД TiDB 2.0 (https://pingcap.com/index), развиваемой под впечатлением от технологий  Google Spanner (http://research.google.com/archive/spanner.html) и F1 (http://research.google.com/pubs/pub38125.html). TiDB относится к категории гибридных систем HTAP (Hybrid Transactional/Analytical Processing), способных как обеспечивать выполнение транзакций в реальном времени (OLTP), так и применяться для обработки аналитических запросов. Проект написан на языке Go и распространяется (https://github.com/pingcap/tidb) под лицензией Apache 2.0.


Особенности TiDB:


-  Поддержка SQL и предоставление клиентского интерфейса, совместимого с протоколом MySQL, что упрощает адаптацию для TiDB  существующих приложений, написанных для MySQL, или  позволяет задействовать распространённые клиентские библиотеки. Кроме протокола MySQL для обращения к СУБД можно использовать API на базе JSON и коннектор для Spark.

-  Из возможностей SQL поддерживаются индексы, агрегатные функции, выражения GROUP BY, ORDER BY, DISTICT, слияния (LEFT JOIN / RIGHT JOIN / CROSS JOIN) и простые подзапросы. Предоставляемых возможностей достаточно для организации работы с TiDB таких web-приложений, как PhpMyAdmin, Gogs (https://gogs.io/) и Wordpress.
-  Возможность горизонтального масштабирования  и обеспечения отказоустойчивости: размер хранилища и вычислительную мощность можно наращивать простым подключением новых узлов, данные распределяются по узлам с избыточностью, позволяющей продолжить работу в случае сбоя отдельных узлов. Сбои обрабатываются автоматически.

-  Система гарантирует непротиворечивость и для клиентского ПО выглядит как одна большая СУБД, несмотря на то, что фактически для выполнения транзакции привлекаются данные со множества узлов.
-  Для физического хранения данных на узлах могут применяться разные бэкенды, например, локальные движки хранения GoLevelDB и BoltDB или собственный движок для распределённых хранилищ TiKV (https://github.com/pingcap/tikv).
-  Возможность асинхронного изменения схемы хранения, позволяющая на лету добавлять столбцы и индексы без остановки обработки текущих операций.

Ключевые улучшения в TiDB 2.0:

-  Внесён большой набор улучшений в оптимизатор SQL-запросов:


-  Для сокращения потребления памяти для хранения статистики задействованы более компактные структуры данных.
-  Ускорена загрузка статистики при запуске сервера.
-  Добавлена возможность динамического обновления статистики.
-  Оптимизирована модель вычисления веса запроса.
-  Улучшен анализ сложных запросов на предмет возможности применения индексов.
-  Добавлена возможность ручного определения порядка слияния таблиц при помощи конструкции STRAIGHT_JOIN.
-  Увеличена производительность выполнения запросов с пустым "GROUP BY".
-  Добавлена поддержка использования индексов для функций MAX/MIN;
-  Улучшена оптимизация подзапросов и их преобразования в слияния "LEFT OUTER JOIN".

-  В движке обработки SQL-запросов:


-  Добавлена поддержка TLS;
-  Расширена поддержка синтаксиса SQL, улучшена совместимость с MySQL, добавлена поддержка дополнительных типов данных и функций;
-  Добавлена поддержка протокола Proxy;
-  Расширено число предоставляемых метрик для мониторинга;
-  Добавлена проверка корректности файлов конфигурации;
-  Добавлена возможность получения настроек через HTTP API;
-  Добавлена поддержка многопоточной сборки мусора. Ускорен процесс сборки мусора и оптимизировано выставление блокировок при пакетном выполнении операций (Batch mode);
-  Проведён рефакторинг всех операторов с использованием архитектуры Chunk, увеличена производительность аналитических запросов и сокращено потребление памяти. Существенно улучшены результаты прохождения тестов
TPC-H;
-  Добавлена поддержка операторов потокового агрегирования данных;

-  Более чем в 10 раз увеличена скорость загрузки данных оператором "LOAD", операций "INSERT .. IGNORE" и обновления данных с дублирующимися ключами;

-  Предложена возможность ограничения размера памяти, которая может быть израсходована в процессе обработке одного SQL-запроса;


-  Улучшена совместимость с инструментом управления СУБД  Navicat;-  Улучшена совместимость с JDBC;-  Добавлена поддержка дополнительных режимов работы SQL;-  Оптимизирована производительность операции добавления индекса и добавлена возможность выполнения добавления индекса в низкоприоритетном режиме, минимизирующем влияние на другие операции;-  Реализована возможность восстановления данных индекса при помощи команды "ADMIN RECOVER INDEX";-  Возможность изменения опций таблицы при помощи выражения ALTER.

URL: https://github.com/pingcap/tidb/releases/tag/v2.0.0
Новость: https://www.opennet.ru/opennews/art.shtml?num=48511


Содержание

Сообщения в этом обсуждении
"Выпуск распределённой СУБД TiDB 2.0"
Отправлено Вареник , 29-Апр-18 17:57 
Так чем она отличается от десятка таких же?

"Выпуск распределённой СУБД TiDB 2.0"
Отправлено Crazy Alex , 29-Апр-18 18:48 
ну, кластерность плюс мускульный протокол - уже не так уж плохо. Понятно, что чем-то за это заплатить придётся, но кое-где очень хорошо сядет

"Выпуск распределённой СУБД TiDB 2.0"
Отправлено Аноним , 01-Май-18 17:17 
Можно перечислить весь десяток?

"Выпуск распределённой СУБД TiDB 2.0"
Отправлено ГН , 30-Апр-18 00:24 
> Увеличена производительность выполнения запросов с пустым "GROUP BY".

Наконец-то! Ждали всем шреддером!

> Особенности TiDB:
> Возможность асинхронного изменения схемы хранения, позволяющая на лету добавлять столбцы и индексы без остановки обработки текущих операций.

А в каких СУРБД сегодня существует такая проблема?


"Выпуск распределённой СУБД TiDB 2.0"
Отправлено angra , 30-Апр-18 01:18 
> А в каких СУРБД сегодня существует такая проблема?

Например в мускуле.


"Выпуск распределённой СУБД TiDB 2.0"
Отправлено Anonim , 30-Апр-18 17:15 
А в каких базах данных это сделано не как обычный блоб?

"Выпуск распределённой СУБД TiDB 2.0"
Отправлено funny.falcon , 01-Май-18 11:06 
В PostgreSQL можно свободно добавлять столбцы (если у них дефолт NULL). И это было уже больше пятнадцати лет, и к json отношения не имеет.

"Выпуск распределённой СУБД TiDB 2.0"
Отправлено KonstantinB , 01-Май-18 16:51 
> А в каких СУРБД сегодня существует такая проблема?

В той или иной мере во всех. Для версионника это нетривиальная операция. В том же postgresql CREATE INDEX CONCURRENTLY появился относительно недавно и имеет ряд ограничений.