Как стать автором
Обновить
-1
0

Пользователь

Отправить сообщение

Ниже Олег olalala ответил, что "Шард (таблетка) однопоточен, изменения будут выполнены последовательно". Поэтому координатор транзакций, вероятно, при планировании транзакций оперирует не строками, а шардами. И поэтому квантом данных для блокировки здесь, вероятно, является не строка, а шард.

Я бы советовал не упоминать ANSI SQL в качестве целевого стандарта и даже не потому что ANSI – это Американский национальный институт стандартов, который представляет интересы США.

Просто в отношении стандарта SQL есть очень распространенное
заблуждение – думать, что ANSI создает стандарт SQL. На самом деле сейчас в
США просто берут очередную ревизию международного стандарта ISO/IEC 9075 и утверждают его в качестве национального. Например, говоря "ANSI SQL 2016" вы, скорее всего, имели в виду "ISO/IEC 9075:2016". Но у этого заблуждения есть корни – первый стандарт SQL (ANSI X3.135-1986) действительно был создан структурами, аккредитованными ANSI.

@olalala
У вас в документации сказано, что "При выполнении запросов в YDB фактическое выполнение запроса к каждому шарду осуществляется в единой точке, обслуживающей протокол распределенных транзакций. ... данные уже хранятся реплицированно и возможно обслуживание более одного читателя (но писатель при этом все еще в каждый момент строго один)".

Поясните фразу "писатель при этом все еще в каждый момент строго один". Означает ли это, что два непересекающихся множества строк в одном шарде не могут параллельно изменяться двумя разными приложениями при том, что каждое приложение изменяет только "свое" множество строк?

Увидел выше ответ "Мы в целом стремимся к максимальному сближению с ANSI SQL". Т.е. здесь имеется в виду самый первый стандарт SQL, принятый в 1986 году.

@olalala
У вас в документации про шардирование сказано, что "Характерное время операции разделения или объединения — порядка 500 мс. На это время вовлеченные в операцию данные становятся кратковременно недоступны для чтения и записи… Стоит отметить, что если система по каким-то причинам перегружена (например, из-за общей нехватки CPU или пропускной способности выделенных базе дисковых ресурсов) то операции разделения и объединения могут длиться дольше ".

А вот это "характерное время" в 500 мс. откуда взялось? Судя по тексту, оно не зависит от размера самих шардов, а зависит только от загрузки ресурсов CPU/IO – это так надо понимать?

@olalala
У вас в документации сказано, что "Каждый индекс обслуживается своим набором шардов, и решения о разделении или объединении его партиций принимаются независимо на основании настроек по умолчанию. В будущем эти настройки могут быть сделаны доступными пользователям, аналогично настройкам основной таблицы".

Означает ли это, что сейчас отсутствует возможность управлять шардированием индекса для конкретной таблицы?

@olalala
У вас в документации сказано, что "На затронутые в ходе транзакции сущности ставятся оптимистичные блокировки, при завершении транзакции проверяется, что блокировки не были инвалидированы".

Под "сущностями" здесь что подразумевается – таблицы, строки, поля, что-то другое?

@olalala
У вас в документации сказано, что "YQL (YDB Query Language) is a universal declarative query language for YDB, a dialect of SQL. YQL has been natively designed for large distributed databases, and therefore has a number of differences from the SQL standard".

Если YQL это диалект, то с каким именно стандартом SQL вы себя здесь сравниваете и в чем конкретно эти отличия состоят? Где найти список того, что из SQL не поддерживается и того, что вами было в него привнесено?

Ок, создал сперва prometheus и далее запустил как у вас и указано установку в silent режиме. И опять фейл. Этого оказалось недостаточно, не хватает прав на установку в Oracle. Установка под логином prometheus идет и ему не хватает прав? Как это вообще понимать?

Я задавал вполне конкретные вопросы про полный список параметров, но не спрашивал вас, что мне делать. Ок, видимо, "полный" список параметров это просто какой-то рандомный набор параметров из документации, которым вы сами не пользуетесь.

Дальше пытаюсь продираться через ваше описание установки и ничего не понимаю.

У вас сперва идет установка ORDS с файлом параметров, в котором указан пользователь БД prometheus с паролем, а затем уже, после установки вы предлагаете его создать в БД. Так правильно или это ошибка?

Но из вашего ответа так и осталось не понятно можно ли сейчас просто взять приведенный вами полный список параметров со значениями для повторения вашего решения?

Или значения в нем могут быть вообще неподходящими для описанного вами решения как это уже случилось с параметром plsql.gateway.add ? Или plsql.gateway.add может содержать значение false и ваше решение все равно будет работать?

И вот еще не понятно, почему вы называете этот список как <все параметры>? Это все возможные параметры перечислены или что это вообще значит?

Уже сломалось – код в вашей заметке. Вообще принято в Ростелекоме проверять код перед публикацией наружу?

У вас в тексте:

1)    Файл параметров для установки в минимальном варианте:

plsql.gateway.add=true

2)    Все параметры с комментариями (справочно):

plsql.gateway.add=false

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность