рейтинг
0 голос
сила
0.00

MySQL →  Нововведения в MySQL 5.1

1. Разбиение таблиц (Partitioning)
Разбиение таблиц — это одна из важных функций, которых не хватало MySQL. Хотя в MySQL и реализован тип таблиц MERGE, однако, его функциональность довольно отличается от partitioning таблиц.

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

Все типы таблиц поддерживают такое разбиение.
В MySQL 5.1 реализованы следующие основные виды разбиения таблиц:

* Разбиение по диапазону. Такое разбиение подходит для таблиц со слабо связанными данными, например, таблица с логами.

CREATE TABLE logs (
value VARCHAR(30) NOT NULL,
create_date TIMESTAMP NOT NULL
)
PARTITION BY RANGE(YEAR(create_date)) (
PARTITION p0 VALUES LESS THAN (2005),
PARTITION p1 VALUES LESS THAN (2006),
PARTITION p2 VALUES LESS THAN (2007),
PARTITION P3 VALUES LESS THAN MAXVALUE
);

В этом примере данные будут разбиваться на таблицы по году создания записи.
* Разбиение по списку значений. Этот вид разбиения во многом похож на предыдущий. Главное отличие заключается в том, что разбиение по списку значений позволяет точно указать распределение данных для каждого значения.

CREATE TABLE employees (
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
departament TINYINT(2),
)
PARTITION BY LIST(departament) (
PARTITION management VALUES IN(1, 5, 6),
PARTITION sales VALUES IN(2, 3),
PARTITION technical VALUES IN(4, 7, 8)
);

* Разбиение по хеш-функции. В этом виде разбиения можно указать функцию, по которой будут разделяться данные:

CREATE TABLE logs (
value VARCHAR(30) NOT NULL,
create_date TIMESTAMP NOT NULL
)
PARTITION BY HASH( YEAR(create_date) )
PARTITIONS 4;

2. Построчная репликация (row-based replication)
При обычной репликации мастер-слейв при каждом изменении таблицы мастер посылает слейвам ту же команду на изменение данных. В MySQL 5.1 добавлена возможность создания репликации, при которой мастер не посылает слейвам команду на изменение данных, а записывает в лог-файл то, как и в каких строках были изменены данные. Такой вид репликации наиболее надежный и используется в большинстве коммерческих СУБД.

Включить построчную репликацию можно командой

SET GLOBAL binlog_format = 'ROW';

либо в конфигурационном файле.

3. События (events)
В новой версии добавлена возможность создания событий. Эта функциональность позволяет настроить выполнение периодических SQL запросов или процедур. Например, выполнять необходимый пересчет данных раз в день.

DELIMITER //
CREATE EVENT RECALC_SUMM
ON SCHEDULE EVERY 1 WEEK
STARTS '2008-08-13 1:00:00'
ON COMPLETION PRESERVE
DO
BEGIN
UPDATE table1 SET sum = sum + today_amount
END
//

4. Удобство администрирования
Начиная с версии MySQL 5.1 появилась возможность сохранения логов сервера в таблицах. В предыдущих версиях логи можно было сохранять только в файловой системе, что добавляло трудностей с их обработкой. В таблицы можно записывать общий лог MySQL(general log)и лог медленных запросов (slow log). Настроить эту возможность можно параметром --log-output=TABLE. При выборе данной опции в базе данных mysql создадутся таблицы general_log и slow_log.

Кроме этого в MySQL 5.1 появилась таблица PROCESSLIST. В этой таблице сохраняются данные о том, какие процессы выполняет MySQL, идентично тому, как их выводит команда SHOW PROCESSLIST.

5. Поддержка XML XPath
В MySQL 5.1 добавлена поддержка XPath. Теперь XML документ, сохраненный в таблицу, доступен пользователю в виде дерева. Можно получить любое значение из дерева и обновить лишь нужный узел. Для этого были добавлены две функции: ExtractValue и UpdateXML. Например:

SELECT ExtractValue('test', '/a')

выдаст результат test.

SELECT UpdateXML('test', '/a', 'value')

выдаст результат value.

Кроме этого в MySQL 5.1 добавлены:

