Как стать автором
Обновить
16
0
Георгий Кибардин @shashurup

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

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

Мой маленький триод: Ламповая ЭВМ — это магия

Время на прочтение25 мин
Количество просмотров25K
Экспериментальная 3U декатронная ячейка. Модуль декатрона А103 со схемой шифратора и переноса

Пришло время возобновить славную традицию ежегодного первоапрельского дайджеста по моим безумным вычислительным проектам. В прошлой трилогии [1], [2], [3] я рассказывал про создание де-факто самого быстрого в мире релейного компьютера BrainfuckPC. После трёх лет раздумий я наконец-то готов начать активную фазу строительства уникальной ламповой ЭВМ с кодовым названием DekatronPC.
Читать дальше →
Всего голосов 112: ↑112 и ↓0+112
Комментарии49

MVCC-2. Слои, файлы, страницы

Время на прочтение12 мин
Количество просмотров40K
В прошлый раз мы поговорили о согласованности данных, посмотрели на отличие между разными уровнями изоляции транзакций глазами пользователя и разобрались, почему это важно знать. Теперь мы начинаем изучать, как в PostgreSQL реализованы изоляция на основе снимков и механизм многоверсионности.

В этой статье мы посмотрим на то, как данные физически располагаются в файлах и страницах. Это уводит нас в сторону от темы изоляции, но такое отступление необходимо для понимания дальнейшего материала. Нам потребуется разобраться, как устроено хранение данных на низком уровне.

Отношения (relations)


Если заглянуть внутрь таблиц и индексов, то окажется, что они устроены схожим образом. И то, и другое — объекты базы, которые содержат некоторые данные, состоящие из строк.

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

На самом деле есть еще некоторое количество объектов, устроенных похожим образом: последовательности (по сути однострочные таблицы), материализованные представления (по сути таблицы, помнящие запрос). А еще есть обычные представления, которые сами по себе не хранят данные, но во всех остальных смыслах похожи на таблицы.

Все эти объекты в PostgreSQL называются общим словом отношение (по-английски relation). Слово крайне неудачное, потому что это термин из реляционной теории. Можно провести параллель между отношением и таблицей (представлением), но уж никак не между отношением и индексом. Но так уж сложилось: дают о себе знать академические корни PostgreSQL. Мне думается, что сначала так называли именно таблицы и представления, а остальное наросло со временем.
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии18

Удалённая работа: не рай, а светлое будущее

Время на прочтение10 мин
Количество просмотров17K

Я прочитал немало статей о том, что удалёнка — это зло для разработчика. Что проседает продуктивность, потому что отвлекаешься на бытовуху. Что человек не может сосредоточиться, потому что жена на фоне варит борщ. Что нет живого общения с коллегами и не у кого спросить что-либо в нужный момент. И много-много других аргументов против. Часть этих статей и комментариев было написано до пандемии: кто-то писал из своего опыта разработчика, кто-то с точки зрения менеджера, владельца бизнеса или даже просто эйчара. Другая часть статей была написана во времена ковида.

Я понимаю, что все люди разные. У всех разная жизнь. Кому-то мешает годовалый орущий ребёнок. Кому-то стройка за окном. Кому-то неуютная кладовка без кофемашины. Кто-то хочет заманить людей обратно в офис, чтобы снова почувствовать контроль и власть над ними. Кто-то просто не может принять новые правила игры. Я хочу привести доводы со своей колокольни и, надеюсь, найду тут единомышленников.

Читать далее
Всего голосов 74: ↑58 и ↓16+42
Комментарии208

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность