Полуторачасовой как пишется и почему

Тест 62. егэ по русскому языку 1 прочитайте текст и выполните задание.показать текст. укажите варианты ответов, в которых верно передана

Тест 62. ЕГЭ по русскому языку


1) Прочитайте текст и выполните задание.

Показать текст. ⇓

Укажите варианты ответов, в которых верно передана ГЛАВНАЯ информация, содержащаяся в тексте. Запишите номера этих предложений.

1) При организации работы в мастерских следует учитывать, что рабочие, находящиеся в сине-зелёном помещении, жалуются на холод при температуре 15 °С, в красно-оранжевом помещении — при температуре 11-12°С.

2) Научные исследования подтвердили тот факт, что люди отождествляют ощущения температуры со зрительным восприятием цвета и, более того, цвет влияет на настроение и здоровье человека.

3) Отождествление ощущения температуры со зрительным восприятием цвета, а также влияние цвета на настроение и здоровье человека нашли подтверждение в научных исследованиях.

4) В современных больницах применяется цветовая терапия: для понижения импульса кровообращения пациентов помещают в комнаты с «холодным» цветом, а для его стимуляции — в комнаты с «тёплым» цветом.

5) Поскольку рабочие жаловались на разное восприятие температуры в комнатах, окрашенных в «холодные» и «тёплые» цвета, было проведено научное исследование, обнаружившее; что цвет играет весьма важную роль в нашей жизни.


2) Прочитайте текст и выполните задание.

Показать текст. ⇓

Самостоятельно подберите противительный союз, который должен стоять на месте пропуска во втором (2) предложении текста. Запишите этот союз.


3) Прочитайте текст и выполните задание.

Показать текст. ⇓

Прочитайте фрагмент словарной статьи, в которой приводятся значения слова ОПЫТ. Определите значение, в котором это слово употреблено в первом (1) предложении текста. Выпишите цифру, соответствующую этому значению в приведённом фрагменте словарной статьи.

ОПЫТ, -а, м.
1) Отражение в сознании людей законов объективного мира и общественной практики, полученное в результате их активного практического познания (спец.). Чувственный о. О. является источником всякого знания.

2) Совокупность знаний и практически усвоенных навыков, умений. Жизненный о. О. исследовательской работы. Поделиться своим опытом с кем-нибудь. Убедиться в чём-либо на собственном опыте.

3) Воспроизведение какого-нибудь явления экспериментальным путём, создание чего-нибудь нового в определённых условиях с целью исследования, испытания. Провести, поставить о. Химические опыты. Опыты селекционеров.

4) Попытка осуществить что-нибудь, пробное осуществление чего-нибудь. Первый о. молодого писателя. Литературные, стихотворные опыты. О. в прозе был неудачным.


4) В одном из приведённых ниже слов допущена ошибка в постановке ударения: НЕВЕРНО выделена буква, обозначающая ударный гласный звук. Выпишите это слово.

бухгАлтеров
заперлА
надорвалАсь
одолжИт
плодонОсить


5) В одном из приведённых ниже предложений НЕВЕРНО употреблено выделенное слово. Исправьте лексическую ошибку, подобрав к выделенному слову пароним. Запишите подобранное слово.

На ДИПЛОМАТИЧЕСКОЙ встрече присутствовали политики дружественных стран.

Биологически активные вещества, содержащиеся в сельдерее, оказывают БЛАГОТВОРИТЕЛЬНОЕ влияние на обмен веществ в организме.

Стремясь к объективной оценке происходящего, педагог старался не выражать ЛИЧНОГО мнения.

Актриса, получившая награду, доказала, что вовсе не обязательно обладать ЭФФЕКТНОЙ внешностью.

Главное — не ошибиться, ВЫБИРАЯ свой жизненный путь.


6) Отредактируйте предложение: исправьте лексическую ошибку, исключив лишнее слово. Выпишите это слово.

Надменное высокомерие и презрение к людям своего племени сделали героя рассказа М. Горького изгоем.


7) В одном из выделенных ниже слов допущена ошибка в образовании формы слова. Исправьте ошибку и запишите слово правильно.

килограмм ЯБЛОК
в ДВЕ тысячи одиннадцатом году
РАЗОЖЖЁМ костёр
ДВУМЯСТАМИ экземплярами
рота СОЛДАТОВ


8) Установите соответствие между грамматическими ошибками и предложениями, в которых они допущены. К каждой ошибке подберите соответствующее предложение.

ГРАММАТИЧЕСКИЕ ОШИБКИ

А) нарушение в построении предложения с причастным оборотом
Б) ошибка в построении сложного предложения
В) нарушение в построении предложения с несогласованным приложением
Г) нарушение связи между подлежащим и сказуемым
Д) ошибка в построении предложения с однородными членами предложения

ПРЕДЛОЖЕНИЯ

1) В древнегреческих школах встречались ученики, гордившиеся тем, что они выучили наизусть поэму Гомера «Илиаду».
2) В этом году МГУ провело несколько олимпиад для школьников.
3) Художники эпохи Возрождения использовали образцы античного искусства как в общей концепции своих произведений, так и в деталях.
4) Тот, кто отправился в поход и вынужден экономить на продуктах, может самостоятельно приготовить муку из корневища белой кувшинки.
5) В ночной тишине слышался стук падавших яблок с веток на тесовую крышу дома.
6) Оплатив счёт, необходимо письменно сообщить издательству номер платёжного поручения.
7) Воины селились непосредственно в месте прохождения линий обороны, которые несли службу на засечных чертах.
8) В сюжете «Отцов и детей» важное место занимают идеологические споры представителей разных социальных сил.
9) В 1975 году Нобелевская премия была присуждена не только известному физику А. Д. Сахарову, а и экономисту — академику Л. В. Канторовичу.


9) Определите слово, в котором пропущена безударная чередующаяся гласная корня. Выпишите это слово, вставив пропущенную букву.

пер..одический
ан..литический
д..фференцировать
изнем..жение
перен..мать (опыт)


10) Определите ряд, в котором в обоих словах пропущена одна и та же буква. Выпишите эти слова, вставив пропущенную букву.

об..скать, раз..грать
р..зобрал, под..шёл
пр..обрёл, пр..одолел
об..грел, поз..вчера
пр..езжий, пр..злой


11) Выпишите слово, в котором на месте пропуска пишется буква Е.

изворотл..вый
рул..вой
виновн..к
присва..вать
наде..ться


12) Выпишите слово, в котором на месте пропуска пишется буква И.

движ..мый
усе..нный
разве..шь
пропущ..нный
подкле..нный


13) Определите предложение, в котором НЕ со словом пишется СЛИТНО. Раскройте скобки и выпишите это слово.

В. Г. Короленко пишет о людях, (НЕ)ПОКОРИВШИХСЯ судьбе, полных желания правды и свободы.

