Thursday, August 16, 2007

MySQL

Посетил "DBA Boot Camp: MySQL for the Oracle DBA". Событие происходило в Hyatt Regency Hotel, San Francisco. Ещё раз убедился что Bart рулит. Билет туда и обратно стоит $7.60, а запарковать машину в Сан-Франциско было бы проблемой. Транспорт не подвёл.

Рассказывалось о MySQL 5.0/5.1. Что хочется отметить:
  • Отсутсвовало хотя бы примитивное сопоставление ключевых элементов MySQL и Oracle: база, экземпляр, пользователь, схема, табличные пространства, файлы данных, [архивные] журналы повтора, журналы отката и проч. в виде таблицы. Люди знакомые с этими понятиями с большей лёгкостью осваивали бы материал будь в наличии такая информация.

  • нормального Backup&Recovery у MySQL 5.0/5.1 [пока] нет. Т.е. да, то что есть можно использовать, но все ждут 6.0, потому что то, что есть сейчас нельзя даже сравнивать с возможностями Oracle.

  • по словам консультанта в системе, поскольку отсутствуют аналоги library cache и кэширование курсоров PL/SQL, происходит постоянный разбор операторов, с построением планов и проч. Т.е. в реальности и в общем случае, мы можем сказать что при таком подходе, оптимизатор не сможет строить эффективные планы и существует загвоздки со сложными операторами. Хотя, несомненно, в простых случаях для простых операторов планы строятся быстро. Вот интересно при каком количестве разборов в секунду и количестве переборов (permutations) на каждый разбор система будет CPU bound.

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

  • Консультант в "двух словах" не смог осветить работу buffer cache, что-то есть, но как оно работает выходило за рамки темы.

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

  • Факт: отсутствует инвалидация в случае нарушения зависимостей между объектами.

  • MySQL продаёт годовую поддержку: knowledge base, 24x7 phone/email support/consulting, critical patches для любого числа установленных MySQL баз за $40,000.

  • Выдали материалы:


  • Был слайд:


    Консультант комментирует: "Видите как всё быстро с новым движком (falcon), а вот Oracle такого не может. ;) Наивный...

    SQL> SELECT COUNT(*) FROM big_table;

      COUNT(*)
    ----------
       1120500

    Elapsed: 00:00:00.09
    SQL> CREATE TABLE test_rollback AS SELECT * FROM big_table WHERE 1 = 2;

    Table created.

    Elapsed: 00:00:00.12
    SQL> INSERT INTO test_rollback SELECT * FROM big_table;

    1120500 rows created.

    Elapsed: 00:00:01.37
    SQL> rollback;

    Rollback complete.

    Elapsed: 00:00:00.31


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

  • Понравиласась возможность использовать разные storage engines. Существует выбор и это хорошо.

  • Еда была вкусной ;-)
Что я там делал? Существовало любопытство. Я его [почти] удовлетворил. Хорошо что есть другие базы данных и хорошо что есть выбор — это главное.

No comments: