egorius: (Default)

Удивляюсь, почему в интерактивной среде? терминальном клиенте? интерпретаторе командной строки? — короче, в psql (и в sql*plus!) нет конструкций для циклов.

SQL, как и его процедурные расширения типа PL/pgSQL или PL/SQL, не могут напрямую общаться с пользователем; это правильно. А клиенты, типа psql или sql*plus, — наоборот. И действительно, оба умеют задать пользователю вопрос, узнать ответ и использовать его дальше в запросах. Но ни у одного нет даже примитивных конструкций для циклов, ну и для ветвлений. Да хоть goto какой-нибудь! Но нет.

А мне — для целей обучения — хотелось бы иметь возможность писать примитивные приложения прямо на psql, не привлекая другие языки программирования. Кто его знает, чем владеет человек (может студент, а может и школьник)? А с psql ему все равно придется разбираться. Но получается, что и скрипт написать можно, и интерактивным его сделать можно, но он всегда будет тупо линейным и никак иначе.

Короче, хочется уметь заскриптовать такой диалог:

сервер: Угадай число от 1 до 100?
человек: 42
сервер: Ни фига, 28. Играем еще?
человек: да
сервер: Угадай число от 1 до 100?
...

Или я чего-то не догоняю? Может есть какой-нибудь лайфхак?

egorius: (Default)

Борис Новиков, Генриэтта Домбровская, «Настройка приложений баз данных»

Вот увидел бы в магазине на книжной полке — скорее всего не открыл бы полюбопытствовать: под такой обложкой должно скрываться что-нибудь махровое, про Кодасил. А между тем профессор Новиков по заказу нашей компании пишет сейчас университетский курс по базам данных с примерами на Постгресе, который мы будем предлагать всем желающим ВУЗам. А я имею удовольствие читать черновики этого сочинения, практически рукописи.

Поэтому книжку я купил, даже не открывая. И не пожалел: внутри оказался очень толковый, выстраданный на практике подход к оптимизации и настройке СУБД, полностью соответствующий моему опыту, и к тому же внятно и последовательно изложенный. Прочитал на одном дыхании и пожалел, что двести страниц быстро закончились. Горячо рекомендую всем разработчикам и администраторам СУБД, независимо_от.

Gianni Rodari, «Favole al telefono»

Пытаюсь что-то читать на итальянском. Почему «Сказки по телефону»? Просто потому, что некоторые из них нашлось в аудио — можно произношение послушать. Вообще хотел Чиполлино, но адекватного аудио, не отклоняющегося от текста книги, не нашел. То же с мультфильмами: не найдешь на итальянском с итальянскими же субтитрами.

Читать сложно. На рассказик в страничку уходит пара вечеров, чтобы более-менее разобраться с текстом. Три проблемы: словарный запас (в одно ухо влетает, из другого вылетает), неизвестные грамматические конструкции (не так много, как могло бы показаться) и времена. С временами засада: разговорный курс Петрова ограничивается только двумя, а в любом тексте их штук пять, не  меньше. И хотя технически там все просто (знай подставляй нужные окончания, с точностью до неправильных глаголов), без практики идет тяжело.

Иногда сверяюсь с русским переводом, а он такой настоящий, советской закалки. Например, в истории про мышонка из комикса (il topo dei fumetti) переводчику пришлось выкручиваться, потому что слова «комикс» не существовало:

Этот мышонок всю свою жизнь прожил в тоненькой дешевенькой книжонке — знаете, из тех, в которых рассказы в картинках.

А вот прекрасное про сыр:

— ti piace di più il parmigiano o il groviera?

— какой сыр тебе больше по душе — пармиджанский или пошехонский?

egorius: (Default)

Удивительная штука, этот Постгрес.

Давным давно, прослушав в Универе курс Кузнецова по базам данных, напросился я стажером в Протвинский РДТеХ. Мне вручили талмуд «Oracle CASE*Method» про ER-диаграммы и моделирование, с которым я коротал время в электричках. А еще осваивал Oracle Designer/2000, и даже перевел с английского и прочитал учебный курс по этому чудо-продукту.

Разве мог я тогда предположить, что двадцать лет спустя РДТеХ будет читать наш курс по Постгресу?

А сколько городов необъятной родины довелось посетить за каких-то полгода, и в скольких еще предстоит оказаться? В ближайших планах Казань и Новосибирск.

Да и в самой Москве полно интересных мест. На конференции выступил (первый раз после Универа, ага). Предоставился повод навестить ВМК, а там суперкомпьютер «Ломоносов», от которого с улицы видна система охлаждения. Снова заглянул в Яндекс, где было прожито несколько сложных, но интересных лет. Опять же ГАИШ (будем себя хорошо вести, может и в телескоп дадут глянуть).

А ведь мог бы так и просидеть со своим OёBSом. Удивительная штука, эта жизнь.

egorius: (Default)

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

Пока сил хватило на конспективную заметку про многоверсионность, а сегодня опубликовал на хабре статью про выполнение запросов, не всеобъемлющую, но довольно подробную.

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