Он ехал, как ему казалось, всё время прямо, ничего (НЕ)ВИДЯ перед собой, кроме головы лошади.

По природе отец будущего писателя был далеко (НЕ)ЗЛЫМ человеком.

Эта (НЕ)ОКОНЧЕННАЯ картина ознаменовала возвращение М. А. Врубеля к теме, волновавшей его всю жизнь.

Голос Ю. Б. Левитана был нисколько (НЕ)ПОХОЖ на голоса всех остальных дикторов.


14) Определите предложение, в котором оба выделенных слова пишутся СЛИТНО. Раскройте скобки и выпишите эти два слова.

Выйдя из дома, мы (В)НАЧАЛЕ следуем по просёлочной дороге, а (ЗА)ТЕМ по асфальтированному шоссе.

Пока дорога шла близ болот, (В)ВИДУ соснового леса, мы (ЗА)ЧАСТУЮ вспугивали целые выводки уток, приютившихся здесь.

(НА)ПРОТЯЖЕНИИ всего пути мы ТО(ЖЕ) делали продолжительные остановки у воды, несмотря на громадную потерю времени.

Сторона, (ПО)ВИДИМОМУ, была глухая: везде виднелся лес, а полей и деревень всё ТАК(ЖЕ) не было.

Напрасно всматривались мы (В)ДАЛЬ горизонта: (НА)ВСТРЕЧУ нам поднимался туман.


15) Укажите цифру(-ы), на месте которой(-ых) пишется НН.

Просторная терраса дачи была очень ярко освеще(1)а лампой и четырьмя стари(2)ыми канделябрами, расставле(3)ыми на дли(4)ом чайном столе.


16) Расставьте знаки препинания. Укажите два предложения, в которых нужно поставить ОДНУ запятую. Запишите номера этих предложений.

1) Лес замолкает и в зареве пылающего костра он кажется волшебно-призрачным.

2) А. С. Пушкин не боялся разговорных слов и выражений и смело вводил их в поэзию.

3) Каждому времени нужен свой летописец не только в области исторических событий но и в области быта и уклада.

4) Работа его успокаивала проясняла голову и за работой незаметно прошло два часа.

5) В нашей поэзии есть и раздумье и грусть и горечь разлук и печаль неосуществлённых встреч.


17) Расставьте знаки препинания: укажите цифру(-ы), на месте которой(-ых) в предложении должна(-ы) стоять запятая(-ые).

В 1878 году (1) показанная на VI передвижной выставке (2) картина «Московский дворик» принесла В. Д. Поленову славу (3) явив рождение в русской живописи нового жанра (4) названного «лирическим» пейзажем.


18) Расставьте знаки препинания: укажите цифру(-ы), на месте которой(-ых) в предложениях должна(-ы) стоять запятая(-ые).

Название «Коломна» (1) по мнению некоторых исследователей (2) восходит к финскому слову. До прихода славян на данной территории жили финские племена, они-то (3) вероятно (4) и оставили это название.


19) Расставьте знаки препинания: укажите цифру(-ы), на месте которой(-ых)в предложении должна(-ы) стоять запятая(-ые).

Провинциальный музей (1) экспозицию (2) которого (3) можно назвать памятником художнику (4) обладает одним из самых богатых собраний работ знаменитого пейзажиста.


20) Расставьте знаки препинания: укажите все цифры, на месте которых в предложении должны стоять запятые.

Дарья Александровна попробовала было играть (1) но долго не могла понять игры (2) а (3) когда поняла (4) то так устала (5) что села с княжной Варварой (6) и только смотрела на играющих.


21) Найдите предложения, в которых запятая(-ые) ставится(-ятся) в соответствии с одним и тем же правилом пунктуации. Запишите номера этих предложений.

(1)Под Владимиром, в посёлке Муромцево, стоит необычный замок в неоготическом стиле. (2)Ныне замок заброшен, но даже развалины восхищают красотой и вызывают уважение к мастерству талантливого архитектора-стилизатора П. С. Бойцова. (3)Этот замок был построен когда-то в вотчине полковника Владимира Семёновича Храповицкого, который в 1884 году получил усадьбу в наследство и с душой и любовью приступил к её обустройству. (4)3а пять лет были построены два усадебных дома, летний театр, купальня, дом управляющего, изящный конный двор и необычный охотничий дворик. (5)На территории усадьбы разбит дендрарий, на птичьем дворе собрано невиданное разнообразие редких птиц и животных. (6)Необычные для русской архитектуры сооружения в неоготическом стиле окружали сказочные ухоженные сады, в искусственных прудах плавали белые лебеди, многочисленные фонтаны били ввысь струями сверкающих брызг, с насыпного пригорка низвергался бурлящий водопад.


22) Прочитайте текст и выполните задание.

Показать текст. ⇓

Какие из высказываний не соответствуют содержанию текста? Укажите номера ответов.

1) В наше время бытует мнение о том, что на смену толстым романам пришли технические чудеса XX столетия.

2) Наряду с художественными произведениями Л. Н. Толстой написал множество научных трудов по психологии человека.

3) Толстовские мысли о человеческой психологии сродни великим открытиям законов природы и общества.

4) Внешне Л. Н. Толстой выглядел как мускулистый и угловатый человек.

5) Из всех романов Л. Н. Толстого «Война и мир», пожалуй, самое короткое произведение.


23) Прочитайте текст и выполните задание.

Показать текст. ⇓

Какие из перечисленных утверждений являются верными? Укажите номера ответов.

1) В предложениях 1, 2 представлено описание.

2) В предложении 5 представлено повествование.

3) В предложении 6, 7 представлено рассуждение.

4) Предложение 12 противопоставлено предложению 11 по содержанию.

5) Предложение 14 поясняет, раскрывает содержание предложения 13.


24) Прочитайте текст и выполните задание.

Показать текст. ⇓

Из предложений 5-6 выпишите слово со значением «высшая творческая способность».


25) Прочитайте текст и выполните задание.

Показать текст. ⇓

Среди предложений 3-10 найдите такое(-ие), которое(-ые) связано(-ы) с предыдущим при помощи притяжательного местоимения, однокоренных слов и форм слов. Напишите номер(-а) этого(-их) предложения(-ий).


26) Прочитайте текст и выполните задание.

Показать текст. ⇓

Прочитайте фрагмент рецензии, составленной на основе текста. В этом фрагменте рассматриваются языковые особенности текста. Некоторые термины, использованные в рецензии, пропущены. Вставьте на места пропусков (А, Б, В, Г) цифры, соответствующие номерам терминов из списка.

