Рассказывалось о 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:
Post a Comment