YugabyteDB является свободным и открытым исходным кодом , распределенная , реляционная , NewSQL базы данных системы управления предназначены для обработки больших объемов данных , охватывающих по нескольким зонам доступности и географических регионов, обеспечивая при этом одной цифры задержки , высокую доступность , и нет единой точки отказа .
Автор (ы) оригинала | Каннан Мутуккаруппан, Картик Ранганатан, Михаил Баутин |
---|---|
Разработчики) | Югабайт, Inc. |
Первый выпуск | Апрель 2016 г . |
Стабильный выпуск | 2.2.30 [1] / 2020-09-30 [±] |
Репозиторий | Репозиторий YugabyteDB |
Написано в | C ++ |
Операционная система | Кроссплатформенность |
Доступно в | английский |
Тип | База данных NewSQL , хранилище данных |
Лицензия | Лицензия Apache 2.0 |
Веб-сайт | www |
Базы данных NewSQL, такие как YugabyteDB, берут некоторые внутренние функции баз данных NoSQL и объединяют их с интерфейсными функциями зрелых реляционных баз данных. Результат обеспечивает масштабируемость, аналогичную NoSQL, но с некоторыми из более надежных функций реляционных баз данных. Yugabyte повторно использует внешний интерфейс PostgreSQL и наследует большую часть его набора функций. [2] Кроме того, Yugabyte поддерживает определенную степень совместимости с Apache Cassandra, что позволяет приложениям, написанным для API Cassandra, использовать Yugabyte с коротким путем миграции. [3]
Основные особенности
- Распространено
- Данные хранятся на нескольких серверах и могут быть прочитаны с нескольких серверов.
- Поддерживает репликацию и репликацию зон множественной доступности и географических зон
- Yugabyte реплицирует данные на основе протокола raft [4], который обеспечивает отказоустойчивость между стойками или центрами обработки данных [5]
- Масштабируемость
- Пропускная способность для чтения и записи увеличивается линейно по мере добавления новых машин с целью отсутствия простоев или прерывания работы приложений.
- Отказоустойчивой
- Данные автоматически реплицируются на несколько узлов для обеспечения отказоустойчивости . Поддерживается репликация в нескольких центрах обработки данных. Вышедшие из строя узлы можно заменить без простоя.
- Поддержка транзакций ACID
- Поддерживает изоляцию моментальных снимков, сериализуемое чтение и сериализуемую запись, а также изоляцию одной строки [8]
- Язык запроса
- Yugabyte совместим как с языком запросов Cassandra с YCQL, так и с языком запросов PostgreSQL с YSQL. YCQL - это альтернатива структурированному языку запросов (SQL), тогда как YSQL - это реализация SQL.
Сеть передачи данных и модель хранения
Топология сети YugabyteDB включает главные узлы, которые координируют изменения схемы и другие действия, хранят метаданные и управляют балансировкой нагрузки. Планшетные серверы, которые обрабатывают хранение, репликацию и запросы. [9]
Базовая модель хранения предоставляется DocDB [10], которая представляет собой систему на основе документов, производную от RocksDB. [11] DocDB - это ключ дерева слияния с лог-структурой для хранилища объектов. [12]
Данные в YugabyteDB тиражируется с помощью плота протокола консенсуса. Каждый главный планшетный сервер входит в состав группы консенсуса raft. По умолчанию данные реплицируются синхронно. [4] Межкластерная репликация доступна асинхронно [13], как и реплики для чтения. [14]
Смотрите также
- NewSQL
- Лаборатория тараканов
- Spanner - Оригинальная распределенная база данных от Google
- Распределенная база данных
- PostgreSQL
Рекомендации
- ^ «v2.2.3.0 (выпущена 30 сентября 2020 г.)» . github.com .
- ^ «Совместимость PostgreSQL в YugabyteDB 2.0» . 17 сентября 2019.
- ^ Хеллер, Мартин (2 июля 2018 г.). "Обзор YugaByte: Кассандра и Редис планетарного масштаба" . InfoWorld .
- ^ а б Югабайт, Команда. «Репликация в DocDB | YugabyteDB Docs» . docs.yugabyte.com .
- ^ "Как работает протокол репликации Raft на основе консенсуса в YugabyteDB?" . 8 августа 2018.
- ^ «Достижение задержек менее одного миллисекунда на больших наборах данных в публичных облаках» . 26 января 2018.
- ^ «Масштабирование базы данных YugaByte до миллионов операций чтения и записи» . 12 января 2018.
- ^ Югабайт, Команда. «Уровни изоляции транзакций | Документы YugabyteDB» . docs.yugabyte.com .
- ^ https://blog.yugabyte.com/yugabyte-db-architecture-diverse-workloads-with-operational-simplicity/#:~:text=YugabyteDB%20Architecture%3A%20Diverse%20Workloads%20with%20Operational%20Simplicity,- Михаил% 20Bautin & text = YugabyteDB% 20is% 20a% 20transactional% 2C% 20high, интерфейсы% 20into% 20an% 20unified% 20solution .
- ^ Югабайт, Команда. «Многоуровневая архитектура для запросов и хранения | Документы YugabyteDB» . docs.yugabyte.com .
- ^ «YugaByte: новая база данных для решения дилеммы SQL и NoSQL» . 6 ноября 2017 г.
- ^ «База данных - БД ЮгаБайт» . База данных баз данных .
- ^ Югабайт, Команда. "Репликация xCluster | Документы YugabyteDB" . docs.yugabyte.com .
- ^ Югабайт, Команда. "Читать реплики | Документы YugabyteDB" . docs.yugabyte.com .