«Автор приглашает читателей к совместным размышлениям о творчестве всемирно известного писателя Л. Н. Толстого, используя на протяжении всего текста синтаксическое средство — (А)_________ (в предложениях 4, 6, 7, 13). Точно подмеченные Ю. В. Бондаревым черты толстовского стиля передают троп — (Б)_________ („мускулистого, точного языка», „крепкой и многопериодной фразы» в предложении 8), а также приёмы: (В)_________ (в предложении 12) и (Г)_________ („он подымал такие пласты психологии, он развёртывал такие общественные события, он описывал такие характеры» в предложении 14)».

Список терминов:
1) цитирование
2) сравнение
3) противопоставление
4) эпифора
5) эпитет
6) разговорная лексика
7) парцелляция
8) вводные конструкции
9) синтаксический параллелизм

Разбор частей речи

Далее давайте разберем морфологические признаки каждой из частей речи русского языка на примерах. Согласно лингвистике русского языка, выделяют три группы из 10 частей речи, по общим признакам:

1. Самостоятельные части речи:

  • существительные (см. морфологические нормы сущ. );
  • глаголы:
    • причастия;
    • деепричастия;
  • прилагательные;
  • числительные;
  • местоимения;
  • наречия;

2. Служебные части речи:

  • предлоги;
  • союзы;
  • частицы;

3. Междометия.

Ни в одну из классификаций (по морфологической системе) русского языка не попадают:

  • слова да и нет, в случае, если они выступают в роли самостоятельного предложения.
  • вводные слова: итак, кстати, итого, в качестве отдельного предложения, а так же ряд других слов.

Морфологический разбор существительного

План морфологического разбора существительного

Пример:

«Малыш пьет молоко.»

Малыш (отвечает на вопрос кто?) – имя существительное;

  • начальная форма – малыш;
  • постоянные морфологические признаки: одушевленное, нарицательное, конкретное, мужского рода, I -го склонения;
  • непостоянные морфологические признаки: именительный падеж, единственное число;
  • при синтаксическом разборе предложения выполняет роль подлежащего.

Морфологический разбор слова «молоко» (отвечает на вопрос кого? Что?).

  • начальная форма – молоко;
  • постоянная морфологическая характеристика слова: среднего рода, неодушевленное, вещественное, нарицательное, II -е склонение;
  • изменяемые признаки морфологические: винительный падеж, единственное число;
  • в предложении прямое дополнение.

Приводим ещё один образец, как сделать морфологический разбор существительного, на основе литературного источника:

«Две дамы подбежали к Лужину и помогли ему встать. Он ладонью стал сбивать пыль с пальто. (пример из: «Защита Лужина», Владимир Набоков).»

Дамы (кто?) — имя существительное;

  • начальная форма — дама;
  • постоянные морфологические признаки: нарицательное, одушевленное, конкретное, женского рода, I склонения;
  • непостоянная морфологическая характеристика существительного: единственное число, родительный падеж;
  • синтаксическая роль: часть подлежащего.

Лужину (кому?) — имя существительное;

  • начальная форма — Лужин;
  • верная морфологическая характеристика слова: имя собственное, одушевленное, конкретное, мужского рода, смешанного склонения;
  • непостоянные морфологические признаки существительного: единственное число, дательного падежа;
  • синтаксическая роль: дополнение.

Ладонью (чем?) — имя существительное;

  • начальная форма — ладонь;
  • постоянные морфологические признаки: женского рода, неодушевлённое, нарицательное, конкретное, I склонения;
  • непостоянные морфо. признаки: единственного числа, творительного падежа;
  • синтаксическая роль в контексте: дополнение.

Пыль (что?) — имя существительное;

  • начальная форма — пыль;
  • основные морфологические признаки: нарицательное, вещественное, женского рода, единственного числа, одушевленное не охарактеризовано, III склонения (существительное с нулевым окончанием);
  • непостоянная морфологическая характеристика слова: винительный падеж;
  • синтаксическая роль: дополнение.

(с) Пальто (С чего?) — существительное;

  • начальная форма — пальто;
  • постоянная правильная морфологическая характеристика слова: неодушевленное, нарицательное, конкретное, среднего рода, несклоняемое;
  • морфологические признаки непостоянные: число по контексту невозможно определить, родительного падежа;
  • синтаксическая роль как члена предложения: дополнение.

Морфологический разбор прилагательного

Имя прилагательное — это знаменательная часть речи. Отвечает на вопросы Какой? Какое? Какая? Какие? и характеризует признаки или качества предмета. Таблица морфологических признаков имени прилагательного:

  • начальная форма в именительном падеже, единственного числа, мужского рода;
  • постоянные морфологические признаки прилагательных:
    • разряд, согласно значению:
      • — качественное (теплый, молчаливый);
      • — относительное (вчерашний, читальный);
      • — притяжательное (заячий, мамин);
    • степень сравнения (для качественных, у которых этот признак постоянный);
    • полная / краткая форма (для качественных, у которых этот признак постоянный);
  • непостоянные морфологические признаки прилагательного:
    • качественные прилагательные изменяются по степени сравнения (в сравнительных степенях простая форма, в превосходных — сложная): красивый-красивее-самый красивый;
    • полная или краткая форма (только качественные прилагательные);
    • признак рода (только в единственном числе);
    • число (согласуется с существительным);
    • падеж (согласуется с существительным);
  • синтаксическая роль в предложении: имя прилагательное бывает определением или частью составного именного сказуемого.

План морфологического разбора прилагательного

Пример предложения:

Полная луна взошла над городом.

Полная (какая?) – имя прилагательное;

  • начальная форма – полный;
  • постоянные морфологические признаки имени прилагательного: качественное, полная форма;
  • непостоянная морфологическая характеристика: в положительной (нулевой) степени сравнения, женский род (согласуется с существительным), именительный падеж;
  • по синтаксическому анализу — второстепенный член предложения, выполняет роль определения.

Вот еще целый литературный отрывок и морфологический разбор имени прилагательного, на примерах:

Девушка была прекрасна: стройная, тоненькая, глаза голубые, как два изумительных сапфира, так и заглядывали к вам в душу.

Прекрасна (какова?) — имя прилагательное;

  • начальная форма — прекрасен (в данном значении);
  • постоянные морфологические нормы: качественное, краткое;
  • непостоянные признаки: положительная степень сравнения, единственного числа, женского рода;
  • синтаксическая роль: часть сказуемого.

Стройная (какая?) — имя прилагательное;

  • начальная форма — стройный;
  • постоянные морфологические признаки: качественное, полное;
  • непостоянная морфологическая характеристика слова: полное, положительная степень сравнения, единственное число, женский род, именительный падеж;
  • синтаксическая роль в предложении: часть сказуемого.

Тоненькая (какая?) — имя прилагательное;

  • начальная форма — тоненький;
  • морфологические постоянные признаки: качественное, полное;
  • непостоянная морфологическая характеристика прилагательного: положительная степень сравнения, единственное число, женского рода, именительного падежа;
  • синтаксическая роль: часть сказуемого.

