-Поиск по дневнику

Поиск сообщений в akie

 -Подписка по e-mail

 

 -Интересы

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 23.06.2003
Записей: 75
Комментариев: 49
Написано: 87

Infinity






[перевод] Правила для консультанта по базам данных

Воскресенье, 22 Июля 2007 г. 02:49 + в цитатник
Список советов от эксперта по базам данных и члена группы разработчиков Джоша Беркуса (Josh Berkus), на мой взгляд, может оказаться полезным не только консультантам в области баз данных. Приведённые советы относятся к области взаимоотношений с клиентами. Некоторые рекомендации, как мне кажется, являются актуальными для разработчиков-фрилансеров.
 

Джош Беркус является членом ядра группы разработчиков PostgreSQL (PostgreSQL Core Team) с 2002-го года. В данный момент он работает на Sun Microsystems, входя в группу, занимающуюся открытыми СУБД. До работы над PostgreSQL он работал с различными другими приложениями, включая OpenOffice.org, Microsoft SQL Server, Oracle PL/SQL, и (о, ужас!) COM+.


Я провёл восемь лет, работая консультантом по базам данных. Так как в данный момент я представляю собой нечто другое и скоро могу всё позабыть, думаю, надо записать несколько полезных уроков, выученных мной за это время.

1. Состояние данных отражает состояние бизнеса. Покажите мне клиента с хроническими проблемами в базе данных
и я покажу вам клиента с хроническими проблемами у области менеджмента.
2. Три вещи, с которыми вам не придется столкнуться никогда:
а) слишком мягкие временные рамки.
б) клиент, который платит слишком быстро.
в) точная и полная спецификация.
3. Решения, принимаемые по отношению к базе данных,
«живут» очень долго («нет ничего более постоянного, чем временное»): среднее время жизни «временного, одноразового» приложения баз данных составляет 4 года. Некоторые такие кусочки кода датируются 1960-ми и работают и по сей день. Так что сразу рассчитывайте на долгосрочное использование.
4. Плохие клиенты погубят ваш бизнес: умение вовремя распознать плохого клиента и отказаться от него или вовремя расторгнуть контракт
это половина успеха. Будьте готовы сбежать в любую минуту.
5. Не спрашивайте о том, что еще можно сделать: дело не в том, что вы можете сделать, а в том, сколько клиент готов за это заплатить и как долго он готов ждать.
6. Связь между временем и деньгами логарифмическая. То есть, если вы хотите сократить время на 20%, то бюджет удвоится. Уменьшение бюджета на 30% увеличит время разработки в 4 раза.
7. Любые оценки слишком оптимистичны:  разработка нового приложения займет у вас время в 3 раза больше оценочного времени и будет дороже вдвое. Или наоборот.
8. Вы никогда не:

а) потратите слишком много времени на спецификацию и прототипы.
б) напишете слишком подробную документацию.
в) уделите слишком много внимания удобству поддержки кода.
9.
Все реальные базы данных содержат ложку дёгтя, который представляет собой кусочки данных, плохо поддающиеся попыткам использовать их в чётко определённых бизнес-процессах. Эти «ложки дёгтя» являются причиной того факта, что нельзя достичь идеальной целостности данных, и, к тому же, они влекут за собой 40% всех проблем.
10. Целостность данных
самоцель: каждый 1% нарушений целостности данных вдвое увеличивает время, затраченное на поиск проблем.
11.
Пункт разгрузки целостности данных: база данных, у которой 20% и более данных недостоверны, бесполезна. Бесполезна настолько, что её проще пересоздать заново, чем пытаться исправить. Для некоторых приложений этот порог и того ниже.
12. Всегда заключайте контракт, даже если работы всего на 1 день. Бланк контракта должен быть вашим, а не клиента. А при составлении контракта проконсультируйтесь с юристом. Оно того стоит.

