Здравствуйте, mrTwister, Вы писали:
T>Здравствуйте, _d_m_, Вы писали:
___>>Чеегоо? В каких терминах? У него другие термины? ___>>Понимаешь, есть такой стандарт, называется SQL. Дык я и не сказал ничего такого, что бы выходило за его рамки.
T>В каком стандарте есть репликация?
Ясно. В сад. К землеройкам.
Да это просто слив. Сценарий я описал недвусмысленно ясно и нечего прикидываться валенком.
Здравствуйте, mrTwister, Вы писали:
T>Здравствуйте, _d_m_, Вы писали:
___>>Даже не заикался — т.к. понятно, что нет. Как и много другого. Просто человек заявил — что мол поддерживает GUID-ы, а как выяснилось нет.
T>Ссылку покажешь, где я такое говорил?
Ну может и не ты конкретно, но из вашей компании. Тем не менее, подхватил и продолжил спор именно ты на именно эту тему.
___>>И постоянно приводит сравнения с MS SQL и Oracle, причем некорректные.
T>Какие именно сравнения некорректны?
Нет особого желания перелопачивать весь достаточно объемный топик. Любое сравнение MySQL с нормальной человеческой СУБД уже некорректно априори в силу ущербности MySQL
___>>Хотя MySQL-ю до нормальных СУБД, как свинье до Луны.
T>Вот я и пытаюсь понять, почему "MySQL-ю до нормальных СУБД, как свинье до Луны". Пока что в пример приводили мелочи, которые все имеют workaround.
Какие такие мелочи? ACID? Ну ни фига себе мелочь. Если ACID-а нет — это уже не СУБД.
Ладно, давай поговорим об уровнях изоляции (как части ACID): SERIALIZABLE обеспечивает?
или
Материализованные представления?
Интерфейсы массовой вставки (bulk load)?
Партиционирование таблиц?
Триггеры, замещающие триггеры?
Общие табличные выражения?
Оконные функции? (rank(), row_number() и пр.)
Операторы APPLY?
Табличные UDF? (или аналог)
select from select?
Автообновление статистик индексов?
Автоматическая параметризация AdHoc запросов?
Типы nvarchar(max), varbinary(max) (или аналоги)
Тип xml? Инексация содержимого данного типа? Вставка/изменение/удаление узлов? Подержка xpath запросов?
Работа с XML-ем (типа OPENXML) а также множество разных ф-ций?
Выдача результатов запроса в виде XML?
Операторы OUTPUT для INSERT/UPDATE/SELECT?
Сервисы аналитики (аналитические кубы)?
А что-типа ServiceBroker есть?
Может есть средства шифрования?
Плюс вагон и маленькая тележка мелочей, начиная с GUID, и заканчивая реально удобными тулзами типа студии и профайлера. Я уж не говорю, что на реально сложном запросом на несколько экранов поделка MySQL загнется — оптимизатор зачаточный. Ну как хотя-бы с запросиком на несколько... 10 джойнов?
Выходит MySQL годится только для несложных задач, но не более.
PS: Может что забыл, но это то с чем сами работаем, за редким исключением.
Здравствуйте, _d_m_, Вы писали:
___>PS: И таки планы запросов могу посмотреть?
Да. Но не в том виде, как в SMS
___>Или это просто блокнот с подсветкой синтакасиса?
Это Toad — "блокнот с подсветкой синтаксиса"?
Этот "блокнот с подсветкой синтаксиса" в версии для MSSQL Server стоит до 1300$, и народ покупает несмотря на наличие бесплатнй SMS. Как думаешь, почему?
Здравствуйте, Mamut, Вы писали:
T>> ___>Ах да, в MySQL со стандартом плохо, говорят не дотягивает даже до SQL-86.
T>> Давай по пунктам. Чего именно из стандарта нет в MySQL.
M>Здесь: http://troels.arvin.dk/db/rdbms/
Ну и?
PostgreSQL Has views. Breaks that standard by not allowing updates to views; offers the non-standard 'rules'-system as a work-around.
DB2 Conforms to at least SQL-92.
MSSQL Conforms to at least SQL-92.
MySQL Conforms to at least SQL-92.
Oracle Conforms to at least SQL-92.
Informix Conforms to at least SQL-92.
Здравствуйте, mrTwister, Вы писали:
T>Это Toad — "блокнот с подсветкой синтаксиса"? T>Этот "блокнот с подсветкой синтаксиса" в версии для MSSQL Server стоит до 1300$, и народ покупает несмотря на наличие бесплатнй SMS. Как думаешь, почему?
Там речь шла о бесплатных средствах. Аж автор топика жирным выделил.
Здравствуйте, _d_m_, Вы писали:
___>Какие такие мелочи? ACID? Ну ни фига себе мелочь. Если ACID-а нет — это уже не СУБД.
ACID есть. ACIDа нет только для DDL, где он и не нужен.
___>Ладно, давай поговорим об уровнях изоляции (как части ACID): SERIALIZABLE обеспечивает?
Да.
___>или
___>Материализованные представления?
workaround: http://www.shinguz.ch/MySQL/mysql_mv.html
___>Интерфейсы массовой вставки (bulk load)?
да ___>Партиционирование таблиц?
да
___>Триггеры, замещающие триггеры?
Да. Замещающих нет. workaround: на уровне приложения.
___>Общие табличные выражения?
Нет. workaround: куча способов, использовавшихся до появления 2005 сервера.
___>Оконные функции? (rank(), row_number() и пр.)
Да.
___>Операторы APPLY?
Нет. workaround: написать запрос иначе
___>Табличные UDF? (или аналог)
Нет.
___>select from select?
Да
___>Автообновление статистик индексов?
Да
___>Автоматическая параметризация AdHoc запросов?
Не знаю
___>Типы nvarchar(max), varbinary(max) (или аналоги)
Да
___>Тип xml? Инексация содержимого данного типа?
Нет. Используется строка.
___>Вставка/изменение/удаление узлов? Подержка xpath запросов?
Да.
___>Работа с XML-ем (типа OPENXML) а также множество разных ф-ций? Выдача результатов запроса в виде XML?
Нет. Через приложение.
___>Операторы OUTPUT для INSERT/UPDATE/SELECT? ___>Сервисы аналитики (аналитические кубы)? ___>А что-типа ServiceBroker есть?
Нет. Используй MSMQ или аналоги коих куча.
___>Может есть средства шифрования?
Есть.
___>Плюс вагон и маленькая тележка мелочей, начиная с GUID, и заканчивая реально удобными тулзами типа студии и профайлера. Я уж не говорю, что на реально сложном запросом на несколько экранов поделка MySQL загнется — оптимизатор зачаточный. Ну как хотя-бы с запросиком на несколько... 10 джойнов?
Еще раз количество экранов запроса не причем, оптимизатору плевать сколько у тебя экранов.
___>Выходит MySQL годится только для несложных задач, но не более.
Откуда это выходит?
С таким же успехом можно написать список фич и операторов, которые есть в MySQL, но нет в MSSQL
Например, Hash partitioning, REPLACE, INSERT ... ON DUPLICATE KEY UPDATE
Здравствуйте, avpavlov, Вы писали:
___>>Интерфейсы массовой вставки (bulk load)?
A>Это есть, и даже в некоторых моментах превосходит МС СКЛ.
A>Например, можно указать, что у нас декорированный КСВ
A>"v1","v2","v3" будет распарсено как v1,v2,v3 — в МС СКЛ этого нет и жутко бесит.
A>Зато в МС СКЛ есть импорт из fixed length файлов
Bulk load API — это не только файлы. См. класс SqlBulkCopy
Здравствуйте, mrTwister, Вы писали:
___>>Типы nvarchar(max), varbinary(max) (или аналоги) T>Да
Как? Можно пример?
___>>Тип xml? Инексация содержимого данного типа? T>Нет. Используется строка.
Это совсем не то.
___>>Вставка/изменение/удаление узлов? Подержка xpath запросов? T>Да.
Не понял. Поддержки XML нет, а поддержка встаки/изменения/xpath есть? Это что-то связанное с Девидом Блейном?
___>>Работа с XML-ем (типа OPENXML) а также множество разных ф-ций? Выдача результатов запроса в виде XML? T>Нет. Через приложение.
Совсем-совсем не то.
Здравствуйте, mrTwister, Вы писали:
T>Здравствуйте, _d_m_, Вы писали:
___>>Какие такие мелочи? ACID? Ну ни фига себе мелочь. Если ACID-а нет — это уже не СУБД.
T>ACID есть. ACIDа нет только для DDL, где он и не нужен.
Это MySQL твой не нужен.
___>>Ладно, давай поговорим об уровнях изоляции (как части ACID): SERIALIZABLE обеспечивает? T>Да.
For transactional messaging Service Broker is clearly a better choice than MSMQ. Being a part of the SQL Server database engine, Service Broker provides the same level of transactional gaurantees as any other database operations in the engine. Besides that, Service Broker scales up to multiple processors, as well as offers various means to scale out which MSMQ does not. If "exactly once, in-order" processing is a requirement (and given you are doing TCP, it seems to me that it must be), the conversation primitive of Service Broker is much more natural fit. With MSMQ you'd have to do a lot more work to get that right. Finally, SQL Server supports Windows Failover Clustering as well as database mirroring for high availability. And if you do not need your Service Broker conversations to span multiple instances, then you could simply use SQL Server 2005 express, which is free.
___>>Может есть средства шифрования? T>Есть.
___>>Плюс вагон и маленькая тележка мелочей, начиная с GUID, и заканчивая реально удобными тулзами типа студии и профайлера. Я уж не говорю, что на реально сложном запросом на несколько экранов поделка MySQL загнется — оптимизатор зачаточный. Ну как хотя-бы с запросиком на несколько... 10 джойнов? T>Еще раз количество экранов запроса не причем, оптимизатору плевать сколько у тебя экранов.
___>>Выходит MySQL годится только для несложных задач, но не более. T>Откуда это выходит?
Для тебя — ниоткуда. Наслаждайся MySQL и далее.
T>С таким же успехом можно написать список фич и операторов, которые есть в MySQL, но нет в MSSQL
Только вес этих фич маленький, так синтаксический сахарок, не более.
T>Например, Hash partitioning, REPLACE, INSERT ... ON DUPLICATE KEY UPDATE
Здравствуйте, criosray, Вы писали:
___>>>Типы nvarchar(max), varbinary(max) (или аналоги) T>>Да C>Как? Можно пример?
text, binary
___>>>Тип xml? Инексация содержимого данного типа? T>>Нет. Используется строка. C>Это совсем не то.
___>>>Вставка/изменение/удаление узлов? Подержка xpath запросов? T>>Да. C>Не понял. Поддержки XML нет, а поддержка встаки/изменения/xpath есть? Это что-то связанное с Девидом Блейном?
http://dev.mysql.com/doc/refman/5.1/en/xml-functions.html
___>>>Работа с XML-ем (типа OPENXML) а также множество разных ф-ций? Выдача результатов запроса в виде XML? T>>Нет. Через приложение. C>Совсем-совсем не то.
Что можно такого сделать через OPENXML, чего нельзя через приложение?
Здравствуйте, _d_m_, Вы писали:
___>Это MySQL твой не нужен. ___>Опять велосипед. ___>Ацтой. ___>Слив засчитан. ___>Для тебя — ниоткуда. Наслаждайся MySQL и далее.
Детский сад. Продолжать дискуссию в том же стиле не намерен.
Здравствуйте, mrTwister, Вы писали:
___>>>>Типы nvarchar(max), varbinary(max) (или аналоги) T>>>Да C>>Как? Можно пример?
T>text, binary
text не аналог, т.к. nvarchar(max) до 8к символов хранит строку как обычный nvarchar, а при привышении этого лимита происходит конвертация в LBO.
Не нужно пояснять в чем разница и в чем преимущество подхода mssql?
___>>>>Тип xml? Инексация содержимого данного типа? T>>>Нет. Используется строка. C>>Это совсем не то.
___>>>>Вставка/изменение/удаление узлов? Подержка xpath запросов? T>>>Да. C>>Не понял. Поддержки XML нет, а поддержка встаки/изменения/xpath есть? Это что-то связанное с Девидом Блейном?
T>http://dev.mysql.com/doc/refman/5.1/en/xml-functions.html
Понятно.
T>>>Нет. Через приложение. C>>Совсем-совсем не то. T>Что можно такого сделать через OPENXML, чего нельзя через приложение?
Нельзя выполнять операции непосредственно на сервере, не гоняя гигабайты данных по сети или по пайпу между процессами.
Здравствуйте, _d_m_, Вы писали:
_> Даже не заикался — т.к. понятно, что нет. Как и много другого. Просто человек заявил — что мол поддерживает GUID-ы, а как выяснилось нет.
Поддерживает, но не в типе поля. Это мы уже выяснили. Т.е. те, кто хочет воспользоваться приемуществами UUID, те им могут пользоваться уже сейчас. Тем, кому нужно только поле типа GUID, тем придется или править код или найти другой сервер БД. Проблемы тут я не вижу.
_> И постоянно приводит сравнения с MS SQL и Oracle, причем некорректные. Хотя MySQL-ю до нормальных СУБД, как свинье до Луны.
Понятие "нормальности" должно всегда быть относительно задачи. Можно привести по сотне use-case для каждого из серверов, где будет выиигрывать тот или другой.
Здравствуйте, _d_m_, Вы писали:
_> AB>Переформулируй задачу в терминах MySQL, чтобы мы все точно понимали, что у тебя есть, чего ты хочешь достичь и что ты будешь для этого делать. _> Чеегоо? В каких терминах? У него другие термины?
Лично мне не совсем понятно что и как именно ты хочешь. Репликацию типа master-master? Две и более NDB ноды дадут тебе два и более физических мастера.