Голубые (какие?) — имя прилагательное;

  • начальная форма — голубой;
  • таблица постоянных морфологических признаков имени прилагательного: качественное;
  • непостоянные морфологические характеристики: полное, положительная степень сравнения, множественное число, именительного падежа;
  • синтаксическая роль: определение.

Изумительных (каких?) — имя прилагательное;

  • начальная форма — изумительный;
  • постоянные признаки по морфологии: относительное, выразительное;
  • непостоянные морфологические признаки: множественное число, родительного падежа;
  • синтаксическая роль в предложении: часть обстоятельства.

Морфологические признаки глагола

Согласно морфологии русского языка, глагол — это самостоятельная часть речи. Он может обозначать действие (гулять), свойство (хромать), отношение (равняться), состояние (радоваться), признак (белеться, красоваться) предмета. Глаголы отвечают на вопрос что делать? что сделать? что делает? что делал? или что будет делать? Разным группам глагольных словоформ присущи неоднородные морфологические характеристики и грамматические признаки.

Морфологические формы глаголов:

  • начальная форма глагола — инфинитив. Ее так же называют неопределенная или неизменяемая форма глагола. Непостоянные морфологические признаки отсутствуют;
  • спрягаемые (личные и безличные) формы;
  • неспрягаемые формы: причастные и деепричастные.

Морфологический разбор глагола

  • начальная форма — инфинитив;
  • постоянные морфологические признаки глагола:
    • переходность:
      • переходный (употребляется с существительными винительного падежа без предлога);
      • непереходный (не употребляется с существительным в винительном падеже без предлога);
    • возвратность:
      • возвратные (есть -ся, -сь);
      • невозвратные (нет -ся, -сь);
    • вид:
      • несовершенный (что делать?);
      • совершенный (что сделать?);
    • спряжение:
      • I спряжение (дела-ешь, дела-ет, дела-ем, дела-ете, дела-ют/ут);
      • II спряжение (сто-ишь, сто-ит, сто-им, сто-ите, сто-ят/ат);
      • разноспрягаемые глаголы (хотеть, бежать);
  • непостоянные морфологические признаки глагола:
    • наклонение:
      • изъявительное: что делал? что сделал? что делает? что сделает?;
      • условное: что делал бы? что сделал бы?;
      • повелительное: делай!;
    • время (в изъявительном наклонении: прошедшее/настоящее/будущее);
    • лицо (в настоящем/будущем времени, изъявительного и повелительного наклонения: 1 лицо: я/мы, 2 лицо: ты/вы, 3 лицо: он/они);
    • род (в прошедшем времени, единственного числа, изъявительного и условного наклонения);
    • число;
  • синтаксическая роль в предложении. Инфинитив может быть любым членом предложения:
    • сказуемым: Быть сегодня празднику;
    • подлежащим :Учиться всегда пригодится;
    • дополнением: Все гости просили ее станцевать;
    • определением: У него возникло непреодолимое желание поесть;
    • обстоятельством: Я вышел пройтись.

Морфологический разбор глагола пример

Чтобы понять схему, проведем письменный разбор морфологии глагола на примере предложения:

Вороне как-то Бог послал кусочек сыру… (басня, И. Крылов)

Послал (что сделал?) — часть речи глагол;

  • начальная форма — послать;
  • постоянные морфологические признаки: совершенный вид, переходный, 1-е спряжение;
  • непостоянная морфологическая характеристика глагола: изъявительное наклонение, прошедшего времени, мужского рода, единственного числа;
  • синтаксическая роль в предложении: сказуемое.

Следующий онлайн образец морфологического разбора глагола в предложении:

Какая тишина, прислушайтесь.

Прислушайтесь (что сделайте?) — глагол;

  • начальная форма — прислушаться;
  • морфологические постоянные признаки: совершенный вид, непереходный, возвратный, 1-го спряжения;
  • непостоянная морфологическая характеристика слова: повелительное наклонение, множественное число, 2-е лицо;
  • синтаксическая роль в предложении: сказуемое.

План морфологического разбора глагола онлайн бесплатно, на основе примера из целого абзаца:

— Его нужно предостеречь.

— Не надо, пусть знает в другой раз, как нарушать правила.

— Что за правила?

— Подождите, потом скажу. Вошел! («Золотой телёнок», И. Ильф)

Предостеречь (что сделать?) — глагол;

  • начальная форма — предостеречь;
  • морфологические признаки глагола постоянные: совершенный вид, переходный, невозвратный, 1-го спряжения;
  • непостоянная морфология части речи: инфинитив;
  • синтаксическая функция в предложении: составная часть сказуемого.

Пусть знает (что делает?) — часть речи глагол;

  • начальная форма — знать;
  • постоянные морфологические признаки: несовершенный вид, невозвратный, переходный, 1-го спряжения;
  • непостоянная морфология глагола: повелительное наклонение, единственного числа, 3-е лицо;
  • синтаксическая роль в предложении: сказуемое.

Нарушать (что делать?) — слово глагол;

  • начальная форма — нарушать;
  • постоянные морфологические признаки: несовершенный вид, невозвратный, переходный, 1-го спряжения;
  • непостоянные признаки глагола: инфинитив (начальная форма);
  • синтаксическая роль в контексте: часть сказуемого.

Подождите (что сделайте?) — часть речи глагол;

  • начальная форма — подождать;
  • постоянные морфологические признаки: совершенный вид, невозвратный, переходный, 1-го спряжения;
  • непостоянная морфологическая характеристика глагола: повелительное наклонение, множественного числа, 2-го лица;
  • синтаксическая роль в предложении: сказуемое.

Вошел (что сделал?) — глагол;

  • начальная форма — войти;
  • постоянные морфологические признаки: совершенный вид, невозвратный, непереходный, 1-го спряжения;
  • непостоянная морфологическая характеристика глагола: прошедшее время, изъявительное наклонение, единственного числа, мужского рода;
  • синтаксическая роль в предложении: сказуемое.

vqwiga63njkn7hhjlave14pbqys

Продолжаем экспериментировать с форматом: в этом выпуске нет раздела Релизы, но несколько релизов разбросаны по соответствующему контексту.

Люди

Список коммитеров прирос Даниэлем Густафссоном (Daniel Gustafsson, Greenplum, из Стокгольма) и Джоном Найлором (John Naylor, 2ndQuadrant=EDB)

Даниэль: я использую, разрабатываю и продвигаю open source последние 15 лет, фокусируясь в основном на PostgreSQL и curl. Сейчас я работаю в Greenplum. Я контрибьютор PostgreSQL и работаю над кодом ядра PostgreSQL. А ещё над веб-сайтом, там я коммитер. Кроме программистских дел, я ещё и организую международные конференции: Nordic PGDay, FOSDEM, PGDay и PostgreSQL Conference Europe.

