Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

YDB — распределённая отказоустойчивая реляционная система управления базами данных (СУБД) компании Яндекс с открытым исходным кодом.

Функциональность

YDB — технология, позволяющая создавать крупные сервисы, которые способны выдерживать большую операционную нагрузку (до уровня миллионов запросов в секунду). В качестве языка запросов по умолчанию используется YQL[1] (YDB Query Language) — диалект SQL со строгой типизацией[2].

Входит в число СУБД, предоставляющих ACID-гарантии транзакций[3].

Ближайшие аналоги среди систем баз данных, также доступных в виде открытого ПО, — YugabyteDB и CockroachDB.

YDB подразумевает самостоятельное развёртывание на кластеры физических хостов или виртуальных машин при помощи инструментов Kubernetes, либо в качестве управляемого сервиса в Yandex Cloud. Для управляемой реализации выбирается режим бессерверных вычислений или Dedicated-режим.

Особенности реализации

YDB не поддерживает UUID в качестве самостоятельного типа данных[4].

Отсутствует встроенная функция автоинкремента значения поля при добавлении данных в таблицу[4].

Архитектура

YDB работает на кластерах с архитектурой «shared nothing» и использует стандартное оборудование (commodity hardware). Система строится на основе логических компонентов — таблеток. Таблетка реализует протокол решения задачи консенсуса в сети ненадежных вычислителей. По функциональности этот протокол аналогичен протоколам Паксос и Raft.

Пользовательские таблицы имеют обязательный первичный ключ, таблицы шардируются по диапазонам первичного ключа. Шардом данных управляет таблетка, размер шарда может составлять до единиц гигабайт. Такие таблетки носят название DataShard. Таблетка DataShard может автоматически делиться на несколько таблеток при превышении порога хранимых данных или порога нагрузки на шард. Так система прозрачно масштабируется с ростом пользовательской нагрузки.

Существует множество разных типов таблеток помимо DataShard: таблетки SchemeShard для хранения метаданных о пользовательских таблицах, Hive для балансировки и запуска таблеток, Coordinator и Mediator для планирования распределенных транзакций, и многие другие.

Данные таблеток хранятся в слое Distributed Storage, который представляет собой key-value хранилище со специализированным протоколом для поддержки протокола таблеток. Distributed Storage обеспечивает репликацию данных, данные таблеток хранятся в качестве BLOB[3].

YDB реализовывает распределенные транзакции между данными одной или нескольких таблиц. Механизм распределенных транзакций опирается на алгоритм Calvin[5]. Однако в отличие от Calvin, YDB поддерживает выполнение интерактивных транзакций и транзакций, не являющихся детерминистическими. Для этого используются оптимистические блокировки.

При разработке кода YDB применяется модель акторов. Акторы — это однопоточные конечные автоматы, которые обмениваются между собой сообщениями и находятся на различных серверах кластера. Для обмена сообщениями по сети используется библиотека interconnect, разработанная в рамках проекта. Поверх YDB разработаны различные сервисы. Например, виртуальные блочные устройства и персистентные очереди.

Взаимодействие пользователя с YDB происходит по протоколу gRPC[3]. Для YDB существует ряд клиентских SDK, которые реализовывают механизмы обнаружения нод (discovery), клиентской балансировки и т. п.

История

В 2010 году внутри Яндекса началась разработка собственной NoSQL СУБД KiWi[1]. Она начала использоваться в 2011 году. Однако KiWi обеспечивала «согласованность в конечном счёте» и обладала другими недостатками модели NoSQL[3].

В 2012 году началась внутренняя разработка проекта KiKiMR, и только для нужд Яндекса. За пределами компании проект назвали YDB[1]. В 2016 году СУБД стала использоваться в сервисах Яндекса.

В 2018 году состоялся запуск облачной платформы Yandex Cloud, хранение данных в которой было основано на YDB[6]. В то же время компания объявила[7], что в будущем сделает YDB доступной в Yandex Cloud в качестве управляемого сервиса. Позднее такой доступ действительно начал предоставляться наряду с другими управляемыми сервисами — для PostgreSQL, MongoDB и других. Эта облачная версия получила название Yandex Database (позднее — Managed service for YDB).

В апреле 2022 года СУБД YDB была опубликована на GitHub как свободное программное обеспечение под лицензией Apache 2.0[1].

Примечания

  1. 1 2 3 4 Яндекс выложил в опенсорс YDB. Хабр. Дата обращения: 12 июня 2022. Архивировано 27 мая 2022 года.
  2. Как писать меньше кода для MR, или Зачем миру ещё один язык запросов? История Yandex Query Language. Хабр. Дата обращения: 14 июня 2022. Архивировано 2 июля 2022 года.
  3. 1 2 3 4 Бессерверная альтернатива традиционным базам данных (рус.). osp.ru. Дата обращения: 23 июня 2022. Архивировано 24 мая 2022 года.
  4. 1 2 Nikolay Matrosov. Автоинкремент в Yandex Database (англ.). Medium (14 февраля 2022). Дата обращения: 24 апреля 2022.
  5. Calvin: Fast Distributed Transactions for Partitioned Database Systems (англ.). Йельский университет. Дата обращения: 19 июня 2022. Архивировано 22 мая 2022 года.
  6. 001. Яндекс Облако: обзор платформы – Ян Лещинский (рус.). Youtube. Дата обращения: 12 июня 2022. Архивировано 12 июня 2022 года.
  7. about:cloud, ноябрь 2018 | Запись трансляции (рус.). Youtube. Дата обращения: 12 июня 2022. Архивировано 12 июня 2022 года.
Эта страница в последний раз была отредактирована 2 сентября 2023 в 07:40.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).