Re[18]: MySQL и качество
От: _d_m_  
Дата: 22.06.09 01:35
Оценка:
Здравствуйте, Anton Batenev, Вы писали:

_>> А вот проблема ключа длиной 36 vs 16 — это риал.


AB>Как уже говорилось, если хочешь экономить место, никто не запрещает его конвертировать в бинарное представление и заносить в BINARY(16) поле, по которому построить такой же индекс.


Да не проблема — я в MS SQL тоже легко могу использовать binary(16), и записывать, и сравнивать, и индексы строить. И?
Re[14]: MySQL и качество
От: _d_m_  
Дата: 22.06.09 01:40
Оценка:
Здравствуйте, Anton Batenev, Вы писали:

AB>Здравствуйте, _d_m_, Вы писали:


_>> Это физически невозможно. И как же решили великие создатели MySQL эту проблему?


AB>Как-то так. Решение без изысков (и не без недостатков), но работает и успешно используется.


Задаю вопрос по другому. Есть таблица с автоинкрементным полем. Эта таблица существует в двух БД и настроена двухсторонняя репликация этой таблицы, как быть с автоинкрементынм полем? Сразу говорю identity seed — есть чмо и отстой, поэтому не будем о этом. Итак, как?
Re: Причем
От: Sinclair Россия https://github.com/evilguest/
Дата: 22.06.09 05:30
Оценка: +2
Здравствуйте, Mamut, Вы писали:
M>Причем в Enterprise tudio есть гниальная фича «показать план запроса», оторый подскажет, на каких именно данных просаживается запрос. Обычно бывает достаточно прикрутить забытый индекс — и вуаля.Для MySQL'я таких тлзов просто не существует в природе, насколько я знаю
Почему — есть. Мускульный explain выглядит, конечно, поплоше Query Plan-а в студии, но вполне пригоден для анализа.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[22]: MySQL и качество
От: mrTwister Россия  
Дата: 22.06.09 08:01
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Вот, ты сам и подтвердил, что ACID-ом тут и не пахнет, нужно вручную.

Скажем так, ACID в случае с DDL не полностью в том смысле, что для отката может понадобится дополнительно пара приседаний.

D>Из сказанного это никак не следует, т.к. приведённый мной сценарий рушил метаданные независимо от того, работал с базой кто-нибудь ещё или нет.

D>И если уж на то пошло, условие down-time выполнялось автоматически, т.к. обновлялка работала при инициализации servlet context.
Если с базой никто кроме тебя во время деплоймента не работает, то тогда зачем тебе транзакция?

T>>Но даже на оракле и скл сервере, все деплойменты которые я проводил/имел отношение/наблюдал проходили с down-time'ом на время бекапа (когда было возможно), прогона скрипта (без транзакций) и первичного тестирования. Так что в данном случае не было бы никакой разницы.


D>Это вообще о чём и к чему?


Это вообще к тому, что возможность проводить большой деплоймент, для которого требуется отдельная транзакция по рабочей базе хоть и полезна, но на практике редко используемая.
лэт ми спик фром май харт
Re[22]: MySQL и качество
От: mrTwister Россия  
Дата: 22.06.09 08:04
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Здравствуйте, mrTwister, Вы писали:


T>>А всего то надо было сделать бекап перед деплойментом.


___>На нормальных серверах с нормальными транзакциями — нет необходимости.


Дело не в нормальности сервера, а в нормальности процессов и в configuration management'е. Даже после удачно проведенного деплоймента приложение может перестать работать (1000 причин тому) и придется откатиться к предыдущей рабочей версии. Как тебе в этом случае транзакции помогут?
лэт ми спик фром май харт
Re[3]: Причем
От: mrTwister Россия  
Дата: 22.06.09 08:07
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Спасибо, посмеялся.

