|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Собственно вопрос в сабже. На сегодня активно работаем с MySql 5.1.48(кажись), в основном движок InnoDb. Пока справляется достаточно хорошо. Сервер: 2 проца по 2 ядра (AMD64) 3.5Ггц, память что-то около 8Гб (4дырки по 2), диск raid1 "proffesional :)" 120..200 Мб/сек. Тянет на себе ПХП-сайт и все БД. Сайт: Nginx + Appache(PHP+Zend) + memcache. Общая отдача (с ботами) около 100к в сутки. Пиково справляется до 170 одновременных обращений в секунду. На запрос к сайту, в среднем делается 3-5 обращений к БД со средним джойном в 5-15 таблиц из нескольких БД (3-5НФ). Некешированная выборка - от 0.1 до 3сек... Базы на сегодня: 1. Основной справочник (фирмы, адреса, телефоны, люди и т.д.) - около 70_000 фирм, достаточно подробно. 2. Товарная база - около 400 000 товаров. 3. Статистика сервера - около 15млн записей, ежедневный прирост 150к шт. 4. Почтовый автомат (переписка посетителей + рассылки). Работает в виде ПХП демона там же - около 1.5млн писем, ежедневный прирост около 1тыс. шт. Суммарно что-то около 60 гектар, может уже больше. В связи с тем, что планируется строить большую экспертную систему на основе товарной базы и ожидается существенный прирост объемов товарной базы (в 10-100 раз), возник вопрос "а потянет ли этот чудо дальше?" Ну и, как обычно, возникла мысля, а может экспертную систему (ЭС) лепить не на Мускуле? В основе ЭС будет лежать большой сложно связанный граф. Ожидается средняя глубина в 10 вершин со средней ветвистотью около 25 ребер на узел, на товарную позицию (к счастью, не каждую). А поскольку акромя Мускуля и когда-то давно MS ACCESS 97, и ещё давнее Borland Paradox 4.1 - ничего не едал... прошу помощи у сообщества... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2012, 17:03 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
On 07/25/2012 06:03 PM, Arhat109 wrote: > В связи с тем, что планируется строить большую экспертную систему на основе > товарной базы и ожидается существенный прирост объемов товарной базы (в 10-100 > раз), возник вопрос "а потянет ли этот чудо дальше?" 400000 товаров * (10/100) = 40,000,000 Ну, не могу сказать, что это уже маленькая БД. по идее Inno должен справляться, > Ну и, как обычно, возникла мысля, а может экспертную систему (ЭС) лепить не на > Мускуле? > В основе ЭС будет лежать большой сложно связанный граф. Ожидается средняя > глубина в 10 вершин со средней ветвистотью около 25 ребер на узел, на товарную > позицию (к счастью, не каждую). Какие операции с графами предполагаются ? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2012, 17:53 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109, А вы изучали, каковы сейчас узкие места в системе? Какую нагрузку создают разные компоненты системы? Пробовали собрать и погонять макет будущей системы в сторонке? Несмотря на приведенные цифры, ответы могут быть самым разным - от "и так сойдет" до "ставить 10 серверов, каждый из которых вчетверо мощнее текущего". ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2012, 18:28 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
вам понадобиться субд с хорошим оптимизатором. mysql славиться слабым оптимизатором, постгрес чуть получше, не столь уж принципиально. дальше идут взрослые субд, точнее их кастрированные версии XE: oracle xe, mssql express, db2 express-c. вряд ли они вам подойдут, у оракла и мсскл ограничение 11гб на базу, у дб2 база не ограничена но 1гб RAM и всего одно процессорное ядро. в общем реально выбор или постгрес, который не факт, что потянет тяжелый sql или платить за взрослую субд. я так понимаю экспертная система может быть отдельной от вашего mysql и доступной только сотрудникам компании. в этом случае лицензирование взрослой субд по юзерам не так уж дорого обойдется и сэкономит многие часы разработки за счет взрослых фич в субд. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2012, 19:09 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Yo.!у дб2 база не ограничена но 1гб RAM и всего одно процессорное ядро. 4 гб, 2 ядра. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2012, 22:31 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109В связи с тем, что планируется строить большую экспертную систему на основе товарной базы и ожидается существенный прирост объемов товарной базы (в 10-100 раз), возник вопрос "а потянет ли этот чудо дальше?"Я не работал ни с той ни с другой базой однако выскажусь. 1 Какая необходимость держать вашу экспертную систему на том же сервере. 2 Присоединюсь к вопросу miksoft об узких местах и создания макета Arhat109Ну и, как обычно, возникла мысля, а может экспертную систему (ЭС) лепить не на Мускуле?А есть ли у вас спец по Постгрессу? Кадры решают все. Arhat109В основе ЭС будет лежать большой сложно связанный граф. Ожидается средняя глубина в 10 вершин со средней ветвистотью около 25 ребер на узел, на товарную позицию (к счастью, не каждую).Графы это у вас. У СУБД это таблицы и запросы. Под словом экспертная система, я представляю систему с редкой, упорядоченной записью, и большим количеством чтений. Такая система должна хорошо параллелиться и хорошо отзыватся на вложения в железо (в отличие от замены СУБД, где положительный результат никак не гарантирован, буде это самая распрекрасная СУБД) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2012, 05:01 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
miksoft, 1. Гоняем постоянно. Собственно система в активном развитии с 2008года. Как такового "production" - нет. То, что работает "для всех" - одна из реинкарнаций из общего репозитория разработчиков. Практически ежедневно делается очередной "svn up". :) Есть большая внутренняя часть - СРМ система "для своих" (в т.ч. удаленно). 2. По узким местам: от сегодняшней нагрузки (это товарно-ценовой портал mediam.ru - около 20_000 полезных визитов в сутки) есть запас около 10 раз по работе серверной части, около 15 раз по вычислительной мощности (средняя нагрузка по htop 30-50% на одно ядро, остальные - 5-10%). Думаю это связано с крайне шустрой дисковой работой (последовательное чтение до 200мб/сек, время простоя на дисках innoDb по статусу не более 15%)... и innoDb уже матерится на недостаток памяти для мускуля, уже сейчас (конкретно недостаток индексного кеша или как он там называется). ... но там есть только 2 дырки, в которых стоит по 4 гектара (в первом посту ошибся)... так что можно ли нарастить - не знаю. В продаже больше 4Гб с ЕСС не видел (у нас). 3. По операциям с графом. Ожидается примерно следующий набор работ (отдельный демон и СУБД): а) операции выборки всех подузлов, начиная с заданного (необязательно корневого). Типа "много и часто" - поиск, подготовка данных для ПО сайта и т.п. Большей частью можно по крону. В основном, результат выборки будет основой для выуживания данных из остальных БД... б) операции вставки отдельных узлов (поштучно) в заданную вершину. Ожидается "пачками" (в смысле в много разных мест, но в каждое по одному и поштучно)... не так часто, но по многу и сразу (добавление знаний в экспертную систему). В основном режим "онлайн" - или "как посетителю вздумается". Пример: добавление нового прайс-листа (10-12500 позиций за раз, ограничено сверху нами). в) перестройка графа (канонизация - перенос поддеревьев, удаление/вставка вершин, ребер). Отдельный фоновый процесс, в основном при снижении нагрузки на БД графа по чтению (например по крону). Я догадываюсь, что возможно какой-нибудь mumps для ЭС подошел бы лучше (очень слегка ставил и знакомился)... но, недавно нашел плагин к Мускулю, который позволяет лазить из ПО непосредственно к индексам и прочим потрохам, обеспечивая скорости близкие к memcache (тест приводился для 8 ядер 3.5Ггц Intel и 32гектаров RAM)... вот и задумался стоит ли менять "шило на мыло"?. Надеюсь, это поможет для ответа на вопрос "Стоит ли для реализации ЭС брать другую БД?" Сервер - один, и другой в ближайшее время не предвидится... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2012, 06:48 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109, "друг, подай закурить! ... а в ответ - тишина, он вчера не вернулся из боя." так никто и не выскажется? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2012, 06:31 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
вынести на отдельный сервак и не парится еще 5 лет ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2012, 12:56 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
ну или купить наконец нормальный сервер, а не этот. у меня примерно такое же стоит дома на поиграться. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2012, 12:57 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
автор. но, недавно нашел плагин к Мускулю, который позволяет лазить из ПО непосредственно к индексам и прочим потрохам, обеспечивая скорости близкие к memcache это из другой оперы. сортировку он делать уже не умеет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2012, 13:08 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
ScareCrow, Пасибки за целых 3 поста, жаль что все "ни о чем"... Мне показалось, что достаточно внятно написал "есть такой и другого НЕ предвидится", разве что - подарите, не? Тогда не надо давать советы, которыми нельзя воспользоваться. По теме, что-то сказать - можете? Повторю ещё раз вопрос: в связи с недостатком времени, изучать подробно "прочие" СУБД - у меня возможности нет. Если можете ВНЯТНО сказать стоит ли переходить на другую бесплатную СУБД (кроме PostGreSQL альтернативы не вижу) или имеющийся MySQL наши задачи потянет "не хуже"? Ну или чем одно лучше другого на таком железе и для такой задачи? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2012, 19:59 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109Если можете ВНЯТНО сказать стоит ли переходить на другую бесплатную СУБД Говорю ВНЯТНО: нет, не стоит. Точка. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2012, 20:15 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109, И времени у Вас нет, и денег... Пичалька, однако. М.б. и тон своих постов стОит убавить, в соответствии с наличием времени и денег?! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2012, 22:36 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109ScareCrow, Пасибки за целых 3 поста, жаль что все "ни о чем"... Мне показалось, что достаточно внятно написал "есть такой и другого НЕ предвидится", разве что - подарите, не? Тогда не надо давать советы, которыми нельзя воспользоваться. По теме, что-то сказать - можете? Повторю ещё раз вопрос: в связи с недостатком времени, изучать подробно "прочие" СУБД - у меня возможности нет. Если можете ВНЯТНО сказать стоит ли переходить на другую бесплатную СУБД (кроме PostGreSQL альтернативы не вижу) или имеющийся MySQL наши задачи потянет "не хуже"? Ну или чем одно лучше другого на таком железе и для такой задачи? Внятно и громко говорю вам НЕТ! Не переходите на PostgreSQL или Firebird - переходите на SQL server. Только SQL Server принесёт вам успех и счастье! Так как у Вас очень мало времени рекомендую все вопросы связанные с изучением этой чудесной СУБД задать на форуме. Все будут просто счастливы ответить вам. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2012, 19:55 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
РыбАлов ВArhat109ScareCrow, Пасибки за целых 3 поста, жаль что все "ни о чем"... Мне показалось, что достаточно внятно написал "есть такой и другого НЕ предвидится", разве что - подарите, не? Тогда не надо давать советы, которыми нельзя воспользоваться. По теме, что-то сказать - можете? Повторю ещё раз вопрос: в связи с недостатком времени, изучать подробно "прочие" СУБД - у меня возможности нет. Если можете ВНЯТНО сказать стоит ли переходить на другую бесплатную СУБД (кроме PostGreSQL альтернативы не вижу) или имеющийся MySQL наши задачи потянет "не хуже"? Ну или чем одно лучше другого на таком железе и для такой задачи? Внятно и громко говорю вам НЕТ! Не переходите на PostgreSQL или Firebird - переходите на SQL server. Только SQL Server принесёт вам успех и счастье! Так как у Вас очень мало времени рекомендую все вопросы связанные с изучением этой чудесной СУБД задать на форуме. Все будут просто счастливы ответить вам.ну что ж - очень аргументированный ответ случайно раньше не в церкви работали? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2012, 20:13 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
> Не переходите на PostgreSQL или Firebird - переходите на SQL server. > Только SQL Server принесёт вам успех и счастье! Так как у Вас очень мало времени Ага. уже. Расскажи, что такое есть в MSSQL чего нет в том же Postgres? Те же индексы, те же таблицы. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2012, 23:13 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
MasterZiv > Не переходите на PostgreSQL или Firebird - переходите на SQL server. > Только SQL Server принесёт вам успех и счастье! Так как у Вас очень мало времени Ага. уже. Расскажи, что такое есть в MSSQL чего нет в том же Postgres? Те же индексы, те же таблицы. Сходу: MatView, MatView-QueryRewrite, Intra-Query Parallelism, Compression, LogShipping, Transaction Replication, PWD... etc Можно ещё долго перечислять. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2012, 23:20 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
СходуMatView, MatView-QueryRewrite, Intra-Query Parallelism, Compression, LogShipping, Transaction Replication, PWD... etcMatView — есть, MatView-QueryRewrite — есть, Intra-Query Parallelism — можно сделать, Compression — есть, LogShipping — есть, Transaction Replication — не знаю что это, репликация есть, PWD — непонятное слово :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2012, 03:03 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
ЁшСходуMatView, MatView-QueryRewrite, Intra-Query Parallelism, Compression, LogShipping, Transaction Replication, PWD... etcMatView — есть, MatView-QueryRewrite — есть, Intra-Query Parallelism — можно сделать, Compression — есть, LogShipping — есть, Transaction Replication — не знаю что это, репликация есть, PWD — непонятное слово :) А можно ссылки на доку по MatView-QueryRewrite и Compression? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2012, 15:21 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
CompressionЁшпропущено... MatView — есть, MatView-QueryRewrite — есть, Intra-Query Parallelism — можно сделать, Compression — есть, LogShipping — есть, Transaction Replication — не знаю что это, репликация есть, PWD — непонятное слово :) А можно ссылки на доку по MatView-QueryRewrite и Compression? http://www.postgresql.org/docs/current/static/rules.html http://www.postgresql.org/docs/current/static/storage-toast.html ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2012, 20:26 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
ЁшCompressionпропущено... А можно ссылки на доку по MatView-QueryRewrite и Compression? http://www.postgresql.org/docs/current/static/rules.html http://www.postgresql.org/docs/current/static/storage-toast.html Что-то я почитал про Rules - хрень какая-то, а не Matview-QueryRewrite. Это как самолет и самолетик. Вроде оба летают, у обоих крылья есть, но в остальном все разное. Про toast прочитал вот эту фразу и сижу офигеваю автор PostgreSQL uses a fixed page size (commonly 8 kB), and does not allow tuples to span multiple pages . Therefore, it is not possible to store very large field values directly. To overcome this limitation, large field values are compressed and/or broken up into multiple physical rowsВыглядит как какая-то непонятная приблуда, придуманная, чтобы PGSQL мог храниться данные больше 8кб, но приспособленная еще для чего-то ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2012, 21:34 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Alexander RyndinЁшпропущено... http://www.postgresql.org/docs/current/static/rules.html http://www.postgresql.org/docs/current/static/storage-toast.html Что-то я почитал про Rules - хрень какая-то, а не Matview-QueryRewrite. Это как самолет и самолетик. Вроде оба летают, у обоих крылья есть, но в остальном все разное. Про toast прочитал вот эту фразу и сижу офигеваю автор PostgreSQL uses a fixed page size (commonly 8 kB), and does not allow tuples to span multiple pages . Therefore, it is not possible to store very large field values directly. To overcome this limitation, large field values are compressed and/or broken up into multiple physical rowsВыглядит как какая-то непонятная приблуда, придуманная, чтобы PGSQL мог храниться данные больше 8кб, но приспособленная еще для чего-то Так я не понял, там это материализованное представление и вообще как эти rules работают в двух словах? И сжатие это бинарные столбцы TOAST (типа BLOB) просто перед сохранением жмутся и сохраняются по множеству строк? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2012, 23:40 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
pkarklin, что конкретно Вам не понравилось в моих постах? Я задался вполне нормальным вопросом проектировщика, при начале нового проекта. Нет времени и денег - нормальное состояние. У Вас есть и то и другое? Значит Вы - безработный меценат, живущий на рентный доход. ;) То что не хочу, чтобы тему превратили во флуд "чья пиписька тольщее"? Всё равно - УЖЕ превратили. Меня интересовал конкретный ответ на конкретный вопрос. Мне его дали - "не стоит". За что пасибки автору. Чётко и понятно. Времени разбираться ПОЧЕМУ - у меня нет. Так что спасибо за участие, тему можно закрывать - мерялки проприетарных рекламистов меня ваще не интересуют. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 06:20 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109, жаль нельзя исправить... дополню: Вот ответ "надо переходить на..." - обязан сопровождаться объяснением ПОЧЕМУ эти задачи в этих условиях полезно решать другими средствами. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 06:22 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
РыбАлов В, К сожалению, в рассмотрении только свободно распространяемый софт. Владелец/Заказчик - категорически против ЛЮБОЙ оплаты проприетарщикам. Он поддерживает только свободное распространение. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 06:26 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Сходу, можете пояснить как эти фичи могут оказаться полезны в решении поставленной задачи? Не очень понял нафига оно... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 07:18 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109Arhat109, жаль нельзя исправить... дополню: Вот ответ "надо переходить на..." - обязан сопровождаться объяснением ПОЧЕМУ эти задачи в этих условиях полезно решать другими средствами.вам никто ничего не обязан, будьте благодарны каждому совету ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 09:54 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
On 07/29/2012 09:26 PM, Ёш wrote: > http://www.postgresql.org/docs/current/static/rules.html > http://www.postgresql.org/docs/current/static/storage-toast.html Ну это вообще не интересно. Если брать PG и MSSQL, то вообще смысла нет сравнивать. Они вообще оного плана, одной мощности. Но даже если сравнивать c MySQL для этой задачи думаю всё равно что то, что это. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 10:41 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
> Сходу: MatView, MatView-QueryRewrite, Intra-Query Parallelism, Compression, > LogShipping, Transaction Replication, PWD... etc > Можно ещё долго перечислять. И оно ему надо для этой задачи? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 10:41 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
> Вот ответ "надо переходить на..." - обязан сопровождаться объяснением ПОЧЕМУ эти > задачи в этих условиях полезно решать другими средствами. Вот если бы тебе граф расшивать запросом одним, вот это да, была бы фича в тему. Кстати, в MSSQL есть WITH/CONNECT BY или как его там. Подходит для этой задачи. В PG не знаю. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 10:44 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
MasterZiv, В PG есть RECURSIVE CTE. То же самое. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 11:21 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
SergSuper, извиняюсь. Конечно надо было "полезно" вместо "обязательно". Просто хотел заметить, что отказ от перехода - может быть просто отказом, а предложение другого решения полезно обосновывать, в целом а не применительно к данной теме. Вытаскивать всё поддерево одним (фиксированным) запросом даже в ситуации только parent_id - умею и на Мускуле. С переменными - не проблема, работает такой запрос максимум в три раза дольше чем динамически собранный union/join по уровню вложенности или выборка через отдельную таблицу связей... уже писал тут в теме про деревья на мускуле. В принципе, тему можно закрывать. Для себя определил что остаюсь на Мускуле. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 12:38 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109Вытаскивать всё поддерево одним (фиксированным) запросом даже в ситуации только parent_id - умею и на Мускуле Интересно было бы посмотреть как. А то мне иногда такое требуется. Пока что приходится переносить для этого часть логики на PHP. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 13:05 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Симонов ДенисИнтересно было бы посмотреть какНу, вызов ХП - тоже запрос. Причём как раз один. И фиксированный к тому же :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 13:51 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Симонов ДенисArhat109Вытаскивать всё поддерево одним (фиксированным) запросом даже в ситуации только parent_id - умею и на Мускуле Интересно было бы посмотреть как.+1 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 14:06 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
tanglirНу, вызов ХП - тоже запрос. А... Я то думал мало что пропустил. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 14:20 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
поделюсь и своими соображениями..... я с постгрес работал (наверно стоит сказать баловался) лет эдак 6-8 назад и все тоесть ничерта уже не знаю и не помню пред история сейчас сервис работает на MySQL 5.1.52 (если мне не изменяет память), все таблици MyISAM, master+slave сейчас БД занимает около 50ГБ, постоянно растет после того как сдохла мать на одно из серверов, и позиция бинлога слейва опережала мастер ну очень прилично, а так же из-за того что восстановлени и запуск сервиса занял аж 6 часов времени, ни и естественно после того как директор вспомнил всех "лаского"... было принято решение переехать на что то более стабильное, соответсвенно задались вопрос "а на что?" сразу требования были такими 1. максимальная стабильность 2. синхронная репликация 3. легкость восстановления 4. отсутвие переделки кода, или сведение переделок к минимуму я прошерстил мускульные решения и остановился на Percona XtraDB Cluster. наш админ, был категорически против такого костыльного решение, цитирую не дословно )) "надстройка над дряхлой реализацией репликации в мускула". И предложил свою идею - "нафига нам такая глючная СУБД, давайте PostgreSQL ставить, есть много промышленых решений ....". И еще стоит вспомнить то что обычно я на плюсы обращаю в последнию очередь, если решение подходит по требования, то мне куда интереснее знать минусы системы и с чем нам придеться столкнуться, чем знать всякие плюшки на которые и так никто не расчитывал. Посему в моих отчетах было больше высказано всяких бяк перконы (я с нее начал) чем преимуществ. На что админ "хватась за голову" кричал "нафига нам надо такое дерьмо, я в продакшн его не пущу, и вообще гарантий не даю" Вообщем в этих нескольких фразах я сократил километровые баталии на тему что лучше, и прочее, включая кадры, специалистов и програмистов и переделку кода, и стабильность решения, и работу админа и пр.... Вообщем сошлись на том что нужно проверять/тестировать. Начну с конца, тоесть с того вывода который я сам для себя сделал в самый последний момент это "промышленность решения" с одной стороны это означает что данноя штука уже давным давно используеться в продакшн, а с другой Перкона - контора которая промышленно занимаеться разработкой, продукт постоянно развиваеться, ведет продвижение в массы, тех поддержку и пр. "поделки постгреса" - написано вроде валом, вроде в продакшене работают, но никто ни за что не отвечает. Ну окромя skytools, но она нам не подходила так как имела асинхронную репликацию. Для постгреса был выбран pgpool II , так как PGCluster умер вроде бы давно, вторую версию мы с админом так и не нашли. А ничто другое синхронную репликацию не поддерживает. Почему начал с конца? именно с возможности найти вменяемую свежую, обновляемую информацию по каждому и зрешений из какотото одного места. Тоесть сто бы создать кластер перконы мне понабоилось два ресурса, один из которых сам сайт перконы второй http://www.mysqlperformanceblog.com/, который и так ведут перконовци. Потом уже понадобилось куча других ресурсов, но то уже больше касалось понимания происходящих процессво и тонокого тюна. Еще стоит отметить - что наш админ, сильно настаивал на том что не очень доверяет какимто продуктам и конторорам которые не дают сразу из коробки какогото полноценного решения. Витиевато сказал )). Я к тому что вот кластре перконы давал инфу как построить кластер, но не давал сриптов/программ/решений как полноценно мониторить кластер как автоматически правильно восстанавливать узел и пр. Это в свою очередь добавило еще такое неявное условие к тестированию: оба кластера тестировались только с теми настройками которые рекомендовались для работы серверов в кластере. Никакого тонкого тюнинга не проводилось. Балансировщики также ни как тонко не настраивались. Вообщем такое себе "коробочное" решение. И так некоторые данные из тестов: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
все перечисленные конфиги относяться к виртуалкам запущеным на офисных (вообщем даже домашних) машинах. далее админ сказал что неплохо было бы проверить LA при интенсивной записи, хотябы по top поскольку нам нужна синхронная репликация, то масштабировать запись получаеться не сильно, тоесть нужно было проверить насколько движки серверов будут блоикровать остальную систему и самих себя для данного теста были оставлены два узла, 6 ядерная машина была использована как гостевая для ВМ балансера, и создание тестовых процессов, на ней же поднята NFS, куда collectd писал свои наблюдения с узлов кластера. условия Код: plaintext 1. 2. 3.
что имеем кластер перконы min=0.00771164894104 max=0.40158263842265 avg=0.027967720015844 percona-node2 percona-node3 тест завершился успешно за меньше чем 10 минут, я не поверил потом перепроверил еще два раза, все пучком по 500000 строк в каждой таблице кластер постгрес min=0.01076602935791 max=0.25553027788798 avg=0.043085272804896 postgres-node2 postgres-node3 а вот тут я задолюался ждать завершения оставноил тест, на это время в каждой из таблиц находилось по 275029 строк более того (скопипастил со своего отчета) Явообщем както странно работало 100 потоков было создано мгоновенно а вот pgpool сразу открыл соединений значительно меньше две попытки входа на pgpool через psql провалились после 30 секунд ожидания psql: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. (перкона в этом плане посзволяля заходить и смотреть статистику) Отсюда получаеться что цифирки min/max/avg - актуальны ТОЛЬКО для скорости вставки, но не для наглядного представления работы приложения ибо не учитываеться время соединения с балансером еще интересно то что la у постгреса значительно меньше получился на машине с более быстрым процессором - почему не знаю. и снова небольшое резюме графики load average - при сравнении кластеров не показательны да у мускуля он выше, но мускул делает значительно больше работы чем тот постгрес, пишет данные, ведет бинлог, ведет кеш Галеры и еще кучу всего. И при этом отрабатывает запросы быстрее постгреса. Вот если опустить скорость до уровня постгреса, вот тогда можно было что то сказать более конкретно. Восстановление перкона - простовь добавь узел, если упало так что видно что будет трудно восстанавливать - добей (удали все), и покдлючи с нуля постгрес - лично я (я не админ и не сильно хотел рыться во всем этом) так и не понял как сделать востановление, на момент написания моего отчета и этого текста, админ тоже не разобрался как его восстанавливать. и еще пару слов если я правильно понимаю - то репликация pgpool как то и не репликация вовсе, тоесть по термину то она работает как надо, а вот если глянуть внутрь то pgpool просто делает такую себе широковещательную рассылку на узлы кластера так же проверялось, но описывать уже не буду - на сколько легко меняються струкутуры таблиц в двух решениях, и как это влияет на работу кластера - также бегло было определено что перезд, именно переезд, существующего приложения на постргрес - вообще кактастрофа, просто так БД не конвертируешь, часть кода придеться менять точно. - писать приложение с нуля на постгрес можно, хотя все таки меня смущает вопрос производительности. Так же у постгреса более развитый язык описания функций/процедур, и много вкусных плюшек в типах данных и ограничениях, но это уже....другая история вообщем то. хочеться услышать ваше ФИ по моему тексту ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 16:15 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
> 2. синхронная репликация Синхронной репликации не бывает. Синхронная репликация называется "распределённая транзакция". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 17:58 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
On 07/30/2012 05:15 PM, Alexander Dorogikh wrote: > Начну с конца, тоесть с того вывода который я сам для себя сделал в самый > последний момент > это "промышленность решения" > с одной стороны это означает что данноя штука уже давным давно используеться в > продакшн, а с другой > Перкона - контора которая промышленно занимаеться разработкой, продукт постоянно > развиваеться, ведет продвижение в массы, тех поддержку и пр. Она не занимается разработкой. Перкона только патчит стандартный MySQL добавляя туда какие-то нужные фичи и леча серьёзные баги. Отношение MySQL - Percona примерно как kernel dev team -- Red Hat. Роли примерно такие же. И техподдержка у них, что естественно, за деньги. Такую же поддержку можно заказать и в самом MySQL. Ну и перконовскому клону не так много лет. > "поделки постгреса" - написано вроде валом, вроде в продакшене работают, но > никто ни за что не отвечает. Ну окромя skytools, но она нам не подходила так как > имела асинхронную репликацию. В сообществе Postgres есть точно такой же EnterpriseDB, который делает ровно то же самое -- даёт поддержку Postgres, патчит баги, имеет свои суперфичи. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 18:04 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
On 07/30/2012 05:15 PM, Alexander Dorogikh wrote: > И так некоторые данные из тестов: > чистый тест записи > min=0.0020556449890137 > max=0.45267136891683 > avg=0.004230509018898 > > чистый тест чтения > min=0.00086212158203125 > max=0.028524160385132 > avg=0.0030196107387543 > чистый тест записи > min=0.0054296652475993 > max=0.14494268099467 > avg=0.021722389920553 > > чистый тест чтения > min=0.0061240196228027 > max=0.21231603622437 > avg=0.011303532481194 > > > > все перечисленные конфиги относяться к виртуалкам запущеным на офисных (вообщем > даже домашних) машинах. Вы сравнивали транзакционный Postgres и нетранзационный MySQL+MyISAM ? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 18:08 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Alexander Dorogikh хочеться услышать ваше ФИ по моему тексту Извини за прямоту, вы просто зря потратили время. Тестирование СУБД -- это очень непростое дело, и что два сдуру сунувшихся в это дело человека покажут что-то путное в виде результатов -- это абсолютно невероятное событие. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 18:13 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
то что перкона патчит эт я знаю, можно увидеть самому когда собирать перокону и тянуть из дистрибов но все таки это официальное лицо которое поставлет Percona XtraDB Cluster EnterpriseDB - дает какоето бесплатное кластерное решение? я серьезно спрашиваю распереденная транзакция это подноготная происходящего процесса, но почему почти везде и на та же перкона имено так и называет свою репликацию синхронной ( http://www.percona.com/software/percona-xtradb-cluster/) MasterZivВы сравнивали транзакционный Postgres и нетранзационный MySQL+MyISAM ? мы сранивали постргес и перкону с ее движком поумолчанию XtraDB MasterZivИзвини за прямоту, вы просто зря потратили время. Тестирование СУБД -- это очень непростое дело, и что два сдуру сунувшихся в это дело человека покажут что-то путное в виде результатов -- это абсолютно невероятное событие. прямота не тсрашна, а бы поделу наш сервис работает на рынке уже в течении 7 лет так что не совсем сдуру я понимаю что толком мы ничего не тестировали и о том что мы тратим время я пытался доказать, но увы.... хотя если деньги платяться...... то почему бы не потестить я даже по секрету скажу - вся эта бодяга больше для того что бы остановить выбор на перконе постгрес хоть и знаком админу, но как его тюнинговать, как вообще им пользоваться )) в компании никто не знает, я сам 6 лет мускулом пользуюсь, мож не знаю абсолютно всего, но 6 лет это и так не мало ))) (хочеться так думать) и все таки результат как бы есть переход на перкону как минимум не ухудшит производительности (с учетом того что текущиее решение тюнинговалось 6 лет, а перкона запускалась с "дефолтными" настройками). Да и переход будет безболезненным с минимальным временем простоя сервиса. на данный момент мы просто не увидели сильных преимуществ постгреса на майскул "с патчами от перконы ))" если я что то упустил, серьезное, с удовольствием выслушаю ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 19:26 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Alexander Dorogikhпочему почти везде и на та же перкона имено так и называет свою репликацию синхронной Потому что все и всегда её так называют, только Баба Яга MasterZiv - против. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 19:42 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
1.5M записей 10 минут ... как-то не впечатляет перфоменс. а сколько стооит эта перкона на такие 4 ноды ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 19:43 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Yo.!1.5M записей 10 минут ... как-то не впечатляет перфоменс. а сколько стооит эта перкона на такие 4 ноды ? пока нисколько все тестировалось на VirtaulBox машинах, проыцессор и память указаны в результатах тюнингом никто не занимался такой вопрос - а какой показатель считать впечатляющим? (мы принципе сейчас находиммся на этапе реорганизации сервиса, часть операций вообще уйдет в NoSQL, там где именно важна скорость засписи а не целостность данных) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 19:59 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Yo.!1.5M записей 10 минут ... как-то не впечатляет перфоменс. а сколько стооит эта перкона на такие 4 ноды ? зыж и еще она вообще бесплатна, платна только поддержка (срочная если нужно очень) а про пока нисколько - я имел ввиду аренду шелезяк рекомендуеться нечетное число узлов для того что бы галера могла нормально решить проблему split brain (мы пока остановились на 3х серверах) кстати я так и не понял как с этим обстоят дела у pgpool ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 20:13 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
miksoft, Сожалею, но не могу привести SQL. Идея - проста, заметьте что: 1. простой джойн таблицы сама с собою - дает все связи всех узлов всех деревьев (без части where). 2. если таблицу правильно проиндексировать, то можно обеспечить требуемый порядок выборки этих связей. 3. остается только организовать "память" о подузлах на переменных (и это оказывается очень дешево и крайне быстро у Мускуля!). Всё. На выход отдаем только требуемые подузлы частью where. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 20:49 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
http://www.enterprisedb.com/solutions/mysql-vs-postgresql вот такие высокопарные слова, а реальных данных для сравнениея нема админ тоже так задушевно )) рассказывал о преимуществах но так и не привел никаких толковых аргументов на данный момент из того что нам требуеться я нашел только вот это http://www.enterprisedb.com/products-services-training/products/postgres-plus-advanced-server но сколько оно стоит??? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 21:39 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Alexander Dorogikh, Спасибо за приведенные данные. Пусть они и "пол-потолок-палец", но по крайней мере не увидел солидных аргументов "за" переход с Мускуля куда-то ещё для своей задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 22:15 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Кстати, о птичках а в M$SQL появилась такая штука? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 11:16 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
ОКТОГЕНКстати, о птичках а в M$SQL появилась такая штука? Table-value function? с 2000-го года, если правильно помню, а что? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 11:34 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
ОКТОГЕН, с 2005 BOL А кстати,давно хотел спросить у PostresSQL решили проблему падения производительности на 25% при вызове процедур(функций)? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 11:37 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
denis2710ОКТОГЕН, с 2005 BOL А кстати,давно хотел спросить у PostresSQL решили проблему падения производительности на 25% при вызове процедур(функций)? всё-таки с 2000 http://msdn.microsoft.com/en-us/library/aa214485%28v=sql.80%29 User-Defined Functions That Return a table Data Type ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 12:08 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
lockyTable-value function? с 2000-го года, если правильно помню, а что? А там можно сделать INSERT/UPDATE/DELETE? В 2000 надо было мутить процедуру, у которой, насколько помню, были ограничения на JOIN ЗЫ Я имел ввиду встроенные Table-value function, например, generate_series, т.к. пришлось такие вещи писать. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 12:21 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
denis2710А кстати,давно хотел спросить у PostresSQL решили проблему падения производительности на 25% при вызове процедур(функций)? Про такую багу слышал давно, а вот насчёт исправления... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 12:31 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
ОКТОГЕНПро такую багу слышал давно, а вот насчёт исправления... Это не бага, а фича, слямзенная у Большого Брата. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 12:36 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
ОКТОГЕН, а что за бага? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 12:50 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovОКТОГЕНПро такую багу слышал давно, а вот насчёт исправления... Это не бага, а фича, слямзенная у Большого Брата. Что и у ORACLE сия "фича"? Как-то не замечал. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 12:54 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Ёш, я натыкался на owerhead вызова SQL функций. PlPgsql функции с идентичным кодом оказывались быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 12:54 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
denis2710Что и у ORACLE сия "фича"? Угу, у него сильно разделены SQL и PL/SQL, так что вызов одного из другого тормозит. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 12:59 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
ОКТОГЕНЯ имел ввиду встроенные Table-value function, например, generate_series, т.к. пришлось такие вещи писать. Достаточно бестолковая функция, поскольку последовательность можно легко получить одним запросом ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 13:45 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovdenis2710Что и у ORACLE сия "фича"? Угу, у него сильно разделены SQL и PL/SQL, так что вызов одного из другого тормозит. Точнее сказать, тормозить аж п-ц ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 13:47 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
ОКТОГЕНlockyTable-value function? с 2000-го года, если правильно помню, а что? А там можно сделать INSERT/UPDATE/DELETE? В 2000 надо было мутить процедуру, у которой, насколько помню, были ограничения на JOIN ЗЫ Я имел ввиду встроенные Table-value function, например, generate_series, т.к. пришлось такие вещи писать. чочочо? (это я про болд) а про insert/update/delete - таки да, можно, хоть и не без ограничений не, встроеных - нет. но, как я понимаю, писать пришлось один раз? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 14:24 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
ОКТОГЕН Ёш, я натыкался на owerhead вызова SQL функций. PlPgsql функции с идентичным кодом оказывались быстрее. При недолгом общении с postgresql, я натыкался на этот overhead и в случае sql и pl/pgsql функций. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 14:39 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
denis2710, Забавно. Не думал что такие проблемы даже у Оракула бывают... У нас InnoDb работает очень даже устойчиво. А ежели учесть, что во внутренней СРМ системе, какой-то гений сделал все базовые операции (контроль доступа пользователя по ключам доступа, вставку, обновление, проверку наличия такого объекта при добавлении связи, логирование и т.д.) через процедуры мускуля, да ишо передавая им json объект, который парсится вручную теми же мускульными процедурами (поубивал бы!)... и всё это держит (сервак описал выше) до 20-и одновременных пользователей без кеширований... не, Мускуль лучше, адназначна! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 23:46 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109, У всех систем есть свои недостатки... Про мускул общепризнанный факт оптимизатор у нее слабоват. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2012, 10:53 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
denis2710Arhat109, У всех систем есть свои недостатки... что значит свои ? типа у прямых конкурентов при переключении от декларативного движка к процедурному просадка меньше. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2012, 12:22 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Yo.!denis2710Arhat109, У всех систем есть свои недостатки... что значит свои ? типа у прямых конкурентов при переключении от декларативного движка к процедурному просадка меньше. DB2 умеет вставлять тело функции в select, то бишь делать макроподстановку. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2012, 14:08 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Victor MetelitsaDB2 умеет вставлять тело функции в select, то бишь делать макроподстановку. в оракле эта технология еще в 80х начала отмирать, уступая место PL/SQL. у IBM, к примеру, этот процесс только сейчас начался, т.е. лет на 20 позже. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2012, 15:18 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Victor MetelitsaYo.!пропущено... что значит свои ? типа у прямых конкурентов при переключении от декларативного движка к процедурному просадка меньше. DB2 умеет вставлять тело функции в select, то бишь делать макроподстановку.Это ж какую такую макроподстановку можно сделать в SELECT для цикла? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2012, 22:53 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Сейчас там есть три сорта sql-функция * begin ... return ... end - компилируется отдельно, называется compound SQL (compiled), наименее эффективно при прочих равных, но синтаксис "полноценный", http://pic.dhe.ibm.com/infocenter/db2luw/v10r1/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0004239.html Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
* begin atomic ... return ... оно inlined at run time within another SQL statement, называется compound SQL (inlined), синтаксис упрощён по сравнению с compound SQL (compiled), но цикл while таки есть, http://pic.dhe.ibm.com/infocenter/db2luw/v10r1/index.jsp?topic=%2Fcom.ibm.db2.luw.sql.ref.doc%2Fdoc%2Fr0004240.html Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
* просто returm - оно самое оптимизируемое, a la Код: sql 1. 2. 3. 4. 5. 6. 7.
или Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2012, 09:39 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
denis2710, ИМХО это достоинство, а не недостаток. Значит запрос будет выполняться с большой долей вероятности именно так как напишешь. Мне похожая беда, в своё время на Access97 надоела "хуже горькой редьки" - "автопросроитель" делаешь, а потом открываешь sql и правишь как надо. В общем-то да, заметил уже. Последнее время, не заморачиваюсь. Пишу сразу FORCE INDEX FOR (.нафига и какой.). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2012, 20:35 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Кстати, Мускул тоже запросы в процедурах обрабатывает несколько медленнее чем при прямом вызове... недавно заметил. И обработка в триггерах идет в 2-3 раза медленнее чем при добавке ON DUPLICATE KEY... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2012, 20:37 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109"автопросроитель"Опечатка ли? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2012, 20:38 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
miksoft, опечатка, но "удачная"... клаву пора мыть - половина клавиш не прожимается. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2012, 20:57 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109denis2710, ИМХО это достоинство, а не недостаток. Значит запрос будет выполняться с большой долей вероятности именно так как напишешь. ... В общем-то да, заметил уже. Последнее время, не заморачиваюсь. Пишу сразу FORCE INDEX FOR (.нафига и какой.). Какое-то странное понятие о достоинствах... Полезно разобраться "че да как",а не лепить хинты имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2012, 10:49 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
denis2710, с чем предлагаете "разобраться че да как"? Просто не очень понял чего сказать хотели... вот, разбираюсь. ;) Ежели с мускульными запросами, то там особо сложного ничего не бывает, потому как оптимизатор - убогий (и это - хорошо!), на крайняк - есть документация, на самый крайняк - этот форум. ;) Гораздо хужее вумный (как вутка, тока не крякает) - оптимизатор. Ты предполагаешь одно, а он лепит - другое (например редукция неизменяемого подвыражения, которое тебе на самом деле "душу греет")...и главное молчит зараза (не крякает ведь)! Ну например, где-нибудь в блоке WHERE ставишь IF(условие, LEAST( @one:="two", 1 ), 2) , а он смотрит, что внутрях функции LEAST сплошь константы получаются и редуцирует вызов функции... да ишо и молча... бяда, ой бяда. Не, в нормальных проектах вумные оптимизаторы - зло. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2012, 19:45 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109Ну например, где-нибудь в блоке WHERE ставишь IF(условие, LEAST( @one:="two", 1 ), 2) , а он смотрит, что внутрях функции LEAST сплошь константы получаются и редуцирует вызов функции... да ишо и молча... бяда, ой бяда. помоему беда это когда пишут функции во where ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2012, 21:56 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109Не, в нормальных проектах вумные оптимизаторы - зло. А с какой из СУБД с вумным оптимизатором вы хорошо знакомы? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 02:10 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
с какой из СУБД, "хорошо" - понятие растяжимое. Слегка знаком был с MS SQL Server особенно в части работы через MS Access-97... "слегка" - это разработка только двух проектов с нуля и в одиночку: 1. Товарная СУБД для учета склада компьютерной фирмы с полуавтоматом по распознаванию "одинаковости" товарной позиции от разных поставщиков с элементами самообучения проги. Основной интерфейс оператора - MS Access, хранение MS SQL. Проект реализован в пилотной версии, и брошен по причине потери места работы по личным мотивам. Собственно мой интерес к ИИ здесь и нарисовался... 2. Учет ТМЦ для издательства. Конкретно реализация первой версии, в виде переноса пилотного проекта с Мускула (ещё какой-то там 3-й версии MyIsam) на MS SQL... Проект также брошен по причине неспособности руководства издательства преодолеть саботаж руководителей среднего звена. Вот уже третий год работаю на MySQL 5.1.48 ... и, как оценивается другими - знаю его виртуозно... но вот сам о себе такого сказать не могу. Хотя бы потому, что через запрос, в доку все равно лезешь. В браузере, не закрывается 4 вкладки: MySql, HTML, PHP, JQuery. Это к тому, что "хорошо" - очень относительно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 07:06 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
SergSuper, беда - это когда программист вместо понимания чего и зачем он использует, пользуется чужим мнением без анализа. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 07:08 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109, авторГораздо хужее вумный (как вутка, тока не крякает) - оптимизатор. Ты предполагаешь одно, а он лепит - другое (например редукция неизменяемого подвыражения, которое тебе на самом деле "душу греет")...и главное молчит зараза (не крякает ведь)! "Че да как",это например разобраться почему оптимизатор не использует индексы,а не прибивать их гвоздями. Ну если план выполнения запроса не смотреть,то это конечно молча... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 09:57 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
denis2710, ежели оптимизатор тупой, чего туды смотреть? ;) В нормальном, развесистом проекте к каждой табличке идет не один запрос, и индексов там навешано как г...<вырезано самоцензурой>... много в общем. А то и по нескольку на одно поле. Нафига, заморачиваться и куда-то смотреть, когда можно тупо сказать какой конкретно именно тут нужен? ;) Нет, конечно, когда оно откровенно тупит, есть смысл и в план заглядывать... я ж не говорю о том, что оно совсем лишнее. Из прошлой жизни (исключительно как пример для понимания): Долгое время ответственные вещи писал только на Ассемблерах, не доверяя "вумным оптимизаторам", за что был прозван в узком кругу "lastbyte" (в смысле код вылизан до последнего байта). И только после того, как Ватком С компилятор смог породить код длинной в 3 килобайта, практически совпадающий с моей писаниной "байт в байт", вплоть до выбора тех же регистровых групп и выкрутасов... в тогда начал писать всё на Сях... зная и понимая, что породит компилятор. Но, в своё время, это был лучший компилятор со всеми возможными оптимизациями. Я это к чему: нормальному программисту оптимизатор, как таковой не нужен. Он сам оптимизатор. А начинающему, все равно не поможет, только запутает. Для простых вещей, да полезен. На то они и простые, там по большому счету "все равно". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 16:44 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109denis2710, ежели оптимизатор тупой, чего туды смотреть? ;) Нафига, заморачиваться и куда-то смотреть, когда можно тупо сказать какой конкретно именно тут нужен? ;) Нет, конечно, когда оно откровенно тупит, есть смысл и в план заглядывать... я ж не говорю о том, что оно совсем лишнее.". Смысл смотреть на план есть всегда.Хотя нет, если 2 таблицы с 3 записями и 4 пользователями,то наверно смысла смотреть нет. авторВ нормальном, развесистом проекте к каждой табличке идет не один запрос, и индексов там навешано как г...<вырезано самоцензурой>... много в общем. А то и по нескольку на одно поле. Нафига, заморачиваться и куда-то смотреть, когда можно тупо сказать какой конкретно именно тут нужен? ;) А если индекс сильно дефрагментирован или выбирается значительный процент данных от общего кол-ва данных,а у вас там гвоздями заколочено юзать индекс,то по-вашему это хорошо? Если индексов там понавешано как г..а,то они и превращаются в оное. авторЯ это к чему: нормальному программисту оптимизатор, как таковой не нужен. Он сам оптимизатор. А начинающему, все равно не поможет, только запутает. Для простых вещей, да полезен. На то они и простые, там по большому счету "все равно". Мягко говоря странная фантазия СУБД без оптимизатора.Начинающим и не только оптимизатор помогает.Еще более полезен для сложных.И то почему получается не оптимальный план выполнения надо разбираться имхо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 18:00 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109 Долгое время ответственные вещи писал только на Ассемблерах, не доверяя "вумным оптимизаторам", за что был прозван в узком кругу "lastbyte" (в смысле код вылизан до последнего байта). И только после того, как Ватком С компилятор смог породить код длинной в 3 килобайта, практически совпадающий с моей писаниной "байт в байт", вплоть до выбора тех же регистровых групп и выкрутасов... в тогда начал писать всё на Сях... зная и понимая, что породит компилятор. Но, в своё время, это был лучший компилятор со всеми возможными оптимизациями. ну вообще-то хвастаться тут нечем. Вместо того что бы продукт создавать, вы занимались соревнование с компилятором, теперь перешли на борьбу с оптимизатором, неудивительно что проекты бросались прежде чем вы успевали их осчасливить я лично никогда такой ерундй не занимался, если работает с приемлемой скоростью - то и пускай, если тормоза непонятные - то да, надо план смотреть, но это очень редко бывает если у вас постоянно тормоза - значит вы что-то не так делаете, я бы советовал думать в эту сторону ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 18:23 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109В нормальном, развесистом проекте... ....порождённом больной фантазией разработчика, который от балды создавал индексы на каждый чих, видимо, в силу привычки работы с Paradox и прочим DBase-м. Если для Вас такие проекты - норма, это диагноз. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 19:00 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, да, проекты из 200-500 таблиц, как-то норма. Если Вы работаете только с одной-двумя, то Вам это не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2012, 06:10 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109проекты из 200-500 таблиц, как-то норма. Если Вы работаете только с одной-двумя, то Вам это не надо. А вот с этого места подробнее, пожалуйста: как стратегия создания индексов зависит от количества таблиц в базе? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2012, 10:52 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, ну, в мускуле есть такая духитрость - на каждый ФК нужен индекс в дочерней таблице. И неважно, сколько разных значений в том поле будет. Вынь да положь ему индекс, вот и всё тут. Так что если у ТС куча связей... впрочем, я в этом сомневаюсь :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2012, 11:20 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
tanglirна каждый ФК нужен индекс в дочерней таблице. Индексы для поддержания ссылочной целостности это отдельная песня, но аффтар-то создаёт индексы на каждое поле, да ещё и не по одному. И при этом утверждает, что чем больше в БД таблиц, тем больше индексов надо создавать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2012, 13:43 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, мне нравится ваш троллинг. Где нашли про "каждое" поле? При реализации по ТЗ - также фантазируете или только тут? ;) Там було индексов ... многа, в том числе и по НЕСКОЛЬКУ НА ОДНО поле. И, как вам правильно указали - во-первых каждый внешний ключ в InnoDeBiloid - индексируется. Это раз, а если мне нужны составные уникальные индексы (например для вставки) - это ОТДЕЛЬНЫЙ индекс, а если мне нужны полнотекстовые для выборок - это тоже ОТДЕЛЬНЫЙ индекс, а если в отдельных (и как правило тяжелых запросах) надо иметь поиск с группировкой, то приходится иметь и сюда индекс ... потому как без индексов, ни мускуль, ни какая другая БД не пашут, и сносно работают только если вся БД целиком лезет в память. Кстати, а где вы видели проекты в 200-500 таблиц с небольшим количеством связей? У нас нормально джойнится от 5 до 20 таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2012, 14:03 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109Где нашли про "каждое" поле? Здесь . Arhat109если в отдельных (и как правило тяжелых запросах) надо иметь поиск с группировкой, то приходится иметь и сюда индекс Если мускуль хреново (медленно) сортирует или разработчик БД агрегирует миллиардные таблицы, это сугубо их проблемы. Не надо обобщать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2012, 14:18 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, поздравляю, но там - нет этого. И воббще, предлагаю прекратить троллинг. Тему ваще предлагаю закрыть, потому как ответ на поставленный вопрос дан и уже давно. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2012, 14:33 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109а если мне нужны составные уникальные индексы...то это странно, т.к. такой индекс по идее должен быть один (он же натуральный ПК). Ну либо таблица не нормализована, но в таком случае афтар ССЗБ. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2012, 18:19 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
tanglir, Во-первых, проекты такого размера, как правило, тянутся десятилетиями и там есть всё - и нормализованные и не очень и даже совсем не нормализованные куски данных. Сталкивался даже с сознательной денормализацией... под тем самым, любимым Paradox. Смотря кто, с каким набором знаний/навыков/умений и опыта это ваял, насколько был ограничен по времени, зачем оно было нужно сначала и к чему это всё привело потом... Во-вторых, в таких проектах, реально бывает по нескольку уникальных индексов (правильно в основном при денормализации), когда например, надо найти все письма, отправленные заданным комплектом отправителей, по заданной тематике (комбинации уникальны) в заданном диапазоне дат, а для другой выборки требуется выбрать письма, отправленные для комплекта получателей по тематикам (блин, опять уникальная комбинация...) и тоже в заданном диапазоне дат, например за последний год. И совсем неважно, как хранятся отправители, получатели и тематики писем - текстом или идентами из справочников... (например, переписка через портал покупателя с продавцом)... нормализовано (не знаю зачем - письмо оно и в африке письмо, места - хватает, выборка все равно по индексам)... и чё? Два уникальных индекса (ну не может одно письмо втыкаться повторно!) - вынь и положь. Да и быстрее должно быть как понимаю (структура индекса проще, не?). Понятно, что на самом деле уникальны тройки отправитель-тематика-получатель, но нужны - пары. В-третьих, абревиатура требует расшифровки. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 11:38 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109Сталкивался даже с сознательной денормализацией... под тем самым, любимым Paradox.Ну, там вообще удивляться ничему нельзя :) Arhat109Два уникальных индекса (ну не может одно письмо втыкаться повторно!) - вынь и положь. Да и быстрее должно быть как понимаю (структура индекса проще, не?).Обозначьте структуру данных - из этого потока сознания она непонятна. Как мне видится, есть письмо с, грубо говоря, 4 значимыми атрибутами: отправитель, получатель, дата, тематика (тут может быть набор тем 1:М). Ну и куда тут может "одно письмо втыкаться повторно"? Arhat109В-третьих, абревиатура требует расшифровки. http://lurkmore.to/ССЗБ ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 12:11 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
tanglir, пример из реального проекту. "Письмо" - минимально так и есть 4 поля: from, to, subject, date. Утрировано, тематика и есть subject. Комбинация полей from,to,subject - уникальна. Но также, уникальны и пары from-subject и to-subject, а вот пара from-to может иметь много разных subject. Вот об ентом и речь. Когда надо из большой (достаточно) таблички выдрать данные - используются или тот или другой индекс. Почему не повесить на них признак уникальности? ИМХО, неуникальный индекс - должен быть всяко сложнее в своей структуре... а значит - дольше. Кстати, на практике, оба индекса были построены в порядке subject-to и subject-from... глюки оптимизатора - практически гарантированы. ;) Авторство не моё, но столкнуться пришлось... Можете обойтись одним индексом? Пасибки за ссылку, не знал. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 13:26 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109Комбинация полей from,to,subject - уникальна. Это с какого перепугу?! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 13:35 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109Можете обойтись одним индексом? Легко. В любой нормальной СУБД хватит одного индекса на Subject. И может быть ещё один на To. Но мускулистам, видимо, такое и не снилось... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 13:39 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
pkarklinArhat109Комбинация полей from,to,subject - уникальна. Это с какого перепугу?!а мне интереснее, с какого перепугу Arhat109уникальны и пары from-subjectТо есть если я написал одному адресату письмо с темой "превед", то всё, хана, остальным я не смогу такое же письмо написать?.. Dimitry SibiryakovНо мускулистам, видимо, такое и не снилосьДа нет, вообще-то ещё версия 5.1 умела (иногда) делать index intersect, то бишь использовать два отдельных индекса по двум полям (вместо одного составного). А в 5.5 афаир оптимизатору ещё мозги вправляли на эту тему... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 18:26 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
tanglir, да ни с какого перепугу, а по условиям бизнес-модели. Я ж внятно написал (и как народ читает?!?): 1. Переписка между покупателем и продавцом. Соответственно все письма хранятся. 2. subject - утрированно тематика письма. Один покупатель может написать одно письмо по данной тематике одному продавцу. Один продавец может ответить(!) письмом одной тематики (в ответ на ваш входящий номер) одному покупателю. Ещё, как пример: организация проведения тендеров. Тематики: получить заявку, подать документы, получить результат жеребьевки. и т.д. , если сильно "уплощенно". ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 19:30 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, ещё раз мои поздравления. Это насчет "любой нормальной СУБД". Любая нормальная (да и ненормальная) СУБД ложится, как только данные не лезут в память. Индексы для этого и придумали. Любая нормальная (... аналогично) ложится, как только индексы перестают лезть в память... Для этого придумали кластеры, репликации, и балансировщики нагрузок... В этой лесенке, узкое место определяется соотношением между объемом данных и баблом, потраченным на железо (и спецов) на котором эти данные вертются. Так, к примеру на 286 машинке с 16метрами ОЗУ - какая "нормальная" СУБД НЕ ляжет на таблицах, хотя бы 1млн записей? Не умеете, троллить - не беритесь. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 19:35 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109Один покупатель может написать одно письмо по данной тематике одному продавцу. Один продавец может ответить(!) письмом одной тематики (в ответ на ваш входящий номер) одному покупателю. А этот покупатель уже ни в коем случае не может ответить продавцу. Забавные у вас там отношения... Одноразовые. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 19:36 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, гы. А зачем? Запрос покупателя == ЗАКАЗ (он сам по себе уникален) . Ответ продавца == СЧЕТ. Фсё, "поезд ушел". А вот хранить надо. Ну или система рассылки уведомлений (по сути сильно похожа на любой спам)... аналогично. Заказчик - тематика - рассылка. Когда тематика контекстно зависит от получателя (каждой маше - свой пряник) - получаем аналогичные отношения. И таких примеров "по реальной жизни" - полно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 19:47 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109Любая нормальная (да и ненормальная) СУБД ложится, как только данные не лезут в память. Индексы для этого и придумали. Любая нормальная (... аналогично) ложится, как только индексы перестают лезть в память... Для этого придумали кластеры, репликации, и балансировщики нагрузок... Да, придумали. Пользователи MySQL. Которые лепят такие индексы, которые больше чем сами данные. Остальные придумали префиксное сжатие в индексах. В результате индекс для 3720051796 записей имеет размер менее 30 гигабайт и легко влазит в память любого сервера среднего уровня целиком. При том, что целиком индексы никто и не использует. Для этого придумали структуры по имени "деревья". Но, как я уже сказал, мускулистам такое, видимо, недоступно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 19:49 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109Запрос покупателя == ЗАКАЗ (он сам по себе уникален) . Ответ продавца == СЧЕТ. Фсё, "поезд ушел". Слово "рекламация" Вам, похоже, не знакомо. И с ситуациями, когда заказы уточняются, а счета выставляются повторно Вы тоже не сталкивались. Завидую. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 19:53 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, я привел только часть того что "придумали"... на вопрос ответите, или так проглотите? :) Свой сервак, я уже приводил... он к 286 как-то ближее будет... ежели вчё. И с табличками от пары миллионов записей - справляется вполне себе нормально. И их там далеко не одна. Только сервис учета статистики посещений - около 20 таблиц. И только туда ежедневно валится по 100к записей, да но секольку раз (до 6 в среднем), каждая 10-я - апдейтятся. Это "между работой". ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 19:57 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, ещё раз повторюсь: "сильно уплощенно"... ну вы же не думаете, что я сейчас весь бизнес процесс вам распишу по методам, классам и хранилищам? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 19:59 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109Любая нормальная (да и ненормальная) СУБД ложится, как только данные не лезут в память. Индексы для этого и придумали. Любая нормальная (... аналогично) ложится, как только индексы перестают лезть в память... Для этого придумали кластеры, репликации, и балансировщики нагрузок... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 20:24 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
авторИ только туда ежедневно валится по 100к записей Одна запись в секунду. авторда но секольку раз (до 6 в среднем), каждая 10-я - апдейтятся. И апдейт раз в полторы секунды. Работа... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 20:43 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat10Любая нормальная (да и ненормальная) СУБД ложится, как только данные не лезут в память. Индексы для этого и придумали. Любая нормальная (... аналогично) ложится, как только индексы перестают лезть в память... Для этого придумали кластеры, репликации, и балансировщики нагрузок... а бывают сервера с 7 тб оперативки? у нас сейчас такая база, а какая железяка я не знаю я чего-то вообще отстал от того что в мире железа бывает, если кому не сложно напишите пару слов до чего прогресс дошел ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 22:07 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
SergSuper, Ну, из среднего уровня HP DL 980 G7: Up to 8 CPU x 10 Core, 4 Tb RAM. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 22:25 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
pkarklinSergSuper, Ну, из среднего уровня HP DL 980 G7: Up to 8 CPU x 10 Core, 4 Tb RAM.а из верхнего уровня? у нас чего-то очень хорошее должно быть ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2012, 23:20 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
SergSuperа из верхнего уровня? у нас чего-то очень хорошее должно быть Боюсь предположить... Неужели "оно"... HP Superdomе... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 00:01 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
pkarklinSergSuper, Ну, из среднего уровня HP DL 980 G7: Up to 8 CPU x 10 Core, 4 Tb RAM. Хм, 128 слотов DDR3 DIMM, это по 128/8 = 16 слотов на проц, и при 4х канальной памяти 16/4 = 4 слота на один канал. Не слабо так они поназапихали :) И все это в 8U, удельно по 1 CPU на 1 U, а вот это не очень много :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2012, 14:26 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
pkarklin, Нет. Это не работа. Это "между работой". Поскольку основная задача сервера - отдавать данные, а не писать их... отдача в районе 100к страниц в сутки (с учетом ботов, живых посетителей около 20к). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2012, 21:19 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109отдача в районе 100к страниц в сутки Да, да... как уже сказал pkarklin, это же целая страница в секунду!.. Аффигительная нагрузка. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2012, 21:40 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
Arhat109pkarklin, Нет. Это не работа. Это "между работой". Поскольку основная задача сервера - отдавать данные, а не писать их... отдача в районе 100к страниц в сутки (с учетом ботов, живых посетителей около 20к). В пике сколько страниц в секунду? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2012, 21:44 |
|
MySql vs Postgre vs ?
|
|||
---|---|---|---|
#18+
страниц в секунду, в типовых пиках - до 5, иногда, за год наблюдал несколько раз - около 50. Один раз (за последний год) на протяжении 2.5 часов шла отдача по 170 в секунду (с 3-х ip). Правда, через 2.5 часа сервак - лег минут на 10. Вот, в пятницу выложил новую карточку товара (урлы типа mediam.ru/g-...). Теперь "всего": 0. Запись (логирование статистики запроса) 1. Выборка основных данных по урл (собственно товар) 2 , выборка баннеров (1 запрос с джойном 4-х таблиц) 3 , выборка голосовалок (запрос с джойном 2-х таблиц) 4 , выборка данных для показа (2 запроса с джойном 15 таблиц, в т.ч. "больших") 5 , выборка статистики страницы (1 запрос к очень большим таблицам - 1..5млн записей) 6 , выборка статистики поисковых фраз (1 запрос, джойн 5 таблиц того же объема) 7 , выборка "похожих" товаров (1 запрос, джойн 4 таблиц, 3 БД) 8 , выборка "близких (под)разделов", если надо ( 1 запрос, джойн 5таблиц). Скорость отдачи без кеширований - около 0.2 .. 0.8сек в зависимости от количества отданного. С кешированием 0.1 - 0.2сек. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2012, 09:37 |
|
|
start [/forum/topic.php?all=1&fid=35&tid=1552532]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
113ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 197ms |
0 / 0 |