13. Процесс подписания контракта
«лакмусовая бумага» процесса его выполнения: Если клиент проводит много времени в спорах и обсуждении условий контракта, то работать с ним (а тем более получать от него деньги) будет ещё сложнее. Если клиент настаивает на том, чтобы вставить в контракт какой-то странный и непонятный пункт, значит он планирует им воспользоваться. А если вы не в состоянии отказаться и уйти вы не в состоянии вести переговоры.
14. У клиента плохая память: не важно, что клиент подписал
он забудет об этом через несколько дней, а то и часов. Любые требования и замечания клиента нужно документировать и хранить копии.
15. Никогда не соглашайтесь на фиксированную оплату, если вы не выполняли точно такую же работу как минимум дважды.
16. Нельзя рассчитывать на третьи лица: никогда не соглашайтесь на фиксированную оплату или оплату с условием «достижения полного успеха», если хоть какая-то часть проекта зависит от скорости выполнения работы, полноты документации и качества продукта, определяемых третьими лицами
лицами, не находящимися под вашим полным контролем. Это означает, что никогда не должно быть фиксированных ставок, если речь идет об обмене данными или исправлении чужого кода.
17. У клиента плохой вкус: никогда не позволяйте клиенту выбирать за вас инструменты, субподрядчиков или рабочую среду. Или, в крайнем слуае, пусть он за это дополнительно платит.
18. Включайте в счёт все встречи с клиентом 
или вы полжизни потратите на них впустую.
19.
Чем дольше вы ждёте рефакторинга, тем больше времени он займёт. Изменение схемы во время эксплуатации смертельно для проекта.
20. Корзина не бывает наполовину пуста: если один клиент может задержать выплату денег, ничто не мешает сделать так же всем одновременно. Так что всегда будьте готовы прожить два месяца на собственные сбережения.

Tags: , , ,

Сообщение добавлено через MovableType API


Спецкурс [Введение в PostgreSQLk

Четверг, 19 Июля 2007 г. 20:51 + в цитатник
Готовлю курс «Введение в PostgreSQL», для студентов. Возможно, будет прочитан уже этой осенью на ВМиК МГУ.

Комментарии и пожелания возможных слушателей приветствуются.


Курс посвящён особенностям практического использования СУБД PostgreSQL. Основная цель курса — закрепление теоретических знаний, полученных при прослушивании курсов по базам данных и SQL, и обеспечение возможности практического применения этих знаний слушателями. Существенная часть лекций курса предполагает выполнение практических заданий (как самостоятельно студентом, так и во время занятий, в группе). Особое внимание уделено следующим аспектам:
  • соотношение возможностей СУБД PostgreSQL и стандарта языка SQL (SQL:1999 и SQL:2003);
  • проблемы производительности и масштабирования и методы их решения;
  • специальные возможности PostgreSQL и их роль в решении практических задач;
  • практические задачи и методы их решения.

Курс рассчитан на аудиторию, обладающую базовыми знаниями в области баз данных и языка SQL.


Программа:
  1. История СУБД PostgreSQL. Основные возможности и особенности.
  2. Основные понятия и описание системы. Терминология. Устройство кластера PostgreSQL. Системные каталоги. Базовые типы данных. Основные объекты базы данных.
  3. Язык SQL в PostgreSQL: средства определения основных объектов и ограничений целостности.
  4. Манипуляционные средства языка SQL: операторы SELECT, UPDATE, INSERT, DELETE. Основные разделы оператора SELECT.
  5. Механизм выполнения запроса. План запроса, виды операций. Оптимизация запросов. Оператор EXPLAIN. Типы индексов. Методы определения оптимального набора индексов.
  6. Обобщённые индексы: GiST, GIN. Специальные типы данных с поддержкой GiST.
  7. Полнотекстовый поиск. Геометрические типы данных.
  8. Хранимые процедуры в PostgreSQL. Язык PL/pgSQL. Триггеры и правила (RULE). Многообразие языков хранимых процедур.
  9. Объектно-реляционная модель данных. Реализация объектно-реляционной модели в PostgreSQL.
  10. Основы внутреннего устройства PostgreSQL. Версионная модель организации параллельного доступа (MVCC). Журнал транзакций (WAL). Проблемы реализации принципов ACID на практике. Уровни изоляции транзакций.
  11. Средства администрирования PostgreSQL. Настройка основных параметров и параметров, влияющих на производительность. Методы тестирования, диагностики и мониторинга. Рутинные задачи. Восстановление после сбоев.
  12. Безопасность. Управление учётными записями пользователей, группами и их правами.
  13. Методы обеспечения отказоустойчивости и высокой степени доступности. Виды RAID. Организация warm standby.
  14. Проблемы масштабирования. Виды партицирования, репликации, балансировки нагрузки. Системы Slony-I, pgpool-II, PGCluster-I, SkyTools.


Tags: , , , , , ,

Сообщение добавлено через MovableType API


NASA TV: STS-117 (Atlantis)

Воскресенье, 10 Июня 2007 г. 15:05 + в цитатник
Смотрим опять в прямом эфире очередной эпизод от NASA TV, STS-117. На этот раз полетел Atlantis.

Операции по стыковке с МКС начнутся сегодня примерно в 7 вечера по Москве (pdf со сценарием эпизода тут). Говорят, в обшивке шаттла обнаружили дыру. Это значит, что во время того, как Atlantis будет совершать кувырок перед стыковкой (сегодня в 22:37 по Москве), его должны будут отснять на фото и видео во всех подробностях, чтобы потом изучить.

Сообщение добавлено через MovableType API


Семинар по PostgreSQL для профессионалов

Четверг, 07 Июня 2007 г. 16:07 + в цитатник

Образовательный центр ProfyClub организует цикл семинаров по наиболее актуальным темам в области IT и web-технологий, ориентированных на профессиональную аудиторию. 13 июня 2007 года будет проведен 8-часовой семинар "Использование PostgreSQL в веб-приложениях". Семинар проведут сотрудники компании «Постгресмен» Иван Золотухин и Николай Самохвалов.

Программа семинара:

  • Устройство PostgreSQL: MVCC, транзакции, VACUUM. Понятие кластера. Схемы. Системные каталоги;
  • Основные параметры конфигурации. Методы повышения производительности: настройка postgresql.conf, использование индексов, изменение SQL-запросов, persistent connection, load balancing;
  • Мониторинг состояния базы, статистика. Использование EXPLAIN ANALYZE. Типы индексов. Анализ логов с помощью pgFouine;
  • Многообразие процедурных языков (PL/pgSQL, PL/Perl, plPHP). Триггеры и функции. Rule, view. Механизм наследования. Prepared transactions. Two-phase commit;
  • Дополнительные возможности: contrib-модули. GiST-based модули intarray, hstore, ltree, pg_trgm. Полнотекстовый поиск (tsearch2) и его возможности;
  • Проектирование и разработка высоконагрузочных баз данных. Оптимизация под высокие нагрузки. Кластеризация, масштабирование, репликация и отказоустойчивость PostgreSQL;
  • Детали внутреннего устройства СУБД PostgreSQL, тюнинг системных параметров, влияющих на производительность;
  • Правильный выбор железа для сервера.

Семинар ориентирован на специалистов среднего и высокого уровня, экспертов. Отдельное внимание будет уделено проблемам крупных проектов, в частности, репликации и масштабированию PostgreSQL.

Для участия в семинаре требуется регистрация. Зарегистрироваться можно по адресу http://www.rit2007.ru/class/1663.html



Tags:

Сообщение добавлено через MovableType API


Chicken chickens chicken?

Воскресенье, 20 Мая 2007 г. 23:38 + в цитатник
Preparing slides for our (with Peter Eisentraut) talk at PGCon-2007... My friend and colleague just dropped a YouTube link. Here it is:




Nice exemplar of really good talk, isn't it? :-)

Сообщение добавлено через MovableType API


test

Воскресенье, 20 Мая 2007 г. 23:29 + в цитатник

Сообщение добавлено через MovableType API


10 презентаций по архитектуре больших проектов

Среда, 02 Мая 2007 г. 11:57 + в цитатник
Отличная подборка презентаций по масштабированию и архитектуре больших проектов:

The top 10 presentations on scaling websites: twitter, Flickr, Bloglines, Vox and more.


Must see/read!

Сообщение добавлено через MovableType API


test

Среда, 02 Мая 2007 г. 11:42 + в цитатник

Ubuntu 7.04

Суббота, 21 Апреля 2007 г. 17:23 + в цитатник
Позавчера вышла Ubuntu 7.04. Давно ждал -- хотелось отказаться от громоздкой Fedora.

Скачал диск xubuntu (версия с xfce). Запустил. Удивился, что он загрузился как Live CD. Оказалось, что так и надо -- процесс установки запускается из уже загруженной системы (вот сейчас я ещё завершил процесс установки, решил сначала запись в блоге сделать ;-) ). Т.е. имеем некий такой test drive.