___>Во первых, речь шла про план запроса. Типа такого http://files.rsdn.ru/21534/PlanPutina2.GIF , там еще мышкой наводишь например на индекс скан и смотришь что, где и почему — число строк, размер строки, io cost и многое.
Тебе шашечки, или ехать? Или ты информацию только в картинках воспринимаешь?
лэт ми спик фром май харт
Re[19]: MySQL и качество
От: mrTwister Россия  
Дата: 22.06.09 08:08
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Да не проблема — я в MS SQL тоже легко могу использовать binary(16), и записывать, и сравнивать, и индексы строить. И?


Что и?
лэт ми спик фром май харт
Re[15]: MySQL и качество
От: mrTwister Россия  
Дата: 22.06.09 08:08
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Задаю вопрос по другому. Есть таблица с автоинкрементным полем. Эта таблица существует в двух БД и настроена двухсторонняя репликация этой таблицы, как быть с автоинкрементынм полем? Сразу говорю identity seed — есть чмо и отстой, поэтому не будем о этом. Итак, как?


Не использовать двустороннюю репликацию.
лэт ми спик фром май харт
Re[22]: MySQL и качество
От: mrTwister Россия  
Дата: 22.06.09 08:10
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>и (ты удивишься) даже бэкап там делается на горячую без остановки сервера и отключения клиентов.

Это ты к чему? Хочешь сказать, что MySQL не может делать бекап без остановки сервера и отключения клиентов?
лэт ми спик фром май харт
Re[23]: MySQL и качество
От: _d_m_  
Дата: 22.06.09 08:42
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>Здравствуйте, _d_m_, Вы писали:


___>>и (ты удивишься) даже бэкап там делается на горячую без остановки сервера и отключения клиентов.

T>Это ты к чему? Хочешь сказать, что MySQL не может делать бекап без остановки сервера и отключения клиентов?

Чьи слова?

Из всего этого следует только то, что деплоймент, изменяющий структуру базы данных на MySQL требует обязательный down-time на время прогона скрипта (и/или создния и восстановления бекапа).

Re[23]: MySQL и качество
От: _d_m_  
Дата: 22.06.09 08:43
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>Здравствуйте, dimgel, Вы писали:


D>>Вот, ты сам и подтвердил, что ACID-ом тут и не пахнет, нужно вручную.

T>Скажем так, ACID в случае с DDL не полностью в том смысле, что для отката может понадобится дополнительно пара приседаний.

Да понятно. Для бешенной собаки 30 верст не крюк. Да что там фанату MySQL пара приседаний... со штангой... 120 кг...

D>>Из сказанного это никак не следует, т.к. приведённый мной сценарий рушил метаданные независимо от того, работал с базой кто-нибудь ещё или нет.

D>>И если уж на то пошло, условие down-time выполнялось автоматически, т.к. обновлялка работала при инициализации servlet context.
T>Если с базой никто кроме тебя во время деплоймента не работает, то тогда зачем тебе транзакция?

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

T>>>Но даже на оракле и скл сервере, все деплойменты которые я проводил/имел отношение/наблюдал проходили с down-time'ом на время бекапа (когда было возможно), прогона скрипта (без транзакций) и первичного тестирования. Так что в данном случае не было бы никакой разницы.


D>>Это вообще о чём и к чему?


T>Это вообще к тому, что возможность проводить большой деплоймент, для которого требуется отдельная транзакция по рабочей базе хоть и полезна, но на практике редко используемая.


Да-да-да. Если у вас эта возможность не используется, то она сразу переходит в раздел редко используемых.
Re[4]: Причем
От: _d_m_  
Дата: 22.06.09 08:47
Оценка: +2
Здравствуйте, mrTwister, Вы писали:

T>Здравствуйте, _d_m_, Вы писали:


___>>Спасибо, посмеялся.

___>>Во первых, речь шла про план запроса. Типа такого http://files.rsdn.ru/21534/PlanPutina2.GIF , там еще мышкой наводишь например на индекс скан и смотришь что, где и почему — число строк, размер строки, io cost и многое.
T>Тебе шашечки, или ехать? Или ты информацию только в картинках воспринимаешь?

Видишь ли, ехать тоже по разному можно. Можно мягко с комфортом и кондишеном, а можно кашлять и трястись в кузове самосвала по пыльной гравийке.
Re[24]: MySQL и качество
От: mrTwister Россия  
Дата: 22.06.09 08:48
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Чьи слова?