Джон не любит, видимо, говорить о себе. В корпоративном блоге есть парочка его статей.

Интервью: Брин Льюэллин

Брин (Bryn Llewellyn) в своё время ушёл из Oracle в YugaByte, и об этом его с пристрастием расспрашивают. Брин занимается в компании документацией, которая, по его словам, более развитая, с бОльшим количеством примеров, которые придумывает Брин (мне она, честно говоря, не показалась удобной). И это занятие его более чем устраивает: объясняя, понимаешь глубже. К тому же, всегда можно порезвиться, придумывая интересные примеры.

Самое актуальное для сообщества — горизонтальная масштабируемость Postgres. В YugaByte решают (или уместней сказать «обходят»?) эту проблему «единственным разумным путём: код PostgreSQL используется как „верхняя половина“, C-слой для операций с SQL. А „нижняя половина“ заменена полностью — это югабайтовский код, обеспечивающий внутреннюю масштабируемость с распределённостью на глобальном уровне и с внутренней отказоустойчивостью. Там схема распределённых транзакций реплицирует все сохраняемые данные, используя произвольно высокий фактор репликации (то есть настолько большой, насколько нужно). Описание этой двухэтажной архитектурной схемы лучше начать со статьи в югабатовском блоге: Distributed PostgreSQL on a Google Spanner Architecture — Storage Layer. А потом уже смотреть постгресовый слой.» YugaByte доступен в открытых кодах на гитхабе.

Что раздражает Брина в Postgres? Прежде всего то, что PL/pgSQL не поддерживает вложенные подпрограммы и пакеты — в отличие от Oracle. Из-за этого почти невозможно создавать модульный софт, с повторным использованием компонент, а куда без этого в больших проектах.

Статьи

Почему мы перешли с Oracle на PostgreSQL, и как это сделать

Опыт перехода с Oracle 12 на Postgres Pro Standard 13. Волнующая тема, соответственно более полусотни комментариев. В том числе от Сбера: «В Сбере тоже есть адекватные менеджеры и миграция с Oracle на PG идет полным ходом, в ближайшем времени постараемся опубликовать статью с нашим опытом.»

Статья богата на ссылки. Автор, plotn1 (Плотников?) предлагает перед чтением его статьи глянуть, чего энтерпрайзу в PostgreSQL не хватает. Кстати, если лень или некогда, можно глянуть нашу сводку «нехваток» в Postgresso 31.

Автор также ссылается на доклады и мастер-классы PGConf.Russia, советует начать вот с этого доклада о миграции с Oracle: Как я перестал беспокоиться и перенес 60K строк из 150 процедур PL/SQL в Postgres Анатолия Анфиногенова из АО “ВНИИЖТ”. А по ходу дела сверяться с Сопоставление типов данных Oracle с PostgreSQL Дэвида Рейдера (David Rader).

С чего надо было мигрировать:

Данные в Oracle 12. «Стек приложения — java/kotlin вперемежку, spring, разумеется hibernate. Часть приложений подняты на glassfish, часть автономны на spring boot. Такое вот наследие.»

Мигрировали на Postgres Pro Standard 13 на RedOS 7.2 «Муром». Инструмент — ora2pg, он выдал рабочий скрипт создания таблиц. Но все первичные ключи получились numeric(22), пришлось переделывать на int8. Несоответствию типов в Oracle и Postgres в статье посвящено немало места — опыт, полезный для многих.

Перегоняли данные через расширение oracle_fdw, но оно с полпинка не установилось. Автор рассказывает интересный эпизод: он создал тикет в гитхабе автору расширения. Разработчик, вопреки ожиданиям, за день выпустил новую версию, которая устанавливалась без проблем.

Поскольку в Postgres Pro Standard не входит pgpro_scheduler (он входит в Enterprise), то использовали для запуска репликации pg_cron.

Для переписывания сложных функций использовали расширение orafce (Oracle’s Compatibility Functions and Packages). Вместо оракловых древовидных запросов использовали CTE. Настраивали производительность при помощи PGTune.

К слову, вот новый релиз ora2pg на гитхабе неутомимого Жиля Дароля (Gilles Darold):

Ora2Pg 22.1

Database Lab 2.4

Мы не раз рассказывали о Database Lab Engine в Postgresso, в том числе в Postgresso 26, где говорили о DLE 2.0, давали ссылку на полуторачасовой Вторник, на котором Николай Самохвалов и Артём Картасов обсуждали DLE. Вот ещё повод: релиз 2.4.

Database Lab это инструмент для клонирования больших баз, чтобы тестировать или отлаживать запросы или совершенствовать приложения — в не критичном окружении. Но это «тонкие» клоны, поэтому они создаются быстро, и работать с ними удобно.

В 2.4 появились два важных инструмента:

  • DB Migration Checker. Он автоматизирует тестирование миграционных проектов в стиле CI/CD (то есть непрерывной интеграции / непрерывного развертывания);
  • модуль Terraform для разворачивания DLE в AWS в «логическом» режиме развёртывания. При этом исходная база PostgreSQL может быть физически расположена где угодно.

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

pg_validate_extugprade 1.0.0beta

Плодовитый Жульен Руо (Julien Rouhaud) придумал инструмент-расширение для тестирования расширений после их обновления соответствующими скриптами. Нишевый продукт, как он сам говорит, для тех, кто разрабатывает и поставляет расширения. pg_validate_extugprade проверяет, создадут ли ваши скрипты, если вы установите расширение версии X, и затем обновите до Y, точно те же объекты, что появятся при установке сразу версии Y. И выдаст список отличий, если они есть. Код открытый, написано на RUST, совместимо с PostgreSQL 9.2 — 14.

Empire ERP. Занимательная бухгалтерия: PostgreSQL

Владимир Номхоев aka nomhoi предлагает развлечься бухгалтерией. У статьи предыстория. Начиналось всё, как ни странно, с AI Cup — с конкурса программистов, пишущих игры-стратеги с использованием искусственного интеллекта. Но оттуда взят, видимо, только программный фреймворк — в том числе с Python, конечно, и дополненный C++. До этого в статье Empire ERP. Занимательная бухгалтерия: главная книга, счета, баланс набросали прототип ERP, там же прописаны требования, а в этой статье базу уже берут готовой с гитхаба. Всё собирается в докере.

В конце статьи Владимир утверждает, что вот, мол, всю логику модуля «Бухгалтерия» можно создать на стороне сервера базы данных и создать SQL API. Насчёт «всей» не берусь судить. А в самом-самом конце неожиданное возвращение к ИИ: оказывается, большие учёные планируют планирование ERP-задач поручить тоже ИИ (глава Automated Planning).

Потоковый захват изменений из PostgreSQL/MySQL с помощью Apache Flink

Александр Сергеенко из компании «Неофлекс», демонстрирует реализацию паттерна Change Data Capture (CDC) средствами Apache Flink.