Wifi поднялся с полпинка, всё проще, чем в винде даже. Порадовали также добротные кириллические шрифты. Система сама подмонтировала все разделы, включая ntfs. А в диалоге установщика появился специальный раздел "портировать учётные записи Windows (настройки, документы, ...)" :-)

Сообщение добавлено через MovableType API


XML for DB2 Information Integration

Суббота, 14 Апреля 2007 г. 19:17 + в цитатник
С радостью обнаружил, что «красная книга» IBM под названием XML for DB2 Information Integration выложена в открытый доступ (pdf). Один из авторов -- известный эксперт по теме XML и базам данных Рональд Буре. Более чем на 700 страницах книги обсуждаются не только особенности реализации поддержки XML в СУБД DB2, но и общие вопросы -- например, в первой главе даётся обзор задачи хранения XML-данных и работы с ними, областей применимости РСУБД с поддержкой XML и прирождённых (native) XML СУБД.

Ну и, конечно же, книга содержит детальное описание особенностей реализации поддержки XML в DB2 -- СУБД, которая, несомненно, сегодня имеет самую мощную реализацию типа данных XML среди реляционных систем.

РИТ-2007

Суббота, 14 Апреля 2007 г. 19:01 + в цитатник



Иду на РИТ-2007. Кого увижу? ;)