* Поддержка plug-in архитектуры, позволяющая подключать и изменять компоненты сервера без перезагрузки.
* Репликация кластер-кластер.
* Возможность хранить данные NDB кластера на диске.
* Программа mysqlslap, позволяющая эмулировать нагрузку на MySQL сервер.
-1

Блог им. Alessandro →  Золотые правила управления проектами

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

1. Правильный старт

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

2. Работа с заказчиком

Определяйте, кто наиболее заинтересован в успехе проекта и кто больше всего теряет в случае его неудачи. Необходимо установить, в чьих интересах выполнение проекта и, в частности, кто его финансирует. Как правило, это не одни и те же люди. Желательно выяснить сферы влияния этих людей, согласовать с ними, когда и как может быть востребована их поддержка. Менеджер проекта обречен на неудачу, если он не осознает цели, мотивы и направления деятельности всех вовлеченных в проект сторон. Один из наиболее эффективных способов добиться поддержки всех заинтересованных сторон — использовать такие организационные формы, как наблюдательный совет или комитет по управлению проектом. Так как покупают, создают и используют результаты проекта люди, поэтому если поддерживать цели, позиции и потребности этих людей, то можно добиться реальных выгод в бизнесе для заказчика и получить удовлетворение от хорошо выполненной работы.

3. Определение области применения проекта

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

4. План

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

5. Управление рисками

Определяйте основные риски, анализируйте их воздействие, разрабатывайте стратегии и планы их сдерживания. Риски должны контролироваться на каждой стадии проекта для того, чтобы вовремя привести в действие план по их сдерживанию. Любое изменение в требованиях к проекту, области его применения, подходе к проекту представляет собой риск, который должен быть обязательно оценен и включен в план. Если риски по проекту не отслеживаются, то, как правило, возникает ситуация, когда на первые 90% работ по проекту приходится 10% затрат, а последние 10% работ требуют 90% затрат. Необходима специальная методика для преодоления рисков, внесения соответствующих изменений и гарантии достижения критических факторов успеха.

6. Подбор команды

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

7. Поддержка командного духа

Проводите больше времени вместе, чтобы у членов команды проекта возникало ощущение принадлежности к достижению целей проекта. Никогда не существует отдельного «я» в проекте — всегда есть «мы», как в случае успеха, так и в случае неудачи. Необходимо разъяснять цели проекта и как эти цели связаны с намерениями заказчика. Надо четко представлять, как эти цели будут достигнуты командой проекта. Это особенно важно для тех членов команды, кто «влился» в команду не с самого начала работ по проекту. Следует акцентировать внимание на персональной ответственности, но в то же время каждый член команды проекта должен четко знать, что от него ожидают и по каким показателям будет оцениваться выполненная работа. Необходимо создавать рабочую среду, наиболее подходящую для команды, находить время для того, чтобы поблагодарить людей, особенно, если это касается выполнения работы, выходящей за круг их обязанностей.

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

8. Искренность и уверенность в общении

Договоритесь о стандартах и принципах общения и подготовки отчетности о состоянии проекта, твердо придерживайтесь этих принципов. Будьте искренними в общении. Старайтесь вести работу так, чтобы избегать неожиданных ситуаций. В связи с этим необходимо всегда быть «в гуще событий». Не стоит ограничиваться формальными отчетами, можно использовать и презентации, и специальные брифинги, и контрольные встречи. Желательно использовать стратегию, направленную на минимизацию конфликтов, но избежать полностью конфликтных ситуаций вряд ли удастся. Нужно быть готовыми к возникновению таких ситуаций и уметь их разрешать.

9. Использование плана качества работ по проекту

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

10. Подготовка документации

Любой опытный менеджер проекта скажет, что любые действия, как со стороны исполнителя, так и со стороны заказчика должны быть согласованы в письменном виде. Необходимо документировать и сохранять все результаты, соглашения, решения, спорные вопросы, предпринимаемые действия (т.е. все, что может оказать влияние на ход выполнения проекта), а также всю переписку и протоколы совещаний. Все это необходимо хранить, так как никогда не знаешь, в какой момент это может понадобиться.

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

11. План завершения проекта

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

http://hrm.by/
-1