Тема, как мне кажется, не очень многим постгресистам знакомая. Больше, наверное, кафкианцам. В статье есть вполне информативная теоретическая часть. «CDC можно представить в виде ETL-процесса, где „E“ отвечает за анализ лога базы данных, „T“ – по обыкновению занимается преобразованиями и агрегациями событий, а „L“ – транслирует полученные агрегаты или сырые события потребителю.» Логи в контексте ETL возникают немного неожиданно, и действительно WAL используется. В статье много незнакомых мне терминов вроде event-carried state transfer или event sourcing.

Дальше уже строятся схемы работы CDC с участием Postgres.

В результате упрощений схемы взаимодействия c Postgres остаётся Flink CDC Connectors — набор коннекторов для MySQL и PostgreSQL, разработанный Alibaba и Ververica, который позволяет подключаться к логам БД прямо из Flink-джоба (задания).

Собирается демонстрационный проект — сценарий захвата изменений из WAL PostgreSQL — как docker compose, в котором:

  • PostgreSQL – собственно, мастер-источник изменений;
  • Elasticsearch – для записи результатов и промежуточных событий;
  • Kibana – для визуализации содержимого индексов Elasticsearch;
  • Job Manager кластера Apache Flink (в количестве одной штуки) – для управления кластером Flink;
  • Task Manager кластера Apache Flink (в количестве одной штуки) – для выполнения DAG-графа операторов CDC-джоба.

Готовый docker-compose.yml можно скачать из гитхаба. Дальше начинаются уроки труда: «реализуем несложный сценарий захвата изменений из WAL PostgreSQL, приправленный объединениями, агрегацией, стеком ELK и целым кластером Flink, правда в миниатюре.»

Streaming JSON Data into Postgres with Open Source Kafka Sink Connectors

Пол Бребнер (Paul Brebner, Instaclustr) в части 6 (здесь начало) с Кафкой добрался до Postgres. Но кафкианских ужасов не дождались: всё интегрируется и взаимодействует. Instaclustr, где работает Пол, приобрела компанию Credativ, и теперь managed PostgreSQL на их «дорожной карте», отсюда и тяга разобраться в потрохах этого решения.

Итак, в этой статье PostgreSQL будет замещать Elasticsearch, а Apache Superset — Kibana, родственницу Elastic, в фазе анализа и визуализации.

Опуская промежуточные этапы, заметим, что для сброса данных в Postgres нужны Kafka Connect PostgreSQL Sink Connectors. Их несколько, в том числе опенсорсные. Огорчившись видом давно не обновляемых коннекторов, сбрасывающих поток JSON-ов в Postgres, Пол выбирает те коннекторы, что работают через JDBC-драйверы:

  • IBM Kafka Connect sink connector for JDBC,
  • Aiven Connect JDBC Connector,
  • Apache Camel JDBC Kafka Sink Connector.

Спойлер: успеха удалось добиться только с кастомизированным под задачу IBM-коннектором.

Статья написана легко и даже весело. С интересными ссылками-отступлениями-отвлечениями:
Postgres как машина Тьюринга.

Головоломка Ханойская башня, реализованная на Postgres.
GTS2 — игра-стратегия на PostgreSQL + pl/python.

Кстати, о JDBC: встречайте JDBC 42.2.23.

Plv8-build: the easiest way to install PLV8 extension to current PostgreSQL release version

Алексей Фадеев со своими коллегами из компании sibedge поработали над пакетами для установки plv8 в Postgres 13. Теперь установить можно за считанные секунды — авторы предлагают проверить: вот для Linux, вот в Докере.

На эту работу, признаётся Алексей, их подвигнула статья Ивана Панченко aka x-wao PostgreSQL: Серверное программирование на «человеческом» языке (PL/Perl, PL/Python, PL/v8) годовалой давности.

Опыт хранения IP-адресов в PostgreSQL

Пишет некто slava-a из компании Karuna («мы лучшая компания в твоей жизни» — примерно всё, что можно узнать из профиля). Тема, однако, любопытная: в Postgres имеются типы данных inet/cidr для хранения IP-адресов. Создаётся табличка и к ней GiST-индекс. Чтобы найти, из какой страны IP, приходится строить функцию с циклом. На табличке с 1 млн адресов она отрабатывает почти за секунду.

Но оказывается, что есть расширение ip4r и оно даёт выигрыш в скорости выполнения поискового запроса в 20 раз. Дальше там есть ещё и про возможности гео-модуля для nginx.

Низкоуровневое обнаружение (LLD) в Zabbix через SQL-запросы

В блоге компании Galas Software («Интегратор, который работает исключительно с системами мониторинга») появилась статья, в которой для мониторинга используется расширение pg_stat_monitor от Percona (собирают из исходников). Он работает с pg_stat_statements, но агрегирует информацию. Когда в инструментах мониторинга анализируют информацию pg_stat_statements, обычно возникает вопрос сброса этой информации — когда и как. В pg_stat_monitor:

  • собирается статистика и объединяется в корзину (агрегат);
  • корзина собирается и хранится заданный период времени;
  • когда время истекает, pg_stat_monitor сбрасывает всю накопленную статистику и начинает собирать её заново.

Простенько и со вкусом?

Читаются данные через Zabbix. Это почти мейнстрим. mamonsu, например, работает как активный агент (Zabbix Trapper). В статье создают шаблон в Zabbix для работы по ODBC, добавляют макросы к Zabbix, создают мастер-элемент данных, получают вывод в JSON и совершают ещё некоторые действия.

Мониторинг PostgreSQL. Расшифровка аудиочата Data Egret и Okmeter

Владимир Гурьянов, разработчик okmeter (на хабре он с построк-эротическим ником magvai69) опубликовал в блоге компании Флант («DevOps-as-a-Service, Kubernetes, обслуживание 24×7») расшифровку беседы с Алексеем Лесовским и Ильёй Космодемьянским из Data Egret.

Оглавление:

  • Кто такие DBA, и чем они занимаются.
  • Мониторинг БД и популярные системы.
  • Ошибки при мониторинге баз данных.
  • Сотрудничество Data Egret и Okmeter.
  • Как Data Egret делятся знаниями и опытом.
  • Об участии в Open Source-проектах.
  • Аутсорсинг DBA и мониторинга.
  • О важности soft skills для DBA.
  • Вопросы слушателей

Postgres Observability

Истинное наслаждение нажимать на кнопочки номеров версий в произведении Алексея Лесовского Postgres Observability. При переходе с 13 на 14 кое-что меняется. Хотя куда меньше, чем 9.6 => 10. А при 10 => 11 в Observability не меняется вообще ничего. Но это буковки. Сама схема изменилась только 1 раз: в 12 => 13 серый прямоугольник Shared buffers поделился, отдал серый кусочек SLRU Caches. Но, может, я что-то пропустил. Поправьте.