___>

___>Из всего этого следует только то, что деплоймент, изменяющий структуру базы данных на MySQL требует обязательный down-time на время прогона скрипта (и/или создния и восстановления бекапа).


Это было не о возможности сделать бекап на работающей базе, а об откате к предыдущей рабочей версии в случае каких-либо проблем. down-time нужен чтобы данные не потерялись. В нормальных компаниях, в которых налажены процессы, возможность такого отката обязательно обеспечивается независимо от крутости сервера баз данных. Без обеспечения отката никто не позволит вообще деплоймент проводить.
лэт ми спик фром май харт
Re[20]: MySQL и качество
От: _d_m_  
Дата: 22.06.09 08:49
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>Здравствуйте, _d_m_, Вы писали:


___>>Да не проблема — я в MS SQL тоже легко могу использовать binary(16), и записывать, и сравнивать, и индексы строить. И?


T>Что и?


Да то, что речь идет все-таки о гуидах, а не их эмуляции в binary.
Re[16]: MySQL и качество
От: _d_m_  
Дата: 22.06.09 08:51
Оценка: +1
Здравствуйте, mrTwister, Вы писали:

T>Здравствуйте, _d_m_, Вы писали:


___>>Задаю вопрос по другому. Есть таблица с автоинкрементным полем. Эта таблица существует в двух БД и настроена двухсторонняя репликация этой таблицы, как быть с автоинкрементынм полем? Сразу говорю identity seed — есть чмо и отстой, поэтому не будем о этом. Итак, как?


T>Не использовать двустороннюю репликацию.


Браво.
Re[5]: Причем
От: criosray  
Дата: 22.06.09 08:51
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>>>Спасибо, посмеялся.

___>>>Во первых, речь шла про план запроса. Типа такого http://files.rsdn.ru/21534/PlanPutina2.GIF , там еще мышкой наводишь например на индекс скан и смотришь что, где и почему — число строк, размер строки, io cost и многое.
T>>Тебе шашечки, или ехать? Или ты информацию только в картинках воспринимаешь?

___>Видишь ли, ехать тоже по разному можно. Можно мягко с комфортом и кондишеном, а можно кашлять и трястись в кузове самосвала по пыльной гравийке.

+1
К тому же если надо анализировать сотни запросов, то инструментарий однозначно решает.
Re[23]: MySQL и качество
От: Sinclair Россия https://github.com/evilguest/
Дата: 22.06.09 08:53
Оценка: +1
Здравствуйте, mrTwister, Вы писали:
T>Скажем так, ACID в случае с DDL не полностью в том смысле, что для отката может понадобится дополнительно пара приседаний.
Это всё равно, что быть не полностью беременной. ACID означает определённые гарантии. Если их нет — то это не ACID. "Частичного ACID", как и "частичной потокобезопасности", "частичной иммутабельности" и прочего в природе не существует.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[21]: MySQL и качество
От: mrTwister Россия  
Дата: 22.06.09 08:58
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Да то, что речь идет все-таки о гуидах, а не их эмуляции в binary.


И какие проблемы с bibary?
лэт ми спик фром май харт
Re[5]: Причем
От: mrTwister Россия  
Дата: 22.06.09 08:59
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Видишь ли, ехать тоже по разному можно. Можно мягко с комфортом и кондишеном, а можно кашлять и трястись в кузове самосвала по пыльной гравийке.


Ну не все же на такси ездят, некоторые и на метро.
лэт ми спик фром май харт
Re[6]: Причем
От: _d_m_  
Дата: 22.06.09 09:08
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>Здравствуйте, _d_m_, Вы писали:


___>>Видишь ли, ехать тоже по разному можно. Можно мягко с комфортом и кондишеном, а можно кашлять и трястись в кузове самосвала по пыльной гравийке.


T>Ну не все же на такси ездят, некоторые и на метро.


На метро в кузове самосвала? Оригинально. Так вам же и предлагают с комфортом ехать, а вы: нет спасибо — в самосвале лучше.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.