Tags:

Сообщение добавлено через MovableType API


Несколько вакансий, web-разработчики (новый стартап)

Четверг, 05 Апреля 2007 г. 02:05 + в цитатник
В новый (и, конечно же, ужасно перспективный) веб-стартап требуются талантливые разработчики. Условия хорошие, возможности для роста большие.

Описания вакансий на МоёмКруге:

PHP-программист -- http://moikrug.ru/vacancies/572199846/
XHTML-верстальщик, JS-программист -- http://moikrug.ru/vacancies/267747230/
Разработчик баз данных -- http://moikrug.ru/vacancies/347040824/

Резюме присылать мне, job at samokhvalov dot com. Или же можно общаться через МойКруг, хорошо заполненный там профиль запросто примем как резюме.

Как говорится, приходите, будет интересно. Очень :-)

Сообщение добавлено через MovableType API


Google сегодня

Воскресенье, 01 Апреля 2007 г. 11:38 + в цитатник

Вот, полюбуйтесь:

Get FREE breakthrough broadband with Google TiSP (BETA)!

"Google TiSP (BETA) is a fully functional, end-to-end system that provides in-home wireless access by connecting your commode-based TiSP wireless router to one of thousands of TiSP Access Nodes via fiber-optic cable strung through your local municipal sewage lines."

Сообщение добавлено через MovableType API


Всё хорошее когда-нибудь кончается...

Четверг, 29 Марта 2007 г. 23:20 + в цитатник
Досмотрел вчера сериал «Рим», 22-й эпизод. Очень рекомендую данное произведение к просмотру. Вещь просто убойная. Игра актёров, декорации, постановка, сюжет -- всё на высоком уровне.

Очень тяжело расставаться с такими вещами. Пересмотреть что ли последние серии, теперь на русском...

HB's Rome, S02E22

Сообщение добавлено через MovableType API


Имена

Пятница, 11 Августа 2006 г. 17:44 + в цитатник

Никогда не называйте устройства словами, в которые входит что-либо, отличное от латинских букв.

Когда-то давно я потратил почти сутки (причём, не один, нас было двое), чтобы выяснить, почему приложение, написанное на Delphi, не работает с Ораклом. Это был Oracle 8i. Оказалось, что Оракл не любит закрывающую круглую скобку :-) /* ага, как в этом смайлике... */. Если в пути к приложению встречается этот символ - пиши пропало, соединение ни в какую не устанавливается, описание ошибки - самое общее... Помог Google. Точнее, один бедный товарищ, описание мучений которого удалось. отыскать. Ему совсем не повезло тогда - скобка была в названии машины... :-)

Теперь словил похожую проблему, но в меньшем масштабе. Настраивал вчера себе WiFi-сетку домашнюю, решил для порядка дать “правильные” имена машинам. Ноуту досталось “laptop_m70″. А сегодня почти час промучался, разбираясь, что такое опять с Eclipse случилось - отказывался сохранять файлы вообще. Угу, фигня была в “_“. Оказалось, Eclipse при сохранении генерирует уникальную строчку, причём для этого процесса подключает и hostname локальный…

Comments here: http://nikolay.samokhvalov.com/2006/08/11/names/

Если бы вам дали заглянуть в будущее...

Воскресенье, 11 Декабря 2005 г. 00:04 + в цитатник
Если бы вам дали заглянуть в Интернет будущего - куда бы вы первым делом пошли, на какой сайт? Допустим, Интернет образца 2010 года и у вас есть 2 часа.
а? :-)

Rambler и русский язык

Суббота, 03 Сентября 2005 г. 22:14 + в цитатник
Забрёл на страничку http://icq.rambler.ru
Ничего не понимаю. Рамблер типа заявляет, что выпускает то, что и без того тысячу лет существует - русский клиент для icq. Соответственно, появляется простой вопрос - что именно они такого сделали? Наверное, уж очень хорошо перевели. Но, блин, как они это могли сделать, если на самой главной странице проекта встречаем такое:

Также, как и ICQ 5, программа будет распространяться бесплатно.


Грамотеи...

Renault F1 в Москве, 28 августа 2005

Вторник, 30 Августа 2005 г. 00:17 + в цитатник

Вот, болид на верёвочке :-)


 


 

renault.jpg (600x450, 121Kb)

Читать далее...

Без заголовка

Вторник, 30 Августа 2005 г. 00:13 + в цитатник

Кубинка, 12 августа 2005


 


1.jpg (700x525, 76Kb)


Читать далее...


Поиск сообщений в akie
Страницы: 4 3 [2] 1 Календарь