Noisia 0.1.1. Harmful workload generator for PostgreSQL

Вредный генератор нагрузки. Нет, всё же Генератор Вредоносной Нагрузки. Это создание Алексея Лесовского умеет генерировать нагрузку, провоцирующую дедлоки, транзакции, которые ничего не делают, и запросы, которые сбрасывают на диск временные файлы. Зачем? Что не убивает, делает сильней (после настройки). Не пытайтесь повторить тесты без понимания возможных последствий: никаких гарантий, чистый шампанский риск.

Набор тестов на писан на Go. В версии 0.1.1 (до этого был только один релиз — 0.1.0) Go обновлён до версии 1.16.

Почему PostgreSQL тормозит: индексы и корреляция данных

Дмитрий Васильев, aka vadv, Ozon Tech, пишет о том, почему индексы не всегда ускоряют. Одна из возможных причин тормозов индексов – это отсутствие корреляции данных, точнее: о статистической корреляции между физическим порядком строк и логическим порядком значений столбца.

Дмитрий создаёт табличку с полями:

corr — последовательно заполняемым числами от 1 до 10 000 и uncorr — рандомными значениями uuid_generate_v4() (для чего устанавливается расширение uuid-ossp). В поле correlation представления pg_stats это соответствует значениям 1 и ~0 соответственно. По corr и uncorr создаются индексы и далее исследуются средствами расширения pageinspect. В uncorr данные разбросаны по страницам, и в худшем случае придётся прочитать с диска почти столько страниц (совершить пропорциональное количество IOPS), сколько собираемся вернуть строчек. Дмитрий натравливает на индекс CLUSTER, и получает выигрыш по IOPS в 50 раз.

Ближе к финалу Дмитрий рассказывает о полюбившемся ему ULID (UniversallyUnique LexicographicallySortable Identifier), который лишён недостатков UUID. Его можно использовать при секционировании: generate_ulid(now()) и constraint дадут возможность планировщику выбирать правильную секцию при построении запроса, если в запросе участвует время.

Using GDB To Trace Into a Parallel Worker Spawned By Postmaster During a Large Query

Блогеры High Go начинали с простеньких заметок в жанре 4 dummies, но, чем дальше, тем глубже, засучив рукава, забираются под капот Postgres. Кэри Хуань (Cary Huang) — канадский разработчик High Go, сейчас перерабатывает функциональность, связанную с видимостью записи. И вот он столкнулся с тем, что его код не отрабатывает корректно только в одной ситуации: когда запрос запускает несколько параллельных процессов (workers). Часть данных пропадает из-за того, что ядро считает их невидимыми, в то время как другая часть видима. Чтобы выяснить, что происходит с патчем, он запускал GDB, отслеживая порожденные параллельные процессы и проверяя видимость записей. И решил поделиться опытом использования GDB в этой ситуации.

Вместо вступления автор отсылает к своей же статье об использовании GDB: How to Analyze a PostgreSQL Crash Dump File, а мы ещё и нескромно напомним о нашей с Александром Коротковым статье, где проблемы с параллелизмом исследуются ещё и с perf и флейм-графами: Параллелизм в PostgreSQL: не сферический, не конь, не в вакууме.

Поскольку ухватить PID форкнутого процесса не так просто (он может завершиться раньше, чем мы увидим PID), Кэри внедряет брейкпоинт в код функции RegisterDynamicBackgroundWorker и ParallelWorkerMain. После прерывания и нашего continue дебаггер напишет номер нового процесса и будет отслеживать уже его. А дальше — по вкусу.

Control Runaway Postgres Queries With Statement Timeout

Статья Крейга Керстинса (Craig Kerstiens, Crunchy Data) посвящена всего одному параметру: statement_timeout, который, правда, может задаваться на разных уровнях: запрос/пользователь/база данных.

Настройка таймаута может оказаться критичной в ситуации, когда:

  • интенсивная бизнес-логика или отчёты требуют сканирования большого числа записей и происходит агрегация;
  • миграция базы данных, изменяющая очень много записей;
  • плохо написанные запросы, когда JOIN трогает миллионы записей;
  • расходящиеся рекурсивные запросы.

Для какого-нибудь сверхдолгоиграющего миграционного запроса можно задать в сессии:

SET statement_timeout = '30m';

Для обычных хватает и

ALTER DATABASE mydatabase SET statement_timeout ='60s';

Менее сфокусированные рекомендации по тюнингу базы есть у коллеги Крейга — Тома Шварца (Tom Swartz) — Optimize PostgreSQL Server Performance Through Configuration. В статье Крейга попалась ещё одна любопытная ссылка: Range Types & Recursion: How to Search Availability with PostgreSQL.

Benchmarking CentOS vs Rocky Linux with Postgres

Динеш Кумар (Dinesh Kumar, MigOps) проверяет производительность на наборах тестов Phoronix:

  • компилятор;
  • процессор;
  • память;
  • диск;
  • стресс (stress-ng);
  • PostgreSQL (pgbench);
  • (stress-ng + pgbench)

Результат: Rocky на всех тестах чуть быстрее => можно пересаживаться с CentOS на Rocky.

dbForge Schema Compare for PostgreSQL v.1.2

В новой версии этого визуального пакета для сравнения схем, который разрабатывает и поддерживает компания devart с штаб-квартире в Чехии и разработчиками из Украины, появились:

  • Object Filter, с ним можно разворачивать базу, исключая объекты при синхронизации в соответствии с условиями, заданными в фильтре;
  • экспорт отчёта в форматы HTML, Excel и XML;
  • дополнительные пре- и пост-синхронизационные скрипты, которые отрабатываются в начале и в конце синхронизации схем;
  • поддержка материализованных представлений в Amazon Redshift;
  • возможность работать с облаком Heroku;
  • новые косметические возможности: расцвечивать несоответствия кода в окне Text Compare (diff).

Accessing PostgreSQL databases in Go

Статья Эли Бендерского (Eli Bendersky), знакомого любителям Go — серию его статей Разработка REST-серверов на Go перевели и выложили на хабр, например, в блоге компании RUVDS.com. В этой статье автор рассматривает несколько вариантов доступа:

  • библиотека database/sql с драйвером pq,
  • драйвер и тулкит pgx,
  • пакет sqlx.

Эти варианты пробуют на демо-базе. Есть и общие соображения по поводу (не)использования ORM в Go.

Increasing Max Parallel Workers Per Gather In Postgres

Майкл Кристофидес (Michael Christofides), составляющий половину команды pgMustard, не только выступил на PgDay с докладом EXPLAIN: beyond the basics, но и опубликовал, в числе прочего, эту заметку о параметрах при распараллеливании запросов. Там нет ни глубокомысленных рассуждений об оптимальном распараллеливании на многоядерных и многоузловых машинах, не балует он диаграммами производительности. Но зато есть полезные ссылки: сама тема уж очень актуальна — лишнее напоминание не помешает.