Django

Jan. 7th, 2016 11:58 pm
egorius: (Default)

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

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

Во втором — превыше всего приложение, чудесное, высокотехнологичное, в которое пользователи влюбляются с первого клика. Конечно, оно использует данные, так что следует вооружиться ORM-ом и пусть какая-нибудь СУБД обеспечивает персистентность.

Сам я всегда принадлежал (и принадлежу) первому лагерю, но интересно же посмотреть, как другие живут. Поэтому из любопытства поковырял немного Django — на StackOverflow периодически попадаются вопросы типа Как бы мне сделать то-то и то-то, имеющие понятный ответ на SQL.

Занудно про работу Django с базой )
egorius: (Default)

Семь дней до вашей поездки: Новосибирск, — сказал мне вчера гуглофон. Вот откуда он узнал? Единственный вариант — нашел и распарсил в почте (причем рабочей, не gmail) билет на самолет. Даже не знаю, что и думать. Двадцать первый век наступил-таки.

* * *

А чего, собственно, еду? Пошел наш базовый курс по администрированию Постгреса в массы. В октябре везем его в Барнаул, в ноябре — в Ульяновск, в декабре — в Омск. Избранные главы, возможно, будем рассказывать на Хайлоаде в начале ноября. А Форс уже начал читать этот курс на коммерческой основе.

Скоро доделаем уже и расширенный курс, на горизонте маячат практические занятия в Университете... Планов — громадье, скучать не приходится, и это здорово.

egorius: (Default)

Ролан Барт, «Camera lucida»

Эту книгу рекомендовал Сергей Максимишин. Взгляд на фотографию через studium и punctum действительно интересен, но в целом философия и рассуждения автора почти ничего во мне не затронули.

Пара моментов.

Барт:

Чтобы поближе рассмотреть фото, лучше всего отвести или закрыть глаза. ... Ничего не говорить, закрыть глаза, дать детали в полном одиночестве дойти до аффективного пласта сознания.

А вот Даниэль:

Прежде всего восприятие не может и не должно удовлетворяться видимым... Единовременно в лучшем случае воспринимается изображение, но никак не образ. ... Лучшим опытом восприятия картины служит восприятие «наизусть», как произносят про себя любимые стихи, как предчувствуют, предвосхищают, «репетируют» в душе встречу с самым любимым.

И еще интересно, имел ли в виду Ларс фон Триер вот эти строки Барта:

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

Саймон Ригс, Ханну Кросинг, «Администрирование PostgreSQL 9: книга рецептов»

Единственная доступная сейчас в магазинах книга о Постгресе на русском языке. Но получилась она, при всем уважении к Ригсу, никчемной.

Девиз этой книги: Если вы не знаете, о чем речь, ничего страшного — вам это знать необязательно.

Очевидно, читатель обращается к этой книге потому, что ищет готовые решения своих проблем — пишет Ригс. Вот только рецептов на все случаи жизни не напасешься. Не понимая основ и механизмов, трудно почерпнуть из книги что-то полезное (тем более, что Постгрес изрядно шагнул вперед со времен версии 9.0). А если понимать и немного думать головой — тогда и рецепты будут не нужны, вот в чем дело.

Кусочек для иллюстрации:

Если при подгрузке возникали ошибки, в таблицы PostgreSQL мог попасть мусор. Не тот мусор, который можно увидеть и который вызывает смысловые ошибки, а скорее фрагментация.

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

After loading, if you had load errors, there will be some junk loaded into the PostgreSQL tables. Not junk you can see, or that give any semantic errors, but think of it more like fragmentation.

А перевод безобразный. Партиционирование, логи, касты и все вот такое. Допустим, пользователь спрашивает: «Что, если я хочу знать, подключен ли тот компьютер?» — бррр.

egorius: (Default)

В ближайшее время будем проводить открытые семинары начального уровня по администрированию PostgreSQL.

Программа примерно такая:

  • Введение
  • Архитектура
  • Установка
  • Использование psql
  • Базы данных и табличные пространства
  • Основные объекты и системный каталог
  • Управление доступом (роли, схемы, привилегии)
  • Подключение и аутентификация
  • Сопровождение
  • Мониторинг работы системы
  • Резервное копирование и восстановление

Анонс будет в фейсбуке в группе PostgreSQL в России. Если интересно — следите за новостями, ну или сюда стучитесь.

egorius: (Default)

Задумался тут. Оракл в 12c придумал супер-фичу pluggable databases, носится с ней и всем рассказывает, как это круто.

А тем временем в Постгресе один экземпляр СУБД как работал от рождения с несколькими базами данных, так и продолжает. Никого это не удивляет, все привыкли и принимают как должное.

Вот она, сила маркетинга-то.

Profile

egorius: (Default)
egorius

July 2017

M T W T F S S
     1 2
34 5 6789
10 1112 13141516
17 181920212223
24252627282930
31      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 22nd, 2017 12:52 pm
Powered by Dreamwidth Studios