Он же напоминает о существовании parallel_setup_cost, parallel_tuple_cost, min_parallel_table_scan_size, min_parallel_index_scan_size, например (об этом есть здесь).

Майкл ссылается на Как работают параллельно выполняемые запросы (How Parallel Query Works), советует глянуть справочные материалы и ссылки на сайте postgresqlco.nf и послушать семинар PostgreSQL Parallelism Do’s and Don’ts Себастьяна Дресслера (Sebastian Dressler) из swarm64 на канале Postgres Conference. А вот там действительно есть и разбор планов, и сравнение времени выполнения в зависимости от настроек, удачные и неудачные запросы с точки зрения параллелизма. И вообще в swarm64 (о которой мы немного писали в Postgresso 32, 30, 21) обзавелись парой дюжин видео об ускорении параллельных запросов (как с их FPGA, так и без).

PG-Strom 3.0

Напомним: это расширение PostgreSQL, которое поддерживает GPU. В этой версии:

  • появилась поддержка NVIDIA GPUDirect Storage (cuFile);
  • несколько PostGIS-функций можно гонять на GPU;
  • поддержка GpuJoin с индексом GiST;
  • механизм GPU Cache переделан;
  • появилась поддерка кастомных типов данных/функций/операторов для GPU, но пока в экспериментальном режиме;
  • лицензия переехала с GPLv2 на PostgreSQL.

Интересная, странная тема: казалось бы, распараллеливание вычислений — что может быть актуальней? Но базы не слишком охотно параллелятся, и такие проекты как Strom (или Swarm64) явно не в фокусе внимания. Видны периферийным db-зрением.

Modern data analysis with PostgreSQL – JSONB throws Window functions out the…

А вот это пишет Томас Рихтер (Thomas Richter) уже из самой Swarm64. По мотивам реальных событий. Томас начинает с изложения традиционного подхода к анализу заказов/доставок в электронном магазине, а именно: к двум таблицам — orders (заказов) и order_shipment_status (статусов доставки заказов). Они соединяются по order_id в отношении один-ко-многим. Далее Томас выуживает пропавшие заказы с помощью запроса с оконными функциями. Всё работает, но запрос такой дорог.

Томас человек современный, поэтому он вместо двух таблиц просто добавляет колонку типа jsonb со статусами в таблицу заказов orders. Он использует json-операторы @>, ->, ->>, || и GIN-индекс. Вместо соединения двух таблиц мы теперь просто обновляем поле в таблице в соответствующей строке. Он, кстати, считает, своей растущей популярностью Postgres обязан таким вот современным возможностям.

Cut Out the Middle Tier: Generating JSON Directly from Postgres

Пол Рамси (Paul Ramsey, Crunchy Data) предлагает убирать генерацию JSON из промежуточных слоёв Web-сайтов, где это можно — а такое случается часто — и использовать средства самого PostgreSQL, благо они уже довольно развиты. Начинает Пол с row_to_json(), потом json_agg(), но это разминка: дальше Пол, используя запросы с CTE, формирует вложенные структуры JSON на выходе, которые отражают взаимосвязь таблиц. Postgres может генерить самые разнообразные JSON, которые можно сразу отдавать приложению, а иногда даже конечному пользователю.

Наш отдел образования рекомендует прекрасную книгу Г.Домбровской, Б.Новикова и А.Бейликовой на эту тему: PostgreSQL Query Optimization: The Ultimate Guide to Building Efficient Queries. В ней они развивают идею о преодолении несоответствия между реляционной и объектно-ориентированной моделью данных с помощью транспортного уровня, для которого удобно использовать JSON. И вот тут-то генерация и разбор JSON внутри базы данных очень важны. ДМК Пресс активно работает над переводом, книга скоро выйдет на русском языке.

Гибридное использование RDBMS и NoSQL подходов для обработки транскриптомных данных

Что такое транскриптома я пока не разобрался, но точно, что и PostgreSQL 12, и JSON здесь используются для вполне актуальных биотехнологических задач. Для нас, читателей, тут важно, что надо хранить в БД и структурированную, и слабо структурированную информацию таким образом, чтобы удобно было составлять разнообразные, иногда сложные запросы. К десяткам и сотням тысяч генетических последовательностей в результате секвенирования, надо дать свободный и удобный доступ широкому кругу биологов — пусть ищут, что им нужно.

Некоторые данные вполне вписываются в реляционную модель данных, но в общем случае невозможно заранее полностью декларировать структуру данных, которая будет получена в результате обработки лабораторных результатов. То, что плохо структурируется, хранится в столбцах типа jsonb. Для таких данных столбцы индексировали как GIN. Запросы к таким данным используют операторы -> и ->>.

Самое интересное, что для поиска используется и тип ts_vector, для чего в ход идут функция to_tsvector() и оператор @@ — как в обычном полнотекстовом поиске. Ведь ген — это своеобразный текст.

DB Connection Calculator

Для облачной PaaS-платформы Heroku, в которую входит и Heroku Postgres придумали калькулятор — Heroku Database Connection Calculator — вы задаёте движочками количество dyno (dyno — это такие херокские контейнеры для приложений, они бывают web dynos и worker dynos), воркеров, процессов и тредов и получаете количество нужных соединений. В плане Heroku Postgres количество соединений ограничено 500, но можно запустить PGBouncer. Калькулятор сделали для Heroku в Rails Autoscale.

Конференции

PG Day’21 Russia

Записи докладов #PGDayRussia 2021 доступны на YouTube-канале конференции

Например:

  • Что нового в плане мониторинга в PostgreSQL Алексей Лесовский
  • Алгоритмы и структуры данных: PostgreSQL Edition (Андрей Бородин)
  • Возможности интеграции PostgreSQL с ClickHouse (Ксения Сумарокова)
  • Инты, массивы, внешние ключи, наследование (Иван Панченко)
  • Миграция в облако: технологии, люди и процессы (Всеволод Грабельников)
  • Внедрение HighLoad BI на PostgreSQL в крупнейших корпорациях: опыт ГК Luxms (Дмитрий Дорофеев и Сергей Шестаков)
  • Greenplum в корпоративной аналитической платформе Сбера (Дмитрий Добров)
  • Сдвигаем тестирование БД влево (Николай Самохвалов)
  • Can Postgres scale like DynamoDB? (Álvaro Hernández, OnGres)
  • Protecting your data with Patroni and pgbackrest (Federico Campoli, Kamedata)

  • Полуторастами рублями как правильно пишется
  • Полуулыбка как пишется слитно или раздельно
  • Полусонный как пишется слитно или раздельно
  • Полусгнившие как пишется правильно
  • Полутора лет как правильно пишется